Zeichenfolgentypen
Eine der häufigsten Verwendungen von Zeichenfolgen in einer öffentlichen Schlüsselinfrastruktur (PKI) besteht darin, einen X.500 Distinguished Name zu erstellen. So wird beispielsweise der Betreffname einer Zertifikatanforderung erstellt, indem eine Sequenz relativ unterschiedener Namen kombiniert wird, wie im folgenden Syntaxbeispiel dargestellt.
---------------------------------------------------------------------
-- Breakdown of a subject name in a certificate request.
---------------------------------------------------------------------
CertificationRequestInfo ::= SEQUENCE
{
version CertificationRequestInfoVersion,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
attributes [0] IMPLICIT Attributes
}
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
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))
}
Die Zertifikatregistrierungs-API unterstützt die folgenden ASN.1-Zeichenfolgentypen.
BMPString
Codierungstag: 0x1E
Certreq.exe Name: UNICODE_STRING
Die Basic Multilingual Plane (BMP) ist eine Zeichencodierung, die die erste Ebene des Universellen Zeichensatzes (UCS) umfasst. Es gibt siebentee Flugzeugen, die 0 bis 16 nummeriert sind. BMP belegt die Ebene 0 und umfasst 65.536 Codepunkte von 0x0000 bis 0xFFFF. Dies ist der Abschnitt der Unicode-Zeichenkarte, in der die meisten der Zeichenzuweisungen bisher vorgenommen wurden. Es umfasst Lateinisch, Mittlerer Osten, Asiatisches, Afrikanisches und andere Sprachen.
IA5String
Codierungstag: 0x16
Certreq.exe Name: IA5_STRING
Die Internationale Alphabetnummer 5 (IA5) entspricht im Allgemeinen dem ASCII-Alphabet, aber verschiedene Versionen können Akzente oder andere Zeichen enthalten, die für eine regionale Sprache spezifisch sind. Das folgende Beispiel zeigt den IA5String-Typ , der in der ASN.1-Definition der AlternativeNames-Zertifikaterweiterung verwendet wird.
---------------------------------------------------------------------
-- AlternativeNames extension
---------------------------------------------------------------------
AltNames ::= SEQUENCE OF GeneralName
GeneralNames ::= AltNames
GeneralName ::= CHOICE
{
otherName [0] IMPLICIT OtherName,
rfc822Name [1] IMPLICIT IA5String,
dNSName [2] IMPLICIT IA5String,
x400Address [3] IMPLICIT SEQUENCE OF ANY,
directoryName [4] EXPLICIT ANY,
ediPartyName [5] IMPLICIT SEQUENCE OF ANY,
uniformResourceLocator [6] IMPLICIT IA5String,
iPAddress [7] IMPLICIT OCTET STRING,
registeredID [8] IMPLICIT OBJECT IDENTIFIER
}
OtherName ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value [0] EXPLICIT ANY
}
PrintableString
Codierungstag: 0x13
Certreq.exe Name: PRINTABLE_STRING
Der PrintableString-Datentyp wurde ursprünglich zum Darstellen der begrenzten Zeichensätze gedacht, die für Mainframe-Eingabeterminals verfügbar sind, aber es wird immer noch verwendet. Es enthält die folgenden Zeichen:
- A-Z
- a-z
- 0-9
- ' ( ) + , - . / : = ? [Leerzeichen]
TeletexString
Codierungstag: 0x14
Die TeletexString - und die zugehörigen T61String-Datentypen werden auf 8 Bit codiert (oder 16 Bit für zusammengesetzte Zeichen). Beide verfügen über eine Tagnummer von 0x14. Sie werden nicht umfassend verwendet.
UTF8String
Codierungstag: 0x0C
Certreq.exe Name: UTF8_STRING
Das 8-Bit-UCS/Unicode-Transformationsformat (UTF-8) ist eine Variable-Länge-Zeichencodierung, die ein beliebiges universelles Zeichen als Unicode-Zeichen darstellen kann, während die anfänglichen Codepunkte mit ASCII konsistent bleiben können. UTF-8 verwendet ein bis vier Bytes. Die Tagnummer ist 0x0C.
Zugehörige Themen