Class ASN1PrintableString

All Implemented Interfaces:
ASN1Encodable, ASN1String, Encodable
Direct Known Subclasses:
DERPrintableString

public abstract class ASN1PrintableString extends ASN1Primitive implements ASN1String
ASN.1 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.

  • Method Details

    • getInstance

      public static ASN1PrintableString getInstance(Object obj)
      Return a printable string from the passed in object.
      Parameters:
      obj - an ASN1PrintableString or an object that can be converted into one.
      Returns:
      an ASN1PrintableString instance, or null.
      Throws:
      IllegalArgumentException - if the object cannot be converted.
    • getInstance

      public static ASN1PrintableString getInstance(ASN1TaggedObject taggedObject, boolean explicit)
      Return a Printable String from a tagged object.
      Parameters:
      taggedObject - the tagged object holding the object we want
      explicit - true if the object is meant to be explicitly tagged false otherwise.
      Returns:
      an ASN1PrintableString instance, or null.
      Throws:
      IllegalArgumentException - if the tagged object cannot be converted.
    • getString

      public final String getString()
      Description copied from interface: ASN1String
      Return a Java String representation of this STRING type's content.
      Specified by:
      getString in interface ASN1String
      Returns:
      a Java String representation of this STRING.
    • getOctets

      public final byte[] getOctets()
    • hashCode

      public final int hashCode()
      Specified by:
      hashCode in class ASN1Primitive
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isPrintableString

      public static boolean isPrintableString(String str)
      return true if the passed in String can be represented without loss as a PrintableString, false otherwise.
      Returns:
      true if in printable set, false otherwise.