com.ibm.security.pkcs12
Class CrlBag

java.lang.Object
  |
  +--com.ibm.security.pkcsutil.PKCSDerObject
        |
        +--com.ibm.security.pkcs12.CrlBag

public final class CrlBag
extends PKCSDerObject
implements Bag, Cloneable

Implements the PKCS #12 CrlBag data type, which is a container for for a certificate revocation list. X.509 CRLs are currently supported by the standard.

CrlBag objects are immutable; they cannot be changed once created.


Fields inherited from class com.ibm.security.pkcsutil.PKCSDerObject
provider
 
Constructor Summary
CrlBag(byte[] der)
          Create a CrlBag with a DER byte array.
CrlBag(byte[] der, String provider)
          Create a CrlBag with a DER byte array.
CrlBag(CRL crl)
          Create a CrlBag with the input CRL.
CrlBag(CRL crl, String provider)
          Create a CrlBag with the input CRL.
CrlBag(ObjectIdentifier oid, byte[] encoding)
          Create a CrlBag with the input object identifier and CRL encoding.
CrlBag(ObjectIdentifier oid, byte[] encoding, String provider)
          Create a CrlBag with the input object identifier and CRL encoding.
CrlBag(String filename, boolean base64)
          Create a CrlBag with the filename of the DER-encoded or BASE64-encoded object.
CrlBag(String filename, boolean base64, String provider)
          Create a CrlBag with the filename of the DER-encoded or BASE64-encoded object.
 
Method Summary
 Object clone()
          Creates a clone of this CrlBag object.
protected  void decode(com.ibm.security.pkcs12.DerValue encoding)
          Initialize a CrlBag object from an input stream.
 void encode(OutputStream out)
          Encodes this object to a DER OutputStream.
 boolean equals(Object other)
          Determines if this CrlBag object is equivalent to the input object.
 byte[] getEncodedValue()
          Returns the DER-encoded contents of this object.
 String getName()
          Returns the common name for this bag type: "CrlBag".
 ObjectIdentifier getObjectIdentifier()
          Returns a copy of the object identifier for this PKCS #12 bag.
 Object getValue()
          Returns a copy of the contents of this PKCS #12 bag.
 String toString()
          Returns a string representation of this CrlBag object.
 
Methods inherited from class com.ibm.security.pkcsutil.PKCSDerObject
decode, decode, encode, hashCode, read, readBASE64, write, write, writeBASE64
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CrlBag

public CrlBag(CRL crl)
       throws PKCSException
Create a CrlBag with the input CRL. Currently, only CRLs that extend java.security.cert.X509CRL are supported.
Parameters:
crl - a CRL object.
Throws:
PKCSException - if the CRL has an invalid format.

CrlBag

public CrlBag(CRL crl,
              String provider)
       throws PKCSException
Create a CrlBag with the input CRL. Currently, only CRLs that extend java.security.cert.X509CRL are supported.
Parameters:
crl - a CRL object.
provider - a provider to be used
Throws:
PKCSException - if the CRL has an invalid format.

CrlBag

public CrlBag(ObjectIdentifier oid,
              byte[] encoding)
Create a CrlBag with the input object identifier and CRL encoding. The encoding must be the DER-encoding for an X.509 CRL if the OID is for an X.509 CrlBag.
Parameters:
oid - an CrlBag object identifier. Currently, only X.509 CRLs are supported.
encoding - a CRL DER-encoding.
Throws:
IllegalArgumentException - if the OID or encoding is invalid.

CrlBag

public CrlBag(ObjectIdentifier oid,
              byte[] encoding,
              String provider)
Create a CrlBag with the input object identifier and CRL encoding. The encoding must be the DER-encoding for an X.509 CRL if the OID is for an X.509 CrlBag.
Parameters:
oid - an CrlBag object identifier. Currently, only X.509 CRLs are supported.
encoding - a CRL DER-encoding.
provider - a provider to be used.
Throws:
IllegalArgumentException - if the OID or encoding is invalid.

CrlBag

public CrlBag(byte[] der)
       throws IOException
Create a CrlBag with a DER byte array. The byte array must represent a DER-encoded CrlBag object.
Parameters:
der - a byte array with a DER-encoded CrlBag object.
Throws:
IOException - on parsing errors.
IllegalArgumentException - if the encoded OID is invalid.

CrlBag

public CrlBag(byte[] der,
              String provider)
       throws IOException
Create a CrlBag with a DER byte array. The byte array must represent a DER-encoded CrlBag object.
Parameters:
der - a byte array with a DER-encoded CrlBag object.
provider - a provider to be used.
Throws:
IOException - on parsing errors.
IllegalArgumentException - if the encoded OID is invalid.

CrlBag

public CrlBag(String filename,
              boolean base64)
       throws IOException
Create a CrlBag with the filename of the DER-encoded or BASE64-encoded object.
Parameters:
filename - name of the DER-encoded or base64-encoded object
base64 - true if BASE64-encoded, false if DER-encoded
Throws:
IOException - on decoding errors.

CrlBag

public CrlBag(String filename,
              boolean base64,
              String provider)
       throws IOException
Create a CrlBag with the filename of the DER-encoded or BASE64-encoded object.
Parameters:
filename - name of the DER-encoded or base64-encoded object
base64 - true if BASE64-encoded, false if DER-encoded
provider - a provider to be used
Throws:
IOException - on decoding errors.
Method Detail

encode

public void encode(OutputStream out)
            throws IOException
Encodes this object to a DER OutputStream.
Overrides:
encode in class PKCSDerObject
Parameters:
out - the DER OutputStream to write the encoded data to.
Throws:
IOException - on encoding errors.

getObjectIdentifier

public ObjectIdentifier getObjectIdentifier()
Returns a copy of the object identifier for this PKCS #12 bag.
Specified by:
getObjectIdentifier in interface Bag
Overrides:
getObjectIdentifier in class PKCSDerObject
Returns:
the ObjectIdentifier for this bag.

getValue

public Object getValue()
Returns a copy of the contents of this PKCS #12 bag. The type of the contents object is an X.509 certificate revocation list.
Specified by:
getValue in interface Bag
Returns:
the contents for this bag.

getEncodedValue

public byte[] getEncodedValue()
Returns the DER-encoded contents of this object.
Specified by:
getEncodedValue in interface Bag
Returns:
the DER-encoded CRL of this bag. Null may be returned if the CRL cannot be encoded.

getName

public String getName()
Returns the common name for this bag type: "CrlBag".
Specified by:
getName in interface Bag
Returns:
the name of this bag.

equals

public boolean equals(Object other)
Determines if this CrlBag object is equivalent to the input object.
Overrides:
equals in class PKCSDerObject
Parameters:
other - the object to compare this one to.
Returns:
true, if the two objects are equivalent, false otherwise.

clone

public Object clone()
Creates a clone of this CrlBag object.
Overrides:
clone in class Object
Returns:
clone of this CrlBag object.

toString

public String toString()
Returns a string representation of this CrlBag object.
Overrides:
toString in class PKCSDerObject
Returns:
a string representation of this object.

decode

protected void decode(com.ibm.security.pkcs12.DerValue encoding)
               throws IOException
Initialize a CrlBag object from an input stream. The data on that input stream must be a DER-encoded CrlBag object.
Parameters:
encoding - an input stream with a DER-encoded CrlBag object.
Throws:
IOException - on parsing errors.
IllegalArgumentException - if the encoded OID is invalid.