A PrintableString is a restricted character string type in the ASN.1 notation. It is used to describe data that consists only of a specific printable subset of the ASCII character set.
According to the ASN.1 Specification of basic notation,[1] the character set of PrintableString can be expressed as:
Name | Graphic | ASCII Code (DEC) | ASCII Code (HEX) |
---|---|---|---|
Latin capital letters | A,B, ... Z
|
65 - 90 | 41 - 5A |
Latin small letters | a,b, ... z
|
97 - 122 | 61 - 7A |
Numbers | 0,1, ... 9
|
48 - 57 | 30 - 39 |
SPACE | (space) | 32 | 20 |
APOSTROPHE | '
|
39 | 27 |
LEFT PARENTHESIS | (
|
40 | 28 |
RIGHT PARENTHESIS | )
|
41 | 29 |
PLUS SIGN | +
|
43 | 2B |
COMMA | ,
|
44 | 2C |
HYPHEN-MINUS | -
|
45 | 2D |
FULL STOP | .
|
46 | 2E |
SOLIDUS | /
|
47 | 2F |
COLON | :
|
58 | 3A |
EQUALS SIGN | =
|
61 | 3D |
QUESTION MARK | ?
|
63 | 3F |
The PrintableString definition does not include the at sign (@) or ampersand (&). This sometimes causes problems for naive implementers who attempt to put an SMTP email address into an X.509 digital certificate Distinguished Name.
The PrintableString definition does not include asterisk (*) which means it must not be used to represent a wildcard in an X.509 digital certificate Distinguished Name.