java.lang.Object
java.security.PKCS12Attribute
- All Implemented Interfaces:
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
ConstructorDescriptionPKCS12Attribute(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 TypeMethodDescriptionboolean
Compares thisPKCS12Attribute
and a specified object for equality.byte[]
Returns the attribute's ASN.1 DER encoding.getName()
Returns the attribute's ASN.1 Object Identifier represented as a list of dot-separated integers.getValue()
Returns the attribute's ASN.1 DER-encoded value as a string.int
hashCode()
Returns the hashcode for thisPKCS12Attribute
.toString()
Returns a string representation of thisPKCS12Attribute
.
-
Constructor Details
-
PKCS12Attribute
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 modification.- Throws:
NullPointerException
- ifencoded
isnull
IllegalArgumentException
- ifencoded
is incorrectly formatted
-
-
Method Details
-
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
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
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)
-
toString
Returns a string representation of thisPKCS12Attribute
.
-