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

org.bouncycastle.asn1

## Class DERPrintableString

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Object
  - - org.bouncycastle.asn1.ASN1Primitive
    - - org.bouncycastle.asn1.ASN1PrintableString
      - - org.bouncycastle.asn1.DERPrintableString

- All Implemented Interfaces:
    ASN1Encodable, ASN1String, Encodable

      public class DERPrintableString
      extends ASN1PrintableString

  DER PrintableString object.

  X.680 section 37.4 defines PrintableString character codes as ASCII subset of following characters:

  - Latin capital letters: 'A' .. 'Z'
  - Latin small letters: 'a' .. 'z'
  - Digits: '0'..'9'
  - Space
  - Apostrophe: '\''
  - Left parenthesis: '('
  - Right parenthesis: ')'
  - Plus sign: '+'
  - Comma: ','
  - Hyphen-minus: '-'
  - Full stop: '.'
  - Solidus: '/'
  - Colon: ':'
  - Equals sign: '='
  - Question mark: '?'

  Explicit character set escape sequences are not allowed.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DERPrintableString(java.lang.String string)` Basic constructor - this does not validate the string
    `DERPrintableString(java.lang.String string, boolean validate)` Constructor with optional validation.

  - ### Method Summary

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

      `getInstance, getInstance, getOctets, getString, getTagged, hashCode, isPrintableString, toString`

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

      `encodeTo, encodeTo, equals, equals, equals, fromByteArray, fromStream, toASN1Primitive`

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

      `getEncoded, getEncoded, hasEncodedTagValue`

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

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

- - ### Constructor Detail

    - #### DERPrintableString

          public DERPrintableString(java.lang.String string)

      Basic constructor - this does not validate the string

    - #### DERPrintableString

          public DERPrintableString(java.lang.String string,
                                    boolean validate)

      Constructor with optional validation.
      Parameters:
        `string` - the base string to wrap.
        `validate` - whether or not to check the string.
      Throws:
        `java.lang.IllegalArgumentException` - if validate is true and the string contains characters that should not be in a PrintableString.