public class PKCS9Attribute extends java.lang.Object implements DerEncoder
Constructor and Description |
---|
PKCS9Attribute(DerValue derVal)
Construct a PKCS9Attribute from its encoding on an input
stream.
|
PKCS9Attribute(ObjectIdentifier oid,
java.lang.Object value)
Construct an attribute object from the attribute's OID and
value.
|
PKCS9Attribute(java.lang.String name,
java.lang.Object value)
Construct an attribute object from the attribute's name and
value.
|
Modifier and Type | Method and Description |
---|---|
void |
derEncode(java.io.OutputStream out)
Write the DER encoding of this attribute to an output stream.
|
java.lang.String |
getName()
Return the name of this attribute.
|
static java.lang.String |
getName(ObjectIdentifier oid)
Return the attribute name for a given OID or null if we don't recognize
the oid.
|
ObjectIdentifier |
getOID()
Return the OID of this attribute.
|
static ObjectIdentifier |
getOID(java.lang.String name)
Return the OID for a given attribute name or null if we don't recognize
the name.
|
java.lang.Object |
getValue()
Get the value of this attribute.
|
boolean |
isSingleValued()
Show whether this attribute is single-valued.
|
java.lang.String |
toString()
Returns a string representation of this attribute.
|
public static final ObjectIdentifier EMAIL_ADDRESS_OID
public static final ObjectIdentifier UNSTRUCTURED_NAME_OID
public static final ObjectIdentifier CONTENT_TYPE_OID
public static final ObjectIdentifier MESSAGE_DIGEST_OID
public static final ObjectIdentifier SIGNING_TIME_OID
public static final ObjectIdentifier COUNTERSIGNATURE_OID
public static final ObjectIdentifier CHALLENGE_PASSWORD_OID
public static final ObjectIdentifier UNSTRUCTURED_ADDRESS_OID
public static final ObjectIdentifier EXTENDED_CERTIFICATE_ATTRIBUTES_OID
public static final ObjectIdentifier ISSUER_AND_SERIALNUMBER_OID
public static final ObjectIdentifier PASSWORD_CHECK_OID
public static final ObjectIdentifier PUBLIC_KEY_OID
public static final ObjectIdentifier SIGNING_DESCRIPTION_OID
public static final ObjectIdentifier EXTENSION_REQUEST_OID
public static final java.lang.String EMAIL_ADDRESS_STR
public static final java.lang.String UNSTRUCTURED_NAME_STR
public static final java.lang.String CONTENT_TYPE_STR
public static final java.lang.String MESSAGE_DIGEST_STR
public static final java.lang.String SIGNING_TIME_STR
public static final java.lang.String COUNTERSIGNATURE_STR
public static final java.lang.String CHALLENGE_PASSWORD_STR
public static final java.lang.String UNSTRUCTURED_ADDRESS_STR
public static final java.lang.String EXTENDED_CERTIFICATE_ATTRIBUTES_STR
public static final java.lang.String ISSUER_AND_SERIALNUMBER_STR
public static final java.lang.String PASSWORD_CHECK_STR
public static final java.lang.String PUBLIC_KEY_STR
public static final java.lang.String SIGNING_DESCRIPTION_STR
public static final java.lang.String EXTENSION_REQUEST_STR
public PKCS9Attribute(ObjectIdentifier oid, java.lang.Object value) throws java.lang.IllegalArgumentException
The following table gives the class that value
must have for a given attribute.
OID | Attribute Type Name | Kind | Value Class |
---|---|---|---|
1.2.840.113549.1.9.1 | EmailAddress | Multiple-valued | String[] |
1.2.840.113549.1.9.2 | UnstructuredName | Multiple-valued | String[] |
1.2.840.113549.1.9.3 | ContentType | Single-valued | ObjectIdentifier |
1.2.840.113549.1.9.4 | MessageDigest | Single-valued | byte[] |
1.2.840.113549.1.9.5 | SigningTime | Single-valued | Date |
1.2.840.113549.1.9.6 | Countersignature | Multiple-valued | SignerInfo[] |
1.2.840.113549.1.9.7 | ChallengePassword | Single-valued | String |
1.2.840.113549.1.9.8 | UnstructuredAddress | Single-valued | String[] |
1.2.840.113549.1.9.9 | ExtendedCertificateAttributes | Multiple-valued | (not supported) |
1.2.840.113549.1.9.10 | IssuerAndSerialNumber | Single-valued | (not supported) |
1.2.840.113549.1.9.11 | PasswordCheck | Single-valued | (not supported) |
1.2.840.113549.1.9.12 | PublicKey | Single-valued | (not supported) |
1.2.840.113549.1.9.13 | SigningDescription | Single-valued | (not supported) |
1.2.840.113549.1.9.14 | ExtensionRequest | Single-valued | Sequence |
java.lang.IllegalArgumentException
public PKCS9Attribute(java.lang.String name, java.lang.Object value) throws java.lang.IllegalArgumentException
The following table gives the class that value
must have for a given attribute. Reasonable variants
of these attributes are accepted; in particular, case does not matter.
OID | Attribute Type Name | Kind | Value Class |
---|---|---|---|
1.2.840.113549.1.9.1 | EmailAddress | Multiple-valued | String[] |
1.2.840.113549.1.9.2 | UnstructuredName | Multiple-valued | String[] |
1.2.840.113549.1.9.3 | ContentType | Single-valued | ObjectIdentifier |
1.2.840.113549.1.9.4 | MessageDigest | Single-valued | byte[] |
1.2.840.113549.1.9.5 | SigningTime | Single-valued | Date |
1.2.840.113549.1.9.6 | Countersignature | Multiple-valued | SignerInfo[] |
1.2.840.113549.1.9.7 | ChallengePassword | Single-valued | String |
1.2.840.113549.1.9.8 | UnstructuredAddress | Single-valued | String[] |
1.2.840.113549.1.9.9 | ExtendedCertificateAttributes | Multiple-valued | (not supported) |
1.2.840.113549.1.9.10 | IssuerAndSerialNumber | Single-valued | (not supported) |
1.2.840.113549.1.9.11 | PasswordCheck | Single-valued | (not supported) |
1.2.840.113549.1.9.12 | PublicKey | Single-valued | (not supported) |
1.2.840.113549.1.9.13 | SigningDescription | Single-valued | (not supported) |
1.2.840.113549.1.9.14 | ExtensionRequest | Single-valued | Sequence |
java.lang.IllegalArgumentException
- if the name
is not recognized of the value
has the wrong type.public PKCS9Attribute(DerValue derVal) throws java.io.IOException
java.io.IOException
- on parsing error.public void derEncode(java.io.OutputStream out) throws java.io.IOException
N.B.: This method always encodes values of ChallengePassword and UnstructuredAddress attributes as ASN.1
PrintableString
s, without checking whether they should be encoded as T61String
s.
derEncode
in interface DerEncoder
out
- the stream on which the DER encoding is written.java.io.IOException
public java.lang.Object getValue()
The following table gives the class of the value returned, depending on the type of this attribute.
OID | Attribute Type Name | Kind | Value Class |
---|---|---|---|
1.2.840.113549.1.9.1 | EmailAddress | Multiple-valued | String[] |
1.2.840.113549.1.9.2 | UnstructuredName | Multiple-valued | String[] |
1.2.840.113549.1.9.3 | ContentType | Single-valued | ObjectIdentifier |
1.2.840.113549.1.9.4 | MessageDigest | Single-valued | byte[] |
1.2.840.113549.1.9.5 | SigningTime | Single-valued | Date |
1.2.840.113549.1.9.6 | Countersignature | Multiple-valued | SignerInfo[] |
1.2.840.113549.1.9.7 | ChallengePassword | Single-valued | String |
1.2.840.113549.1.9.8 | UnstructuredAddress | Single-valued | String[] |
1.2.840.113549.1.9.9 | ExtendedCertificateAttributes | Multiple-valued | (not supported) |
1.2.840.113549.1.9.10 | IssuerAndSerialNumber | Single-valued | (not supported) |
1.2.840.113549.1.9.11 | PasswordCheck | Single-valued | (not supported) |
1.2.840.113549.1.9.12 | PublicKey | Single-valued | (not supported) |
1.2.840.113549.1.9.13 | SigningDescription | Single-valued | (not supported) |
1.2.840.113549.1.9.14 | ExtensionRequest | Single-valued | Sequence |
public boolean isSingleValued()
public ObjectIdentifier getOID()
public java.lang.String getName()
public static ObjectIdentifier getOID(java.lang.String name)
public static java.lang.String getName(ObjectIdentifier oid)
public java.lang.String toString()
toString
in class java.lang.Object