Class Extension
- java.lang.Object
-
- org.mozilla.jss.netscape.security.x509.Extension
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
AuthInfoAccessExtension
,AuthorityKeyIdentifierExtension
,BasicConstraintsExtension
,CertificateIssuerExtension
,CertificatePoliciesExtension
,CertificateRenewalWindowExtension
,CertificateScopeOfUseExtension
,CRLDistributionPointsExtension
,CRLNumberExtension
,CRLReasonExtension
,DeltaCRLIndicatorExtension
,ExtendedKeyUsageExtension
,FreshestCRLExtension
,GenericASN1Extension
,HoldInstructionExtension
,InhibitAnyPolicyExtension
,InvalidityDateExtension
,IssuerAlternativeNameExtension
,IssuingDistributionPointExtension
,KeyUsageExtension
,NameConstraintsExtension
,NSCCommentExtension
,NSCertTypeExtension
,OCSPNoCheckExtension
,PolicyConstraintsExtension
,PolicyMappingsExtension
,PresenceServerExtension
,PrivateKeyUsageExtension
,SubjectAlternativeNameExtension
,SubjectDirAttributesExtension
,SubjectInfoAccessExtension
,SubjectKeyIdentifierExtension
public class Extension extends java.lang.Object implements java.io.Serializable
Represent a X509 Extension Attribute.Extensions are addiitonal attributes which can be inserted in a X509 v3 certificate. For example a "Driving License Certificate" could have the driving license number as a extension.
Extensions are represented as a sequence of the extension identifier (Object Identifier), a boolean flag stating whether the extension is to be treated as being critical and the extension value itself (this is again a DER encoding of the extension value).
ASN.1 definition of Extension: Extension ::= SEQUENCE { ExtensionId OBJECT IDENTIFIER, critical BOOLEAN DEFAULT FALSE, extensionValue OCTET STRING }
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
critical
protected ObjectIdentifier
extensionId
protected byte[]
extensionValue
-
Constructor Summary
Constructors Constructor Description Extension()
Default constructor.Extension(DerValue derVal)
Constructs an extension from a DER encoded array of bytes.Extension(ObjectIdentifier extensionId, boolean critical, byte[] extensionValue)
Constructs an Extension from individual components of ObjectIdentifier, criticality and the DER encoded OctetString.Extension(Extension ext)
Constructs an Extension from another extension.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clearValue()
void
encode(DerOutputStream out)
Write the extension to the DerOutputStream.ObjectIdentifier
getExtensionId()
Returns the ObjectIdentifier of the extension.byte[]
getExtensionValue()
Returns the extension value as an byte array for further processing.boolean
isCritical()
Returns true if extension is critical.void
setCritical(boolean c)
void
setExtensionId(ObjectIdentifier oid)
void
setExtensionValue(byte[] value)
java.lang.String
toString()
Returns the Extension in user readable form.
-
-
-
Field Detail
-
extensionId
protected ObjectIdentifier extensionId
-
critical
protected boolean critical
-
extensionValue
protected byte[] extensionValue
-
-
Constructor Detail
-
Extension
public Extension()
Default constructor. Used only by sub-classes.
-
Extension
public Extension(DerValue derVal) throws java.io.IOException
Constructs an extension from a DER encoded array of bytes.- Throws:
java.io.IOException
-
Extension
public Extension(ObjectIdentifier extensionId, boolean critical, byte[] extensionValue) throws java.io.IOException
Constructs an Extension from individual components of ObjectIdentifier, criticality and the DER encoded OctetString.- Parameters:
extensionId
- the ObjectIdentifier of the extensioncritical
- the boolean indicating if the extension is criticalextensionValue
- the DER encoded octet string of the value.- Throws:
java.io.IOException
-
Extension
public Extension(Extension ext)
Constructs an Extension from another extension. To be used for creating decoded subclasses.- Parameters:
ext
- the extension to create from.
-
-
Method Detail
-
encode
public void encode(DerOutputStream out) throws java.io.IOException
Write the extension to the DerOutputStream.- Parameters:
out
- the DerOutputStream to write the extension to.- Throws:
java.io.IOException
- on encoding errors
-
isCritical
public boolean isCritical()
Returns true if extension is critical.
-
setCritical
public void setCritical(boolean c)
-
clearValue
public void clearValue()
-
getExtensionId
public ObjectIdentifier getExtensionId()
Returns the ObjectIdentifier of the extension.
-
setExtensionId
public void setExtensionId(ObjectIdentifier oid)
-
getExtensionValue
public byte[] getExtensionValue()
Returns the extension value as an byte array for further processing. Note, this is the raw DER value of the extension, not the DER encoded octet string which is in the certificate.
-
setExtensionValue
public void setExtensionValue(byte[] value)
-
toString
public java.lang.String toString()
Returns the Extension in user readable form.- Overrides:
toString
in classjava.lang.Object
-
-