Top Description Fields Constructors Methods
org.bouncycastle.asn1.x509

public Class GeneralName

extends ASN1Object
implements ASN1Choice
Class Inheritance
All Implemented Interfaces
org.bouncycastle.asn1.ASN1Choice
Imports
java.io.IOException, java.util.StringTokenizer, org.bouncycastle.asn1.ASN1Choice, .ASN1Encodable, .ASN1IA5String, .ASN1Object, .ASN1ObjectIdentifier, .ASN1OctetString, .ASN1Primitive, .ASN1Sequence, .ASN1TaggedObject, .DERIA5String, .DEROctetString, .DERTaggedObject, org.bouncycastle.asn1.x500.X500Name, org.bouncycastle.util.IPAddress

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

Modifier and TypeField and Description
public static final int
public static final int
public static final int
public static final int
private ASN1Encodable
public static final int
public static final int
public static final int
private int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
public
GeneralName(X509Name dirName)
Deprecated use X500Name constructor.

public
public
GeneralName(int tag, ASN1Encodable name)

When the subjectAltName extension contains an Internet mail address, the address MUST be included as an rfc822Name.

public
GeneralName(int
tag number
tag
,
String
string representation of name
name
)

Create a GeneralName for the given tag from the passed in String.

Method Summary

Modifier and TypeMethod and Description
private void
copyInts(int[] parsedIp, byte[] addr, int offSet)

public static GeneralName
public static GeneralName
getInstance(ASN1TaggedObject tagObj, boolean explicit)

public ASN1Encodable
public int
private void
parseIPv4(String ip, byte[] addr, int offset)

private void
parseIPv4Mask(String mask, byte[] addr, int offset)

private int[]
private int[]
public ASN1Primitive
toASN1Primitive()

Implements abstract org.bouncycastle.asn1.ASN1Object.toASN1Primitive.

Implements org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive.

Method providing a primitive representation of this object suitable for encoding.

private byte[]
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from org.bouncycastle.asn1.ASN1Object:
encodeToencodeToequalsgetEncodedgetEncodedhasEncodedTagValuehashCode

Field Detail

directoryNameback to summary
public static final int directoryName
dNSNameback to summary
public static final int dNSName
ediPartyNameback to summary
public static final int ediPartyName
iPAddressback to summary
public static final int iPAddress
objback to summary
private ASN1Encodable obj
otherNameback to summary
public static final int otherName
registeredIDback to summary
public static final int registeredID
rfc822Nameback to summary
public static final int rfc822Name
tagback to summary
private int tag
uniformResourceIdentifierback to summary
public static final int uniformResourceIdentifier
x400Addressback to summary
public static final int x400Address

Constructor Detail

GeneralNameback to summary
public GeneralName(X509Name dirName)

Deprecated

use X500Name constructor.

GeneralNameback to summary
public GeneralName(X500Name dirName)
GeneralNameback to summary
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].

GeneralNameback to summary
public GeneralName(int tag, String name)

Create a GeneralName for the given tag from the passed in String.

This constructor can handle:

  • rfc822Name
  • iPAddress
  • directoryName
  • dNSName
  • uniformResourceIdentifier
  • registeredID
For x400Address, otherName and ediPartyName there is no common string format defined.

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:int

tag number

name:String

string representation of name

Exceptions
IllegalArgumentException:
if the string encoding is not correct or * not supported.

Method Detail

copyIntsback to summary
private void copyInts(int[] parsedIp, byte[] addr, int offSet)
getInstanceback to summary
public static GeneralName getInstance(Object obj)
getInstanceback to summary
public static GeneralName getInstance(ASN1TaggedObject tagObj, boolean explicit)
getNameback to summary
public ASN1Encodable getName()
getTagNoback to summary
public int getTagNo()
parseIPv4back to summary
private void parseIPv4(String ip, byte[] addr, int offset)
parseIPv4Maskback to summary
private void parseIPv4Mask(String mask, byte[] addr, int offset)
parseIPv6back to summary
private int[] parseIPv6(String ip)
parseMaskback to summary
private int[] parseMask(String mask)
toASN1Primitiveback to summary
public ASN1Primitive toASN1Primitive()

Implements abstract org.bouncycastle.asn1.ASN1Object.toASN1Primitive.

Implements org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive.

Doc from org.bouncycastle.asn1.ASN1Object.toASN1Primitive.

Method providing a primitive representation of this object suitable for encoding.

Returns:ASN1Primitive

a primitive representation of this object.

toGeneralNameEncodingback to summary
private byte[] toGeneralNameEncoding(String ip)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object