com.ibm.security.pkcs9
Class ContentType

java.lang.Object
  |
  +--com.ibm.security.pkcsutil.PKCSDerObject
        |
        +--com.ibm.security.pkcs9.PKCS9DerObject
              |
              +--com.ibm.security.pkcs9.ContentType

public final class ContentType
extends PKCS9DerObject
implements Cloneable

Implements the ASN.1 ContentType type.

A ContentType attribute must have a single attribute value.

ContentType ::= OBJECT IDENTIFIER

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


Fields inherited from class com.ibm.security.pkcsutil.PKCSDerObject
provider
 
Constructor Summary
ContentType(byte[] der)
          Create a ContentType object with a DER byte array.
ContentType(byte[] der, String provider)
          Create a ContentType object with a DER byte array.
ContentType(ObjectIdentifier oid)
          Create a ContentType object with an ObjectIdentifier.
ContentType(ObjectIdentifier oid, String provider)
          Create a ContentType object with an ObjectIdentifier.
ContentType(String oid)
          Create a ContentType object with a String representation of the ObjectIdentifier.
ContentType(String filename, boolean base64)
          Create a ContentType with the filename of the DER-encoded or BASE64-encoded object.
ContentType(String filename, boolean base64, String provider)
          Create a ContentType with the filename of the DER-encoded or BASE64-encoded object.
ContentType(String oid, String provider)
          Create a ContentType object with a String representation of the ObjectIdentifier.
 
Method Summary
 Object clone()
          Creates a clone of this ContentType object.
protected  void decode(com.ibm.security.pkcs9.DerValue encoding)
          Initializes a ContentType object from a DerValue.
 void encode(OutputStream os)
          Encodes this object to an OutputStream.
 boolean equals(Object obj)
          Determines if this ContentType object is equivalent to the input object.
 String getAttributeName()
          Returns a String indicating the name of the attribute.
 ObjectIdentifier getObjectIdentifier()
          Returns the ObjectIdentifer for the ContentType attribute.
 ObjectIdentifier getOID()
          Returns the oid of this ContentType object.
 Object getValue()
          Calls the getOID method.
 boolean isSingleValued()
          Returns true.
 boolean isTagValid(byte tag)
          Returns a boolean indicating if the tag is valid for this object.
 String toString()
          Returns a string representation of this ContentType object.
 
Methods inherited from class com.ibm.security.pkcs9.PKCS9DerObject
getName, getPKCSAttribute
 
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

ContentType

public ContentType(byte[] der)
            throws IOException
Create a ContentType object with a DER byte array.
Parameters:
der - a DER byte array of a ContentType object.
Throws:
IOException - on decoding errors.

ContentType

public ContentType(byte[] der,
                   String provider)
            throws IOException
Create a ContentType object with a DER byte array.
Parameters:
der - a DER byte array of a ContentType object.
provider - the provider to be used.
Throws:
IOException - on decoding errors.

ContentType

public ContentType(String oid)
            throws IOException
Create a ContentType object with a String representation of the ObjectIdentifier.
Parameters:
oid - String of the ObjectIdentifier

ContentType

public ContentType(String oid,
                   String provider)
            throws IOException
Create a ContentType object with a String representation of the ObjectIdentifier.
Parameters:
oid - String of the ObjectIdentifier
provider - the provider to be used

ContentType

public ContentType(ObjectIdentifier oid)
Create a ContentType object with an ObjectIdentifier.
Parameters:
oid - ObjectIdentifier.

ContentType

public ContentType(ObjectIdentifier oid,
                   String provider)
Create a ContentType object with an ObjectIdentifier.
Parameters:
oid - ObjectIdentifier.
provider - the provider to be used.

ContentType

public ContentType(String filename,
                   boolean base64)
            throws IOException
Create a ContentType 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.

ContentType

public ContentType(String filename,
                   boolean base64,
                   String provider)
            throws IOException
Create a ContentType 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 - the provider to be used
Throws:
IOException - on decoding errors.
Method Detail

clone

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

equals

public boolean equals(Object obj)
Determines if this ContentType 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.

getObjectIdentifier

public ObjectIdentifier getObjectIdentifier()
Returns the ObjectIdentifer for the ContentType attribute.
Overrides:
getObjectIdentifier in class PKCSDerObject
Returns:
the ObjectIdentifer for the ContentType attribute.

encode

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

getOID

public ObjectIdentifier getOID()
Returns the oid of this ContentType object. The oid is an immutable object.
Overrides:
getOID in class PKCS9DerObject
Returns:
ObjectIdentifier

getValue

public Object getValue()
Calls the getOID method. Standard method to access the value of the PKCS #9 object.
Overrides:
getValue in class PKCS9DerObject

isTagValid

public boolean isTagValid(byte tag)
Returns a boolean indicating if the tag is valid for this object.
Overrides:
isTagValid in class PKCS9DerObject
Returns:
true if tag_ObjectId, false otherwise.

isSingleValued

public boolean isSingleValued()
Returns true. ContentType must have a single attribute value.
Overrides:
isSingleValued in class PKCS9DerObject
Returns:
true

getAttributeName

public String getAttributeName()
Returns a String indicating the name of the attribute.
Overrides:
getAttributeName in class PKCS9DerObject
Returns:
name of the ContentType attribute.

toString

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

decode

protected void decode(com.ibm.security.pkcs9.DerValue encoding)
               throws IOException
Initializes a ContentType object from a DerValue. The DER encoding must be in the format specified by the ContentType ASN.1 notation.
Overrides:
decode in class PKCS9DerObject
Parameters:
encoding - a DER-encoded ContentType object.
Throws:
IOException - on parsing error.