Class SubjectAlternativeNameExtension
- java.lang.Object
-
- org.mozilla.jss.netscape.security.x509.Extension
-
- org.mozilla.jss.netscape.security.x509.SubjectAlternativeNameExtension
-
- All Implemented Interfaces:
java.io.Serializable
,CertAttrSet
public class SubjectAlternativeNameExtension extends Extension implements CertAttrSet
This represents the Subject Alternative Name Extension. This extension, if present, allows the subject to specify multiple alternative names.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).
The ASN.1 syntax for this is:
SubjectAltName ::= GeneralNames GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
- See Also:
Extension
,CertAttrSet
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.static java.lang.String
NAME
Attribute names.static java.lang.String
SUBJECT_NAME
-
Fields inherited from class org.mozilla.jss.netscape.security.x509.Extension
critical, extensionId, extensionValue
-
-
Constructor Summary
Constructors Constructor Description SubjectAlternativeNameExtension()
Create a default SubjectAlternativeNameExtension.SubjectAlternativeNameExtension(boolean critical, GeneralNames names)
Create a SubjectAlternativeNameExtension with the passed GeneralNames.SubjectAlternativeNameExtension(java.lang.Boolean critical, java.lang.Object value)
Create the extension from the passed DER encoded value.SubjectAlternativeNameExtension(GeneralNames names)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
decode(java.io.InputStream in)
Decode the extension from the InputStream.void
delete(java.lang.String name)
Delete the attribute value.void
encode(java.io.OutputStream out)
Write the extension to the OutputStream.java.lang.Object
get(java.lang.String name)
Get the attribute value.java.util.Enumeration<java.lang.String>
getAttributeNames()
Return an enumeration of names of attributes existing within this attribute.GeneralNames
getGeneralNames()
Get the GeneralNames of this extension.java.lang.String
getName()
Return the name of this attribute.void
set(java.lang.String name, java.lang.Object obj)
Set the attribute value.void
setGeneralNames(GeneralNames names)
Set the GeneralNames of this extension.java.lang.String
toString()
Returns a printable representation of the SubjectAlternativeName.-
Methods inherited from class org.mozilla.jss.netscape.security.x509.Extension
clearValue, encode, getExtensionId, getExtensionValue, isCritical, setCritical, setExtensionId, setExtensionValue
-
-
-
-
Field Detail
-
IDENT
public static final java.lang.String IDENT
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.- See Also:
- Constant Field Values
-
NAME
public static final java.lang.String NAME
Attribute names.- See Also:
- Constant Field Values
-
SUBJECT_NAME
public static final java.lang.String SUBJECT_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SubjectAlternativeNameExtension
public SubjectAlternativeNameExtension(boolean critical, GeneralNames names) throws java.io.IOException
Create a SubjectAlternativeNameExtension with the passed GeneralNames.- Parameters:
names
- the GeneralNames for the subject.- Throws:
java.io.IOException
- on error.
-
SubjectAlternativeNameExtension
public SubjectAlternativeNameExtension(GeneralNames names) throws java.io.IOException
- Throws:
java.io.IOException
-
SubjectAlternativeNameExtension
public SubjectAlternativeNameExtension()
Create a default SubjectAlternativeNameExtension.
-
SubjectAlternativeNameExtension
public SubjectAlternativeNameExtension(java.lang.Boolean critical, java.lang.Object value) throws java.io.IOException
Create the extension from the passed DER encoded value.- Parameters:
critical
- true if the extension is to be treated as critical.value
- Array of DER encoded bytes of the actual value.- Throws:
java.io.IOException
- on error.
-
-
Method Detail
-
toString
public java.lang.String toString()
Returns a printable representation of the SubjectAlternativeName.- Specified by:
toString
in interfaceCertAttrSet
- Overrides:
toString
in classExtension
- Returns:
- value of this certificate attribute in printable form.
-
decode
public void decode(java.io.InputStream in) throws java.io.IOException
Decode the extension from the InputStream.- Specified by:
decode
in interfaceCertAttrSet
- Parameters:
in
- the InputStream to unmarshal the contents from.- Throws:
java.io.IOException
- on decoding or validity errors.
-
encode
public void encode(java.io.OutputStream out) throws java.io.IOException
Write the extension to the OutputStream.- Specified by:
encode
in interfaceCertAttrSet
- Parameters:
out
- the OutputStream to write the extension to.- Throws:
java.io.IOException
- on encoding errors.
-
set
public void set(java.lang.String name, java.lang.Object obj) throws java.io.IOException
Set the attribute value.- Specified by:
set
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute (e.g. "x509.info.key")obj
- the attribute object.- Throws:
java.io.IOException
- on other errors.
-
setGeneralNames
public void setGeneralNames(GeneralNames names)
Set the GeneralNames of this extension.
-
getGeneralNames
public GeneralNames getGeneralNames()
Get the GeneralNames of this extension.
-
get
public java.lang.Object get(java.lang.String name) throws java.io.IOException
Get the attribute value.- Specified by:
get
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute to return.- Throws:
java.io.IOException
- on other errors.
-
delete
public void delete(java.lang.String name) throws java.io.IOException
Delete the attribute value.- Specified by:
delete
in interfaceCertAttrSet
- Parameters:
name
- the name of the attribute to delete.- Throws:
java.io.IOException
- on other errors.
-
getAttributeNames
public java.util.Enumeration<java.lang.String> getAttributeNames()
Return an enumeration of names of attributes existing within this attribute.- Specified by:
getAttributeNames
in interfaceCertAttrSet
- Returns:
- an enumeration of the attribute names.
-
getName
public java.lang.String getName()
Return the name of this attribute.- Specified by:
getName
in interfaceCertAttrSet
- Returns:
- the name of this CertAttrSet.
-
-