Class X509Name
- All Implemented Interfaces:
DEREncodable
- Direct Known Subclasses:
X509Principal
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY }
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Vectorstatic final DERObjectIdentifierbusinessCategory - DirectoryString(SIZE(1..128)static final DERObjectIdentifiercountry code - StringType(SIZE(2))static final DERObjectIdentifiercommon name - StringType(SIZE(1..64))private X509NameEntryConverterstatic final DERObjectIdentifierRFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 codes onlystatic final DERObjectIdentifierRFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 codes onlystatic final DERObjectIdentifierRFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Zstatic final DERObjectIdentifierstatic Hashtablelook up table translating common symbols into their OIDS.static booleandetermines whether or not strings should be processed and printed from back to front.static Hashtabledefault look up table translating OID values into their common symbols following the convention in RFC 2253 with a few extrasstatic final DERObjectIdentifierdnQualifier - DirectoryString(SIZE(1..64)static final DERObjectIdentifieremail address in Verisign certificatesstatic final DERObjectIdentifierEmail address (RSA PKCS#9 extension) - IA5String.private static final Booleanstatic final DERObjectIdentifierRFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"static final DERObjectIdentifierstatic final DERObjectIdentifierstatic final DERObjectIdentifierstatic final DERObjectIdentifierlocality name - StringType(SIZE(1..64))static final DERObjectIdentifierISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)static final DERObjectIdentifierorganization - StringType(SIZE(1..64))static Hashtablelook up table translating OID values into their common symbols - this static is scheduled for deletionprivate Vectorstatic final DERObjectIdentifierorganizational unit name - StringType(SIZE(1..64))static final DERObjectIdentifierRFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)static final DERObjectIdentifierRFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF DirectoryString(SIZE(1..30))static final DERObjectIdentifierpostalCode - DirectoryString(SIZE(1..40)static final DERObjectIdentifierRFC 3039 Pseudonym - DirectoryString(SIZE(1..64)static Hashtablelook up table translating OID values into their common symbols following the convention in RFC 1779static Hashtablelook up table translating OID values into their common symbols following the convention in RFC 2253private ASN1Sequencestatic final DERObjectIdentifierdevice serial number name - StringType(SIZE(1..64))static final DERObjectIdentifierdevice serial number name - StringType(SIZE(1..64))static final DERObjectIdentifierstate, or province name - StringType(SIZE(1..64))static final DERObjectIdentifierstreet - StringType(SIZE(1..64))static final DERObjectIdentifierNaming attributes of type X520namestatic Hashtablelook up table translating string values into their OIDS - this static is scheduled for deletionstatic final DERObjectIdentifierTitleprivate static final Booleanstatic final DERObjectIdentifierLDAP User id.static final DERObjectIdentifierstatic final DERObjectIdentifierstatic final DERObjectIdentifiermore from PKCS#9private VectorFields inherited from class ASN1Encodable
BER, DER -
Constructor Summary
ConstructorsConstructorDescriptionTakes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes.X509Name(boolean reverse, String dirName, X509NameEntryConverter converter) Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes with each string value being converted to its associated ASN.1 type using the passed in converter.Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes.X509Name(boolean reverse, Hashtable lookUp, String dirName, X509NameEntryConverter converter) Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes.Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes.X509Name(String dirName, X509NameEntryConverter converter) Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes with each string value being converted to its associated ASN.1 type using the passed in converter.Deprecated.use an ordered constructor! The hashtable ordering is rarely correctConstructor from a table of attributes with ordering.X509Name(Vector ordering, Hashtable attributes, X509NameEntryConverter converter) Constructor from a table of attributes with ordering.Takes two vectors one of the oids and the other of the values.X509Name(Vector oids, Vector values, X509NameEntryConverter converter) Takes two vectors one of the oids and the other of the values.X509Name(ASN1Sequence seq) Constructor from ASN1Sequence the principal will be a list of constructed sets, each containing an (OID, String) pair. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidappendValue(StringBuffer buf, Hashtable oidSymbols, DERObjectIdentifier oid, String value) private StringbytesToString(byte[] data) private DERObjectIdentifierbooleantest for equality - note: case is ignored.booleanprivate booleanequivalentStrings(String s1, String s2) static X509NamegetInstance(Object obj) static X509NamegetInstance(ASN1TaggedObject obj, boolean explicit) Return a X509Name based on the passed in tagged object.getOIDs()return a vector of the oids in the name, in the order they were found.return a vector of the values found in the name, in the order they were found.return a vector of the values found in the name, in the order they were found, with the DN label corresponding to passed in oid.inthashCode()private StringtoString()convert the structure to a string - if reverse is true the oids and values are listed out starting with the last element in the sequence (ala RFC 2253), otherwise the string will begin with the first element of the structure.Methods inherited from class ASN1Encodable
getDEREncoded, getDERObject, getEncoded, getEncoded
-
Field Details
-
C
country code - StringType(SIZE(2)) -
O
organization - StringType(SIZE(1..64)) -
OU
organizational unit name - StringType(SIZE(1..64)) -
T
Title -
CN
common name - StringType(SIZE(1..64)) -
SN
device serial number name - StringType(SIZE(1..64)) -
STREET
street - StringType(SIZE(1..64)) -
SERIALNUMBER
device serial number name - StringType(SIZE(1..64)) -
L
locality name - StringType(SIZE(1..64)) -
ST
state, or province name - StringType(SIZE(1..64)) -
SURNAME
Naming attributes of type X520name -
GIVENNAME
-
INITIALS
-
GENERATION
-
UNIQUE_IDENTIFIER
-
BUSINESS_CATEGORY
businessCategory - DirectoryString(SIZE(1..128) -
POSTAL_CODE
postalCode - DirectoryString(SIZE(1..40) -
DN_QUALIFIER
dnQualifier - DirectoryString(SIZE(1..64) -
PSEUDONYM
RFC 3039 Pseudonym - DirectoryString(SIZE(1..64) -
DATE_OF_BIRTH
RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z -
PLACE_OF_BIRTH
RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128) -
GENDER
RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f" -
COUNTRY_OF_CITIZENSHIP
RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 codes only -
COUNTRY_OF_RESIDENCE
RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 codes only -
NAME_AT_BIRTH
ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64) -
POSTAL_ADDRESS
RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF DirectoryString(SIZE(1..30)) -
EmailAddress
Email address (RSA PKCS#9 extension) - IA5String.Note: if you're trying to be ultra orthodox, don't use this! It shouldn't be in here.
-
UnstructuredName
more from PKCS#9 -
UnstructuredAddress
-
E
email address in Verisign certificates -
DC
-
UID
LDAP User id. -
OIDLookUp
look up table translating OID values into their common symbols - this static is scheduled for deletion -
DefaultReverse
public static boolean DefaultReversedetermines whether or not strings should be processed and printed from back to front. -
DefaultSymbols
default look up table translating OID values into their common symbols following the convention in RFC 2253 with a few extras -
RFC2253Symbols
look up table translating OID values into their common symbols following the convention in RFC 2253 -
RFC1779Symbols
look up table translating OID values into their common symbols following the convention in RFC 1779 -
SymbolLookUp
look up table translating string values into their OIDS - this static is scheduled for deletion -
DefaultLookUp
look up table translating common symbols into their OIDS. -
TRUE
-
FALSE
-
converter
-
ordering
-
values
-
added
-
seq
-
-
Constructor Details
-
X509Name
Constructor from ASN1Sequence the principal will be a list of constructed sets, each containing an (OID, String) pair. -
X509Name
Deprecated.use an ordered constructor! The hashtable ordering is rarely correctconstructor from a table of attributes.it's is assumed the table contains OID/String pairs, and the contents of the table are copied into an internal table as part of the construction process.
Note: if the name you are trying to generate should be following a specific ordering, you should use the constructor with the ordering specified below.
-
X509Name
Constructor from a table of attributes with ordering.it's is assumed the table contains OID/String pairs, and the contents of the table are copied into an internal table as part of the construction process. The ordering vector should contain the OIDs in the order they are meant to be encoded or printed in toString.
-
X509Name
Constructor from a table of attributes with ordering.it's is assumed the table contains OID/String pairs, and the contents of the table are copied into an internal table as part of the construction process. The ordering vector should contain the OIDs in the order they are meant to be encoded or printed in toString.
The passed in converter will be used to convert the strings into their ASN.1 counterparts.
-
X509Name
-
X509Name
Takes two vectors one of the oids and the other of the values.The passed in converter will be used to convert the strings into their ASN.1 counterparts.
-
X509Name
Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes. -
X509Name
Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes with each string value being converted to its associated ASN.1 type using the passed in converter. -
X509Name
Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes. If reverse is true, create the encoded version of the sequence starting from the last element in the string. -
X509Name
Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes with each string value being converted to its associated ASN.1 type using the passed in converter. If reverse is true the ASN.1 sequence representing the DN will be built by starting at the end of the string, rather than the start. -
X509Name
Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes. lookUp should provide a table of lookups, indexed by lowercase only strings and yielding a DERObjectIdentifier, other than that OID. and numeric oids will be processed automatically.
If reverse is true, create the encoded version of the sequence starting from the last element in the string.- Parameters:
reverse- true if we should start scanning from the end (RFC 2553).lookUp- table of names and their oids.dirName- the X.500 string to be parsed.
-
X509Name
public X509Name(boolean reverse, Hashtable lookUp, String dirName, X509NameEntryConverter converter) Takes an X509 dir name as a string of the format "C=AU, ST=Victoria", or some such, converting it into an ordered set of name attributes. lookUp should provide a table of lookups, indexed by lowercase only strings and yielding a DERObjectIdentifier, other than that OID. and numeric oids will be processed automatically. The passed in converter is used to convert the string values to the right of each equals sign to their ASN.1 counterparts.- Parameters:
reverse- true if we should start scanning from the end, false otherwise.lookUp- table of names and oids.dirName- the string dirNameconverter- the converter to convert string values into their ASN.1 equivalents
-
-
Method Details
-
getInstance
Return a X509Name based on the passed in tagged object.- Parameters:
obj- tag object holding name.explicit- true if explicitly tagged false otherwise.- Returns:
- the X509Name
-
getInstance
-
decodeOID
-
getOIDs
return a vector of the oids in the name, in the order they were found. -
getValues
return a vector of the values found in the name, in the order they were found. -
getValues
return a vector of the values found in the name, in the order they were found, with the DN label corresponding to passed in oid. -
toASN1Object
- Specified by:
toASN1Objectin classASN1Encodable
-
equals
- Parameters:
inOrder- if true the order of both X509 names must be the same, as well as the values associated with each element.
-
equals
test for equality - note: case is ignored.- Overrides:
equalsin classASN1Encodable
-
equivalentStrings
-
stripInternalSpaces
-
hashCode
public int hashCode()- Overrides:
hashCodein classASN1Encodable
-
appendValue
private void appendValue(StringBuffer buf, Hashtable oidSymbols, DERObjectIdentifier oid, String value) -
toString
convert the structure to a string - if reverse is true the oids and values are listed out starting with the last element in the sequence (ala RFC 2253), otherwise the string will begin with the first element of the structure. If no string definition for the oid is found in oidSymbols the string value of the oid is added. Two standard symbol tables are provided DefaultSymbols, and RFC2253Symbols as part of this class.- Parameters:
reverse- if true start at the end of the sequence and work back.oidSymbols- look up table strings for oids.
-
bytesToString
-
toString
-