X509Name (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.asn1.x509

## Class X509Name

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.X509Name

- All Implemented Interfaces:
    ASN1Encodable, Encodable

  Deprecated.
  use org.bouncycastle.asn1.x500.X500Name.

      public class X509Name
      extends ASN1Object

           RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

           RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue

           AttributeTypeAndValue ::= SEQUENCE {
                                         type  OBJECT IDENTIFIER,
                                         value ANY }

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static ASN1ObjectIdentifier` | `BUSINESS_CATEGORY` Deprecated. businessCategory - DirectoryString(SIZE(1..128)
    `static ASN1ObjectIdentifier` | `C` Deprecated. use a X500NameStyle
    `static ASN1ObjectIdentifier` | `CN` Deprecated. use a X500NameStyle
    `static ASN1ObjectIdentifier` | `COUNTRY_OF_CITIZENSHIP` Deprecated. RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 codes only
    `static ASN1ObjectIdentifier` | `COUNTRY_OF_RESIDENCE` Deprecated. RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 codes only
    `static ASN1ObjectIdentifier` | `DATE_OF_BIRTH` Deprecated. RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z
    `static ASN1ObjectIdentifier` | `DC` Deprecated.
    `static java.util.Hashtable` | `DefaultLookUp` Deprecated. look up table translating common symbols into their OIDS.
    `static boolean` | `DefaultReverse` Deprecated. determines whether or not strings should be processed and printed from back to front.
    `static java.util.Hashtable` | `DefaultSymbols` Deprecated. default look up table translating OID values into their common symbols following the convention in RFC 2253 with a few extras
    `static ASN1ObjectIdentifier` | `DMD_NAME` Deprecated. RFC 2256 dmdName
    `static ASN1ObjectIdentifier` | `DN_QUALIFIER` Deprecated. dnQualifier - DirectoryString(SIZE(1..64)
    `static ASN1ObjectIdentifier` | `E` Deprecated. email address in Verisign certificates
    `static ASN1ObjectIdentifier` | `EmailAddress` Deprecated. use a X500NameStyle
    `static ASN1ObjectIdentifier` | `GENDER` Deprecated. RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"
    `static ASN1ObjectIdentifier` | `GENERATION` Deprecated.
    `static ASN1ObjectIdentifier` | `GIVENNAME` Deprecated.
    `static ASN1ObjectIdentifier` | `INITIALS` Deprecated.
    `static ASN1ObjectIdentifier` | `L` Deprecated. locality name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `NAME` Deprecated. id-at-name
    `static ASN1ObjectIdentifier` | `NAME_AT_BIRTH` Deprecated. ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)
    `static ASN1ObjectIdentifier` | `O` Deprecated. use a X500NameStyle
    `static java.util.Hashtable` | `OIDLookUp` Deprecated. use DefaultSymbols
    `static ASN1ObjectIdentifier` | `OU` Deprecated. use a X500NameStyle
    `static ASN1ObjectIdentifier` | `PLACE_OF_BIRTH` Deprecated. RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)
    `static ASN1ObjectIdentifier` | `POSTAL_ADDRESS` Deprecated. RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF DirectoryString(SIZE(1..30))
    `static ASN1ObjectIdentifier` | `POSTAL_CODE` Deprecated. postalCode - DirectoryString(SIZE(1..40)
    `static ASN1ObjectIdentifier` | `PSEUDONYM` Deprecated. RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)
    `static java.util.Hashtable` | `RFC1779Symbols` Deprecated. look up table translating OID values into their common symbols following the convention in RFC 1779
    `static java.util.Hashtable` | `RFC2253Symbols` Deprecated. look up table translating OID values into their common symbols following the convention in RFC 2253
    `static ASN1ObjectIdentifier` | `SERIALNUMBER` Deprecated. device serial number name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `SN` Deprecated. device serial number name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `ST` Deprecated. state, or province name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `STREET` Deprecated. street - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `SURNAME` Deprecated. Naming attributes of type X520name
    `static java.util.Hashtable` | `SymbolLookUp` Deprecated. use DefaultLookUp
    `static ASN1ObjectIdentifier` | `T` Deprecated. use a X500NameStyle
    `static ASN1ObjectIdentifier` | `TELEPHONE_NUMBER` Deprecated. id-at-telephoneNumber
    `static ASN1ObjectIdentifier` | `UID` Deprecated. LDAP User id.
    `static ASN1ObjectIdentifier` | `UNIQUE_IDENTIFIER` Deprecated.
    `static ASN1ObjectIdentifier` | `UnstructuredAddress` Deprecated.
    `static ASN1ObjectIdentifier` | `UnstructuredName` Deprecated. more from PKCS#9

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `X509Name()` Deprecated.
    `` | `X509Name(ASN1Sequence seq)` Deprecated. use X500Name.getInstance()
    `` | `X509Name(boolean reverse, java.util.Hashtable lookUp, java.lang.String dirName)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(boolean reverse, java.util.Hashtable lookUp, java.lang.String dirName, X509NameEntryConverter converter)` Deprecated. 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 ASN1ObjectIdentifier, other than that OID. and numeric oids will be processed automatically.
    `` | `X509Name(boolean reverse, java.lang.String dirName)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(boolean reverse, java.lang.String dirName, X509NameEntryConverter converter)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(java.util.Hashtable attributes)` Deprecated. use an ordered constructor! The hashtable ordering is rarely correct
    `` | `X509Name(java.lang.String dirName)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(java.lang.String dirName, X509NameEntryConverter converter)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(java.util.Vector ordering, java.util.Hashtable attributes)` Deprecated. Constructor from a table of attributes with ordering.
    `` | `X509Name(java.util.Vector ordering, java.util.Hashtable attributes, X509NameEntryConverter converter)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(java.util.Vector oids, java.util.Vector values)` Deprecated. use X500Name, X500NameBuilder
    `` | `X509Name(java.util.Vector oids, java.util.Vector values, X509NameEntryConverter converter)` Deprecated. use X500Name, X500NameBuilder

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object obj)` Deprecated. test for equality - note: case is ignored.
    `boolean` | `equals(java.lang.Object obj, boolean inOrder)` Deprecated.
    `static X509Name` | `getInstance(ASN1TaggedObject obj, boolean explicit)` Deprecated. Return a X509Name based on the passed in tagged object.
    `static X509Name` | `getInstance(java.lang.Object obj)` Deprecated.
    `java.util.Vector` | `getOIDs()` Deprecated. return a vector of the oids in the name, in the order they were found.
    `java.util.Vector` | `getValues()` Deprecated. return a vector of the values found in the name, in the order they were found.
    `java.util.Vector` | `getValues(ASN1ObjectIdentifier oid)` Deprecated. 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.
    `int` | `hashCode()` Deprecated.
    `ASN1Primitive` | `toASN1Primitive()` Deprecated. Method providing a primitive representation of this object suitable for encoding.
    `java.lang.String` | `toString()` Deprecated.
    `java.lang.String` | `toString(boolean reverse, java.util.Hashtable oidSymbols)` Deprecated. 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 org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, getEncoded, getEncoded, hasEncodedTagValue`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### C

          public static final ASN1ObjectIdentifier C

      Deprecated. use a X500NameStyle
      country code - StringType(SIZE(2))

    - #### O

          public static final ASN1ObjectIdentifier O

      Deprecated. use a X500NameStyle
      organization - StringType(SIZE(1..64))

    - #### OU

          public static final ASN1ObjectIdentifier OU

      Deprecated. use a X500NameStyle
      organizational unit name - StringType(SIZE(1..64))

    - #### T

          public static final ASN1ObjectIdentifier T

      Deprecated. use a X500NameStyle
      Title

    - #### CN

          public static final ASN1ObjectIdentifier CN

      Deprecated. use a X500NameStyle
      common name - StringType(SIZE(1..64))

    - #### SN

          public static final ASN1ObjectIdentifier SN

      Deprecated.
      device serial number name - StringType(SIZE(1..64))

    - #### STREET

          public static final ASN1ObjectIdentifier STREET

      Deprecated.
      street - StringType(SIZE(1..64))

    - #### SERIALNUMBER

          public static final ASN1ObjectIdentifier SERIALNUMBER

      Deprecated.
      device serial number name - StringType(SIZE(1..64))

    - #### L

          public static final ASN1ObjectIdentifier L

      Deprecated.
      locality name - StringType(SIZE(1..64))

    - #### ST

          public static final ASN1ObjectIdentifier ST

      Deprecated.
      state, or province name - StringType(SIZE(1..64))

    - #### SURNAME

          public static final ASN1ObjectIdentifier SURNAME

      Deprecated.
      Naming attributes of type X520name

    - #### GIVENNAME

          public static final ASN1ObjectIdentifier GIVENNAME

      Deprecated.

    - #### INITIALS

          public static final ASN1ObjectIdentifier INITIALS

      Deprecated.

    - #### GENERATION

          public static final ASN1ObjectIdentifier GENERATION

      Deprecated.

    - #### UNIQUE_IDENTIFIER

          public static final ASN1ObjectIdentifier UNIQUE_IDENTIFIER

      Deprecated.

    - #### BUSINESS_CATEGORY

          public static final ASN1ObjectIdentifier BUSINESS_CATEGORY

      Deprecated.
      businessCategory - DirectoryString(SIZE(1..128)

    - #### POSTAL_CODE

          public static final ASN1ObjectIdentifier POSTAL_CODE

      Deprecated.
      postalCode - DirectoryString(SIZE(1..40)

    - #### DN_QUALIFIER

          public static final ASN1ObjectIdentifier DN_QUALIFIER

      Deprecated.
      dnQualifier - DirectoryString(SIZE(1..64)

    - #### PSEUDONYM

          public static final ASN1ObjectIdentifier PSEUDONYM

      Deprecated.
      RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)

    - #### DATE_OF_BIRTH

          public static final ASN1ObjectIdentifier DATE_OF_BIRTH

      Deprecated.
      RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z

    - #### PLACE_OF_BIRTH

          public static final ASN1ObjectIdentifier PLACE_OF_BIRTH

      Deprecated.
      RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)

    - #### GENDER

          public static final ASN1ObjectIdentifier GENDER

      Deprecated.
      RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"

    - #### COUNTRY_OF_CITIZENSHIP

          public static final ASN1ObjectIdentifier COUNTRY_OF_CITIZENSHIP

      Deprecated.
      RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 codes only

    - #### COUNTRY_OF_RESIDENCE

          public static final ASN1ObjectIdentifier COUNTRY_OF_RESIDENCE

      Deprecated.
      RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 codes only

    - #### NAME_AT_BIRTH

          public static final ASN1ObjectIdentifier NAME_AT_BIRTH

      Deprecated.
      ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)

    - #### POSTAL_ADDRESS

          public static final ASN1ObjectIdentifier POSTAL_ADDRESS

      Deprecated.
      RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF DirectoryString(SIZE(1..30))

    - #### DMD_NAME

          public static final ASN1ObjectIdentifier DMD_NAME

      Deprecated.
      RFC 2256 dmdName

    - #### TELEPHONE_NUMBER

          public static final ASN1ObjectIdentifier TELEPHONE_NUMBER

      Deprecated.
      id-at-telephoneNumber

    - #### NAME

          public static final ASN1ObjectIdentifier NAME

      Deprecated.
      id-at-name

    - #### EmailAddress

          public static final ASN1ObjectIdentifier EmailAddress

      Deprecated. use a X500NameStyle
      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

          public static final ASN1ObjectIdentifier UnstructuredName

      Deprecated.
      more from PKCS#9

    - #### UnstructuredAddress

          public static final ASN1ObjectIdentifier UnstructuredAddress

      Deprecated.

    - #### E

          public static final ASN1ObjectIdentifier E

      Deprecated.
      email address in Verisign certificates

    - #### DC

          public static final ASN1ObjectIdentifier DC

      Deprecated.

    - #### UID

          public static final ASN1ObjectIdentifier UID

      Deprecated.
      LDAP User id.

    - #### DefaultReverse

          public static boolean DefaultReverse

      Deprecated.
      determines whether or not strings should be processed and printed from back to front.

    - #### DefaultSymbols

          public static final java.util.Hashtable DefaultSymbols

      Deprecated.
      default look up table translating OID values into their common symbols following the convention in RFC 2253 with a few extras

    - #### RFC2253Symbols

          public static final java.util.Hashtable RFC2253Symbols

      Deprecated.
      look up table translating OID values into their common symbols following the convention in RFC 2253

    - #### RFC1779Symbols

          public static final java.util.Hashtable RFC1779Symbols

      Deprecated.
      look up table translating OID values into their common symbols following the convention in RFC 1779

    - #### DefaultLookUp

          public static final java.util.Hashtable DefaultLookUp

      Deprecated.
      look up table translating common symbols into their OIDS.

    - #### OIDLookUp

          public static final java.util.Hashtable OIDLookUp

      Deprecated. use DefaultSymbols
      look up table translating OID values into their common symbols

    - #### SymbolLookUp

          public static final java.util.Hashtable SymbolLookUp

      Deprecated. use DefaultLookUp
      look up table translating string values into their OIDS -

  - ### Constructor Detail

    - #### X509Name

          protected X509Name()

      Deprecated.

    - #### X509Name

          public X509Name(ASN1Sequence seq)

      Deprecated. use X500Name.getInstance()
      Constructor from ASN1Sequence the principal will be a list of constructed sets, each containing an (OID, String) pair.

    - #### X509Name

          public X509Name(java.util.Hashtable attributes)

      Deprecated. use an ordered constructor! The hashtable ordering is rarely correct
      constructor 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

          public X509Name(java.util.Vector ordering,
                          java.util.Hashtable attributes)

      Deprecated.
      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

          public X509Name(java.util.Vector ordering,
                          java.util.Hashtable attributes,
                          X509NameEntryConverter converter)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(java.util.Vector oids,
                          java.util.Vector values)

      Deprecated. use X500Name, X500NameBuilder
      Takes two vectors one of the oids and the other of the values.

    - #### X509Name

          public X509Name(java.util.Vector oids,
                          java.util.Vector values,
                          X509NameEntryConverter converter)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(java.lang.String dirName)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(java.lang.String dirName,
                          X509NameEntryConverter converter)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(boolean reverse,
                          java.lang.String dirName)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(boolean reverse,
                          java.lang.String dirName,
                          X509NameEntryConverter converter)

      Deprecated. use X500Name, X500NameBuilder
      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

          public X509Name(boolean reverse,
                          java.util.Hashtable lookUp,
                          java.lang.String dirName)

      Deprecated. use X500Name, X500NameBuilder
      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 ASN1ObjectIdentifier, 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,
                          java.util.Hashtable lookUp,
                          java.lang.String dirName,
                          X509NameEntryConverter converter)

      Deprecated.
      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 ASN1ObjectIdentifier, 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 dirName
        `converter` - the converter to convert string values into their ASN.1 equivalents

  - ### Method Detail

    - #### getInstance

          public static X509Name getInstance(ASN1TaggedObject obj,
                                             boolean explicit)

      Deprecated.
      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

          public static X509Name getInstance(java.lang.Object obj)

      Deprecated.

    - #### getOIDs

          public java.util.Vector getOIDs()

      Deprecated.
      return a vector of the oids in the name, in the order they were found.

    - #### getValues

          public java.util.Vector getValues()

      Deprecated.
      return a vector of the values found in the name, in the order they were found.

    - #### getValues

          public java.util.Vector getValues(ASN1ObjectIdentifier oid)

      Deprecated.
      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.

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Deprecated.
      Description copied from class: `ASN1Object`
      Method providing a primitive representation of this object suitable for encoding.
      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a primitive representation of this object.

    - #### equals

          public boolean equals(java.lang.Object obj,
                                boolean inOrder)

      Deprecated.
      Parameters:
        `inOrder` - if true the order of both X509 names must be the same, as well as the values associated with each element.

    - #### hashCode

          public int hashCode()

      Deprecated.
      Overrides:
        `hashCode` in class `ASN1Object`

    - #### equals

          public boolean equals(java.lang.Object obj)

      Deprecated.
      test for equality - note: case is ignored.
      Overrides:
        `equals` in class `ASN1Object`

    - #### toString

          public java.lang.String toString(boolean reverse,
                                           java.util.Hashtable oidSymbols)

      Deprecated.
      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.

    - #### toString

          public java.lang.String toString()

      Deprecated.
      Overrides:
        `toString` in class `java.lang.Object`