Package org.bouncycastle.asn1.x500.style

## Class BCStyle

- java.lang.Object
- - org.bouncycastle.asn1.x500.style.AbstractX500NameStyle
  - - org.bouncycastle.asn1.x500.style.BCStyle

- All Implemented Interfaces:
    `X500NameStyle`
  Direct Known Subclasses:
    `BCStrictStyle`

      public class BCStyle
      extends AbstractX500NameStyle

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ASN1ObjectIdentifier` | `BUSINESS_CATEGORY` | businessCategory - DirectoryString(SIZE(1..128)
    `static ASN1ObjectIdentifier` | `C` | country code - StringType(SIZE(2))
    `static ASN1ObjectIdentifier` | `CN` | common name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `COUNTRY_OF_CITIZENSHIP` | RFC 3039 CountryOfCitizenship - PrintableString (SIZE (2)) -- ISO 3166 codes only
    `static ASN1ObjectIdentifier` | `COUNTRY_OF_RESIDENCE` | RFC 3039 CountryOfResidence - PrintableString (SIZE (2)) -- ISO 3166 codes only
    `static ASN1ObjectIdentifier` | `DATE_OF_BIRTH` | RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z
    `static ASN1ObjectIdentifier` | `DC` |
    `protected java.util.Hashtable` | `defaultLookUp` |
    `protected java.util.Hashtable` | `defaultSymbols` |
    `static ASN1ObjectIdentifier` | `DESCRIPTION` |
    `static ASN1ObjectIdentifier` | `DMD_NAME` | RFC 2256 dmdName
    `static ASN1ObjectIdentifier` | `DN_QUALIFIER` | dnQualifier - DirectoryString(SIZE(1..64)
    `static ASN1ObjectIdentifier` | `E` | email address in Verisign certificates
    `static ASN1ObjectIdentifier` | `EmailAddress` | Email address (RSA PKCS#9 extension) - IA5String.
    `static ASN1ObjectIdentifier` | `GENDER` | RFC 3039 Gender - PrintableString (SIZE(1)) -- "M", "F", "m" or "f"
    `static ASN1ObjectIdentifier` | `GENERATION` |
    `static ASN1ObjectIdentifier` | `GIVENNAME` |
    `static ASN1ObjectIdentifier` | `INITIALS` |
    `static X500NameStyle` | `INSTANCE` | Singleton instance.
    `static ASN1ObjectIdentifier` | `L` | locality name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `NAME` | id-at-name
    `static ASN1ObjectIdentifier` | `NAME_AT_BIRTH` | ISIS-MTT NameAtBirth - DirectoryString(SIZE(1..64)
    `static ASN1ObjectIdentifier` | `O` | organization - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `ORGANIZATION_IDENTIFIER` | id-at-organizationIdentifier
    `static ASN1ObjectIdentifier` | `OU` | organizational unit name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `PLACE_OF_BIRTH` | RFC 3039 PlaceOfBirth - DirectoryString(SIZE(1..128)
    `static ASN1ObjectIdentifier` | `POSTAL_ADDRESS` | RFC 3039 PostalAddress - SEQUENCE SIZE (1..6) OF DirectoryString(SIZE(1..30))
    `static ASN1ObjectIdentifier` | `POSTAL_CODE` | postalCode - DirectoryString(SIZE(1..40)
    `static ASN1ObjectIdentifier` | `PSEUDONYM` | RFC 3039 Pseudonym - DirectoryString(SIZE(1..64)
    `static ASN1ObjectIdentifier` | `ROLE` |
    `static ASN1ObjectIdentifier` | `SERIALNUMBER` | device serial number name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `SN` | Deprecated. use SERIALNUMBER or SURNAME
    `static ASN1ObjectIdentifier` | `ST` | state, or province name - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `STREET` | street - StringType(SIZE(1..64))
    `static ASN1ObjectIdentifier` | `SURNAME` | Naming attributes of type X520name
    `static ASN1ObjectIdentifier` | `T` | Title
    `static ASN1ObjectIdentifier` | `TELEPHONE_NUMBER` | id-at-telephoneNumber
    `static ASN1ObjectIdentifier` | `UID` | LDAP User id.
    `static ASN1ObjectIdentifier` | `UNIQUE_IDENTIFIER` |
    `static ASN1ObjectIdentifier` | `UnstructuredAddress` |
    `static ASN1ObjectIdentifier` | `UnstructuredName` | more from PKCS#9

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `BCStyle()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ASN1ObjectIdentifier` | `attrNameToOID​(java.lang.String attrName)` | Return the OID associated with the passed in name.
    `protected ASN1Encodable` | `encodeStringValue​(ASN1ObjectIdentifier oid, java.lang.String value)` | Encoded every value into a UTF8String.
    `RDN[]` | `fromString​(java.lang.String dirName)` | Return an array of RDN generated from the passed in String.
    `java.lang.String[]` | `oidToAttrNames​(ASN1ObjectIdentifier oid)` | Return the acceptable names in a String DN that map to OID.
    `java.lang.String` | `oidToDisplayName​(ASN1ObjectIdentifier oid)` | Return the display name for toString() associated with the OID.
    `java.lang.String` | `toString​(X500Name name)` | Convert the passed in X500Name to a String.

    - ### Methods inherited from class org.bouncycastle.asn1.x500.style.AbstractX500NameStyle

      `areEqual, calculateHashCode, copyHashTable, rdnAreEqual, stringToValue`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### C

          public static final ASN1ObjectIdentifier C

      country code - StringType(SIZE(2))

    - #### O

          public static final ASN1ObjectIdentifier O

      organization - StringType(SIZE(1..64))

    - #### OU

          public static final ASN1ObjectIdentifier OU

      organizational unit name - StringType(SIZE(1..64))

    - #### T

          public static final ASN1ObjectIdentifier T

      Title

    - #### CN

          public static final ASN1ObjectIdentifier CN

      common name - StringType(SIZE(1..64))

    - #### SN

          public static final ASN1ObjectIdentifier SN

      Deprecated.
      use SERIALNUMBER or SURNAME
      device serial number name - StringType(SIZE(1..64))

    - #### STREET

          public static final ASN1ObjectIdentifier STREET

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

    - #### SERIALNUMBER

          public static final ASN1ObjectIdentifier SERIALNUMBER

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

    - #### L

          public static final ASN1ObjectIdentifier L

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

    - #### ST

          public static final ASN1ObjectIdentifier ST

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

    - #### SURNAME

          public static final ASN1ObjectIdentifier SURNAME

      Naming attributes of type X520name

    - #### GIVENNAME

          public static final ASN1ObjectIdentifier GIVENNAME

    - #### INITIALS

          public static final ASN1ObjectIdentifier INITIALS

    - #### GENERATION

          public static final ASN1ObjectIdentifier GENERATION

    - #### UNIQUE_IDENTIFIER

          public static final ASN1ObjectIdentifier UNIQUE_IDENTIFIER

    - #### DESCRIPTION

          public static final ASN1ObjectIdentifier DESCRIPTION

    - #### BUSINESS_CATEGORY

          public static final ASN1ObjectIdentifier BUSINESS_CATEGORY

      businessCategory - DirectoryString(SIZE(1..128)

    - #### POSTAL_CODE

          public static final ASN1ObjectIdentifier POSTAL_CODE

      postalCode - DirectoryString(SIZE(1..40)

    - #### DN_QUALIFIER

          public static final ASN1ObjectIdentifier DN_QUALIFIER

      dnQualifier - DirectoryString(SIZE(1..64)

    - #### PSEUDONYM

          public static final ASN1ObjectIdentifier PSEUDONYM

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

    - #### ROLE

          public static final ASN1ObjectIdentifier ROLE

    - #### DATE_OF_BIRTH

          public static final ASN1ObjectIdentifier DATE_OF_BIRTH

      RFC 3039 DateOfBirth - GeneralizedTime - YYYYMMDD000000Z

    - #### PLACE_OF_BIRTH

          public static final ASN1ObjectIdentifier PLACE_OF_BIRTH

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

    - #### GENDER

          public static final ASN1ObjectIdentifier GENDER

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

    - #### COUNTRY_OF_CITIZENSHIP

          public static final ASN1ObjectIdentifier COUNTRY_OF_CITIZENSHIP

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

    - #### COUNTRY_OF_RESIDENCE

          public static final ASN1ObjectIdentifier COUNTRY_OF_RESIDENCE

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

    - #### NAME_AT_BIRTH

          public static final ASN1ObjectIdentifier NAME_AT_BIRTH

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

    - #### POSTAL_ADDRESS

          public static final ASN1ObjectIdentifier POSTAL_ADDRESS

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

    - #### DMD_NAME

          public static final ASN1ObjectIdentifier DMD_NAME

      RFC 2256 dmdName

    - #### TELEPHONE_NUMBER

          public static final ASN1ObjectIdentifier TELEPHONE_NUMBER

      id-at-telephoneNumber

    - #### NAME

          public static final ASN1ObjectIdentifier NAME

      id-at-name

    - #### ORGANIZATION_IDENTIFIER

          public static final ASN1ObjectIdentifier ORGANIZATION_IDENTIFIER

      id-at-organizationIdentifier

    - #### EmailAddress

          public static final ASN1ObjectIdentifier 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

          public static final ASN1ObjectIdentifier UnstructuredName

      more from PKCS#9

    - #### UnstructuredAddress

          public static final ASN1ObjectIdentifier UnstructuredAddress

    - #### E

          public static final ASN1ObjectIdentifier E

      email address in Verisign certificates

    - #### DC

          public static final ASN1ObjectIdentifier DC

    - #### UID

          public static final ASN1ObjectIdentifier UID

      LDAP User id.

    - #### INSTANCE

          public static final X500NameStyle INSTANCE

      Singleton instance.

    - #### defaultLookUp

          protected final java.util.Hashtable defaultLookUp

    - #### defaultSymbols

          protected final java.util.Hashtable defaultSymbols

  - ### Constructor Detail

    - #### BCStyle

          protected BCStyle()

  - ### Method Detail

    - #### encodeStringValue

          protected ASN1Encodable encodeStringValue​(ASN1ObjectIdentifier oid,
                                                    java.lang.String value)

      Description copied from class: `AbstractX500NameStyle`
      Encoded every value into a UTF8String.

      Subclasses should overwrite this method to change the encoding of specific types.

      Overrides:
        `encodeStringValue` in class `AbstractX500NameStyle`
      Parameters:
        `oid` - the DN oid of the value
        `value` - the String representation of the value
      Returns:
        a the value encoded into a ASN.1 object. Never returns `null`.

    - #### oidToDisplayName

          public java.lang.String oidToDisplayName​(ASN1ObjectIdentifier oid)

      Description copied from interface: `X500NameStyle`
      Return the display name for toString() associated with the OID.
      Parameters:
        `oid` - the OID of interest.
      Returns:
        the name displayed in toString(), null if no mapping provided.

    - #### oidToAttrNames

          public java.lang.String[] oidToAttrNames​(ASN1ObjectIdentifier oid)

      Description copied from interface: `X500NameStyle`
      Return the acceptable names in a String DN that map to OID.
      Parameters:
        `oid` - the OID of interest.
      Returns:
        an array of String aliases for the OID, zero length if there are none.

    - #### attrNameToOID

          public ASN1ObjectIdentifier attrNameToOID​(java.lang.String attrName)

      Description copied from interface: `X500NameStyle`
      Return the OID associated with the passed in name.
      Parameters:
        `attrName` - the string to match.
      Returns:
        an OID

    - #### fromString

          public RDN[] fromString​(java.lang.String dirName)

      Description copied from interface: `X500NameStyle`
      Return an array of RDN generated from the passed in String.
      Parameters:
        `dirName` - the String representation.
      Returns:
        an array of corresponding RDNs.

    - #### toString

          public java.lang.String toString​(X500Name name)

      Description copied from interface: `X500NameStyle`
      Convert the passed in X500Name to a String.
      Parameters:
        `name` - the name to convert.
      Returns:
        a String representation.