Class DERPrintableString

  • All Implemented Interfaces:
    ASN1Encodable, ASN1String, Encodable

    public class DERPrintableString
    extends ASN1Primitive
    implements ASN1String
    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 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.
    • Method Detail

      • getInstance

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

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

        public java.lang.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 byte[] getOctets()
      • toString

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

        public static boolean isPrintableString​(java.lang.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.