- 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
Constructors 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
Compares thisPKCS12Attribute
and a specified object for equality.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 thisPKCS12Attribute
.String
toString()
Returns a string representation of thisPKCS12Attribute
.
-
-
-
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. SeeArrays.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 identifiervalue
- 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 followingString
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 thisPKCS12Attribute
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 thisPKCS12Attribute
. 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)
-
-