Package org.apache.harmony.security.x509
Class Extensions
java.lang.Object
org.apache.harmony.security.x509.Extensions
public final class Extensions extends Object
The class encapsulates the ASN.1 DER encoding/decoding work
with the Extensions part of X.509 certificate
(as specified in RFC 3280 -
Internet X.509 Public Key Infrastructure.
Certificate and Certificate Revocation List (CRL) Profile.
http://www.ietf.org/rfc/rfc3280.txt):
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
-
Field Summary
-
Constructor Summary
Constructors Constructor Description Extensions()Constructs an object representing the value of Extensions.Extensions(List<Extension> extensions) -
Method Summary
Modifier and Type Method Description voiddumpValue(StringBuilder sb, String prefix)booleanequals(Object other)Compares this instance with the specified object and indicates if they are equal.Set<String>getCriticalExtensions()Returns the list of critical extensions.byte[]getEncoded()Returns ASN.1 encoded form of this X.509 Extensions value.ExtensiongetExtensionByOID(String oid)Returns the values of extensions.Set<String>getNonCriticalExtensions()Returns the list of critical extensions.inthashCode()Returns an integer hash code for this object.booleanhasUnsupportedCritical()intsize()intvalueOfBasicConstraints()Returns the value of Basic Constraints Extension (OID = 2.5.29.19).X500PrincipalvalueOfCertificateIssuerExtension()Returns the value of Certificate Issuer Extension (OID = 2.5.29.29).List<String>valueOfExtendedKeyUsage()Returns the value of Extended Key Usage extension (OID == 2.5.29.37).Collection<List<?>>valueOfIssuerAlternativeName()Returns the value of Issuer Alternative Name Extension (OID = 2.5.29.18).boolean[]valueOfKeyUsage()Returns the value of Key Usage extension (OID == 2.5.29.15).Collection<List<?>>valueOfSubjectAlternativeName()Returns the value of Subject Alternative Name (OID = 2.5.29.17).
-
Field Details
-
ASN1
Custom X.509 Extensions decoder.
-
-
Constructor Details
-
Extensions
public Extensions()Constructs an object representing the value of Extensions. -
Extensions
-
-
Method Details
-
size
public int size() -
getCriticalExtensions
Returns the list of critical extensions. -
getNonCriticalExtensions
Returns the list of critical extensions. -
hasUnsupportedCritical
public boolean hasUnsupportedCritical() -
getExtensionByOID
Returns the values of extensions. -
valueOfKeyUsage
public boolean[] valueOfKeyUsage()Returns the value of Key Usage extension (OID == 2.5.29.15). The ASN.1 definition of Key Usage Extension is:id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 } KeyUsage ::= BIT STRING { digitalSignature (0), nonRepudiation (1), keyEncipherment (2), dataEncipherment (3), keyAgreement (4), keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) }(as specified in RFC 3280)- Returns:
- the value of Key Usage Extension if it is in the list, and null if there is no such extension or its value can not be decoded otherwise. Note, that the length of returned array can be greater than 9.
-
valueOfExtendedKeyUsage
Returns the value of Extended Key Usage extension (OID == 2.5.29.37). The ASN.1 definition of Extended Key Usage Extension is:id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 } ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId KeyPurposeId ::= OBJECT IDENTIFIER(as specified in RFC 3280)- Returns:
- the list with string representations of KeyPurposeId's OIDs and null
- Throws:
IOException- if extension was incorrectly encoded.
-
valueOfBasicConstraints
public int valueOfBasicConstraints()Returns the value of Basic Constraints Extension (OID = 2.5.29.19). The ASN.1 definition of Basic Constraints Extension is:id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 } BasicConstraints ::= SEQUENCE { cA BOOLEAN DEFAULT FALSE, pathLenConstraint INTEGER (0..MAX) OPTIONAL }(as specified in RFC 3280) -
valueOfSubjectAlternativeName
Returns the value of Subject Alternative Name (OID = 2.5.29.17). The ASN.1 definition for Subject Alternative Name is:id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 } SubjectAltName ::= GeneralNames(as specified in RFC 3280)- Returns:
- Returns the collection of pairs: (Integer (tag), Object (name value)) if extension presents, and null if does not.
- Throws:
IOException
-
valueOfIssuerAlternativeName
Returns the value of Issuer Alternative Name Extension (OID = 2.5.29.18). The ASN.1 definition for Issuer Alternative Name is:id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 } IssuerAltName ::= GeneralNames(as specified in RFC 3280)- Returns:
- Returns the collection of pairs: (Integer (tag), Object (name value)) if extension presents, and null if does not.
- Throws:
IOException
-
valueOfCertificateIssuerExtension
Returns the value of Certificate Issuer Extension (OID = 2.5.29.29). It is a CRL entry extension and contains the GeneralNames describing the issuer of revoked certificate. Its ASN.1 notation is as follows:id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 } certificateIssuer ::= GeneralNames(as specified in RFC 3280)- Returns:
- the value of Certificate Issuer Extension
- Throws:
IOException
-
getEncoded
public byte[] getEncoded()Returns ASN.1 encoded form of this X.509 Extensions value. -
equals
Description copied from class:ObjectCompares this instance with the specified object and indicates if they are equal. In order to be equal,omust represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.The default implementation returns
trueonly ifthis == o. See Writing a correctequalsmethod if you intend implementing your ownequalsmethod.The general contract for the
equalsandObject.hashCode()methods is that ifequalsreturnstruefor any two objects, thenhashCode()must return the same value for these objects. This means that subclasses ofObjectusually override either both methods or neither of them.- Overrides:
equalsin classObject- Parameters:
other- the object to compare this instance with.- Returns:
trueif the specified object is equal to thisObject;falseotherwise.- See Also:
Object.hashCode()
-
hashCode
public int hashCode()Description copied from class:ObjectReturns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)returnstruemust return the same hash code value. This means that subclasses ofObjectusually override both methods or neither method.Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCodemethod if you intend implementing your ownhashCodemethod.- Overrides:
hashCodein classObject- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-
dumpValue
-