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

org.bouncycastle.asn1.x509.sigi

## Class PersonalData

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.x509.sigi.PersonalData

- All Implemented Interfaces:
    ASN1Encodable, Encodable

      public class PersonalData
      extends ASN1Object

  Contains personal data for the otherName field in the subjectAltNames extension.

           PersonalData ::= SEQUENCE {
             nameOrPseudonym NameOrPseudonym,
             nameDistinguisher [0] INTEGER OPTIONAL,
             dateOfBirth [1] GeneralizedTime OPTIONAL,
             placeOfBirth [2] DirectoryString OPTIONAL,
             gender [3] PrintableString OPTIONAL,
             postalAddress [4] DirectoryString OPTIONAL
             }

  See Also:
    `NameOrPseudonym`, `SigIObjectIdentifiers`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PersonalData(NameOrPseudonym nameOrPseudonym, java.math.BigInteger nameDistinguisher, ASN1GeneralizedTime dateOfBirth, DirectoryString placeOfBirth, java.lang.String gender, DirectoryString postalAddress)` Constructor from a given details.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ASN1GeneralizedTime` | `getDateOfBirth()`
    `java.lang.String` | `getGender()`
    `static PersonalData` | `getInstance(java.lang.Object obj)`
    `java.math.BigInteger` | `getNameDistinguisher()`
    `NameOrPseudonym` | `getNameOrPseudonym()`
    `DirectoryString` | `getPlaceOfBirth()`
    `DirectoryString` | `getPostalAddress()`
    `ASN1Primitive` | `toASN1Primitive()` Produce an object suitable for an ASN1OutputStream.

    - ### Methods inherited from class org.bouncycastle.asn1.ASN1Object

      `encodeTo, encodeTo, equals, getEncoded, getEncoded, hasEncodedTagValue, hashCode`

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

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

- - ### Constructor Detail

    - #### PersonalData

          public PersonalData(NameOrPseudonym nameOrPseudonym,
                              java.math.BigInteger nameDistinguisher,
                              ASN1GeneralizedTime dateOfBirth,
                              DirectoryString placeOfBirth,
                              java.lang.String gender,
                              DirectoryString postalAddress)

      Constructor from a given details.
      Parameters:
        `nameOrPseudonym` - Name or pseudonym.
        `nameDistinguisher` - Name distinguisher.
        `dateOfBirth` - Date of birth.
        `placeOfBirth` - Place of birth.
        `gender` - Gender.
        `postalAddress` - Postal Address.

  - ### Method Detail

    - #### getInstance

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

    - #### getNameOrPseudonym

          public NameOrPseudonym getNameOrPseudonym()

    - #### getNameDistinguisher

          public java.math.BigInteger getNameDistinguisher()

    - #### getDateOfBirth

          public ASN1GeneralizedTime getDateOfBirth()

    - #### getPlaceOfBirth

          public DirectoryString getPlaceOfBirth()

    - #### getGender

          public java.lang.String getGender()

    - #### getPostalAddress

          public DirectoryString getPostalAddress()

    - #### toASN1Primitive

          public ASN1Primitive toASN1Primitive()

      Produce an object suitable for an ASN1OutputStream.

      Returns:

               PersonalData ::= SEQUENCE {
                 nameOrPseudonym NameOrPseudonym,
                 nameDistinguisher [0] INTEGER OPTIONAL,
                 dateOfBirth [1] GeneralizedTime OPTIONAL,
                 placeOfBirth [2] DirectoryString OPTIONAL,
                 gender [3] PrintableString OPTIONAL,
                 postalAddress [4] DirectoryString OPTIONAL
                 }

      Specified by:
        `toASN1Primitive` in interface `ASN1Encodable`
      Specified by:
        `toASN1Primitive` in class `ASN1Object`
      Returns:
        a DERObject