Package org.bouncycastle.asn1.x509
Class GeneralName
- java.lang.Object
-
- org.bouncycastle.asn1.ASN1Object
-
- org.bouncycastle.asn1.x509.GeneralName
-
- All Implemented Interfaces:
ASN1Choice
,ASN1Encodable
,Encodable
public class GeneralName extends ASN1Object implements ASN1Choice
The GeneralName object.GeneralName ::= CHOICE { otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER} OtherName ::= SEQUENCE { type-id OBJECT IDENTIFIER, value [0] EXPLICIT ANY DEFINED BY type-id } EDIPartyName ::= SEQUENCE { nameAssigner [0] DirectoryString OPTIONAL, partyName [1] DirectoryString } Name ::= CHOICE { RDNSequence }
-
-
Field Summary
Fields Modifier and Type Field Description static int
directoryName
static int
dNSName
static int
ediPartyName
static int
iPAddress
static int
otherName
static int
registeredID
static int
rfc822Name
static int
uniformResourceIdentifier
static int
x400Address
-
Constructor Summary
Constructors Constructor Description GeneralName(int tag, java.lang.String name)
Create a GeneralName for the given tag from the passed in String.GeneralName(int tag, ASN1Encodable name)
When the subjectAltName extension contains an Internet mail address, the address MUST be included as an rfc822Name.GeneralName(X500Name dirName)
GeneralName(X509Name dirName)
Deprecated.use X500Name constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GeneralName
getInstance(java.lang.Object obj)
static GeneralName
getInstance(ASN1TaggedObject tagObj, boolean explicit)
ASN1Encodable
getName()
int
getTagNo()
ASN1Primitive
toASN1Primitive()
Method providing a primitive representation of this object suitable for encoding.java.lang.String
toString()
-
Methods inherited from class org.bouncycastle.asn1.ASN1Object
encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode
-
-
-
-
Field Detail
-
otherName
public static final int otherName
- See Also:
- Constant Field Values
-
rfc822Name
public static final int rfc822Name
- See Also:
- Constant Field Values
-
dNSName
public static final int dNSName
- See Also:
- Constant Field Values
-
x400Address
public static final int x400Address
- See Also:
- Constant Field Values
-
directoryName
public static final int directoryName
- See Also:
- Constant Field Values
-
ediPartyName
public static final int ediPartyName
- See Also:
- Constant Field Values
-
uniformResourceIdentifier
public static final int uniformResourceIdentifier
- See Also:
- Constant Field Values
-
iPAddress
public static final int iPAddress
- See Also:
- Constant Field Values
-
registeredID
public static final int registeredID
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
GeneralName
public GeneralName(X509Name dirName)
Deprecated.use X500Name constructor.- Parameters:
dirName
-
-
GeneralName
public GeneralName(X500Name dirName)
-
GeneralName
public GeneralName(int tag, ASN1Encodable name)
When the subjectAltName extension contains an Internet mail address, the address MUST be included as an rfc822Name. The format of an rfc822Name is an "addr-spec" as defined in RFC 822 [RFC 822]. When the subjectAltName extension contains a domain name service label, the domain name MUST be stored in the dNSName (an IA5String). The name MUST be in the "preferred name syntax," as specified by RFC 1034 [RFC 1034]. When the subjectAltName extension contains a URI, the name MUST be stored in the uniformResourceIdentifier (an IA5String). The name MUST be a non-relative URL, and MUST follow the URL syntax and encoding rules specified in [RFC 1738]. The name must include both a scheme (e.g., "http" or "ftp") and a scheme-specific-part. The scheme- specific-part must include a fully qualified domain name or IP address as the host. When the subjectAltName extension contains a iPAddress, the address MUST be stored in the octet string in "network byte order," as specified in RFC 791 [RFC 791]. The least significant bit (LSB) of each octet is the LSB of the corresponding byte in the network address. For IP Version 4, as specified in RFC 791, the octet string MUST contain exactly four octets. For IP Version 6, as specified in RFC 1883, the octet string MUST contain exactly sixteen octets [RFC 1883].
-
GeneralName
public GeneralName(int tag, java.lang.String name)
Create a GeneralName for the given tag from the passed in String.This constructor can handle:
- rfc822Name
- iPAddress
- directoryName
- dNSName
- uniformResourceIdentifier
- registeredID
Note: A directory name can be encoded in different ways into a byte representation. Be aware of this if the byte representation is used for comparing results.
- Parameters:
tag
- tag numbername
- string representation of name- Throws:
java.lang.IllegalArgumentException
- if the string encoding is not correct or * not supported.
-
-
Method Detail
-
getInstance
public static GeneralName getInstance(java.lang.Object obj)
-
getInstance
public static GeneralName getInstance(ASN1TaggedObject tagObj, boolean explicit)
-
getTagNo
public int getTagNo()
-
getName
public ASN1Encodable getName()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
toASN1Primitive
public ASN1Primitive toASN1Primitive()
Description copied from class:ASN1Object
Method providing a primitive representation of this object suitable for encoding.- Specified by:
toASN1Primitive
in interfaceASN1Encodable
- Specified by:
toASN1Primitive
in classASN1Object
- Returns:
- a primitive representation of this object.
-
-