Class PKCS12Attribute
- java.lang.Object
-
- java.security.PKCS12Attribute
- All Implemented Interfaces:
KeyStore.Entry.Attribute
public final class PKCS12Attribute extends Object implements KeyStore.Entry.Attribute
An attribute associated with a PKCS12 keystore entry. The attribute name is an ASN.1 Object Identifier and the attribute value is a set of ASN.1 types.
- Since:
- 1.8
Constructor Summary
Constructor | Description |
---|---|
PKCS12Attribute(byte[] encoded) | Constructs a PKCS12 attribute from its ASN.1 DER encoding. |
PKCS12Attribute(String name,
String value) | Constructs a PKCS12 attribute from its name and value. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
boolean | equals(Object obj) | Compares this |
byte[] | getEncoded() | Returns the attribute's ASN.1 DER encoding. |
String | getName() | Returns the attribute's ASN.1 Object Identifier represented as a list of dot-separated integers. |
String | getValue() | Returns the attribute's ASN.1 DER-encoded value as a string. |
int | hashCode() | Returns the hashcode for this |
String | toString() | Returns a string representation of this |
Methods declared in class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Constructor Detail
PKCS12Attribute
public PKCS12Attribute(String name, String value)
Constructs a PKCS12 attribute from its name and value. The name is an ASN.1 Object Identifier represented as a list of dot-separated integers. A string value is represented as the string itself. A binary value is represented as a string of colon-separated pairs of hexadecimal digits. Multi-valued attributes are represented as a comma-separated list of values, enclosed in square brackets. See Arrays.toString(java.lang.Object[])
.
A string value will be DER-encoded as an ASN.1 UTF8String and a binary value will be DER-encoded as an ASN.1 Octet String.
- Parameters:
-
name
- the attribute's identifier -
value
- the attribute's value - Throws:
-
NullPointerException
- ifname
orvalue
isnull
-
IllegalArgumentException
- ifname
orvalue
is incorrectly formatted
PKCS12Attribute
public PKCS12Attribute(byte[] encoded)
Constructs a PKCS12 attribute from its ASN.1 DER encoding. The DER encoding is specified by the following ASN.1 definition:
Attribute ::= SEQUENCE { type AttributeType, values SET OF AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANY defined by type
- Parameters:
-
encoded
- the attribute's ASN.1 DER encoding. It is cloned to prevent subsequent modificaion. - Throws:
-
NullPointerException
- ifencoded
isnull
-
IllegalArgumentException
- ifencoded
is incorrectly formatted
Method Detail
getName
public String getName()
Returns the attribute's ASN.1 Object Identifier represented as a list of dot-separated integers.
- Specified by:
-
getName
in interfaceKeyStore.Entry.Attribute
- Returns:
- the attribute's identifier
getValue
public String getValue()
Returns the attribute's ASN.1 DER-encoded value as a string. An ASN.1 DER-encoded value is returned in one of the following String
formats:
- the DER encoding of a basic ASN.1 type that has a natural string representation is returned as the string itself. Such types are currently limited to BOOLEAN, INTEGER, OBJECT IDENTIFIER, UTCTime, GeneralizedTime and the following six ASN.1 string types: UTF8String, PrintableString, T61String, IA5String, BMPString and GeneralString.
- the DER encoding of any other ASN.1 type is not decoded but returned as a binary string of colon-separated pairs of hexadecimal digits.
Arrays.toString(java.lang.Object[])
. - Specified by:
-
getValue
in interfaceKeyStore.Entry.Attribute
- Returns:
- the attribute value's string encoding
getEncoded
public byte[] getEncoded()
Returns the attribute's ASN.1 DER encoding.
- Returns:
- a clone of the attribute's DER encoding
equals
public boolean equals(Object obj)
Compares this PKCS12Attribute
and a specified object for equality.
- Overrides:
-
equals
in classObject
- Parameters:
-
obj
- the comparison object - Returns:
- true if
obj
is aPKCS12Attribute
and their DER encodings are equal. - See Also:
-
Object.hashCode()
,HashMap
hashCode
public int hashCode()
Returns the hashcode for this PKCS12Attribute
. The hash code is computed from its DER encoding.
- Overrides:
-
hashCode
in classObject
- Returns:
- the hash code
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
toString
public String toString()
Returns a string representation of this PKCS12Attribute
.