org.mozilla.jss.pkix.primitive
Class DirectoryString
java.lang.Object
|
+--org.mozilla.jss.pkix.primitive.DirectoryString
- public class DirectoryString
- extends java.lang.Object
- implements ASN1Value
An X.500 DirectoryString.
DirectoryString is defined as follows:
DirectoryString ::= CHOICE {
teletexString TeletexString (SIZE (1..MAX)),
printableString PrintableString (SIZE (1..MAX)),
universalString UniversalString (SIZE (1..MAX)),
utf8String UTF8String (SIZE (1..MAX)),
bmpString BMPString (SIZE (1..MAX)) }
Inner Class Summary |
static class |
DirectoryString.Template
A Template for decoding DirectoryStrings from their BER encoding. |
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
wait,
wait,
wait |
asn1String
private CharacterString asn1String
templateInstance
private static final DirectoryString.Template templateInstance
DirectoryString
private DirectoryString()
DirectoryString
public DirectoryString(java.lang.String s)
throws java.io.CharConversionException
- Encodes a Java String into a Directory String.
The following rules for choosing an encoding are from the
IETF
PKIX document Internet X.509 Public Key Infrastructure:
Certificate and CRL Profile:
- The preferred encoding is UTF8String, and all certificates
issued after December 31, 2003, MUST use UTF8String encoding,
with a few exceptions.
- Until December 31, 2003, strings that fit in the PrintableString
character set MAY use PrintableString.
- Until December 31, 2003, string that fit in the BMPString character
set MAY use BMPString.
- Strings that fit in neither the PrintableString nor the BMPString
character set MUST use UTF8String.
This is all very nice, but for backwards compatibility, what we really
do is:
- Try PrintableString
- Try TeletexString
- Try UniversalString
DirectoryString
public DirectoryString(CharacterString s)
- Creates a DirectoryString from an ASN.1 string.
- Parameters:
s
- Must be a TeletexString, PrintableString, UniversalString,
UTF8String, or BMPString.
toString
public java.lang.String toString()
- Converts an ASN.1 DirectoryString to a Java string.
- Parameters:
dirstr
- An ANY containing a BER-encoded DirectoryString.- Throws:
- InvalidBERException - If the encoding does not contain a
valid DirectoryString.
- Overrides:
- toString in class java.lang.Object
getTag
public Tag getTag()
- Specified by:
- getTag in interface ASN1Value
encode
public void encode(java.io.OutputStream ostream)
throws java.io.IOException
- Specified by:
- encode in interface ASN1Value
encode
public void encode(Tag implicitTag,
java.io.OutputStream ostream)
throws java.io.IOException
- Specified by:
- encode in interface ASN1Value
getTemplate
public static DirectoryString.Template getTemplate()
- Returns a singleton instance of the decoding template for this class.