公鑰基礎結構中最常見的字串用法之一是建立 X.500 辨別名稱。 例如,憑證要求的主體名稱是藉由結合相對辨別名稱的序列來建立,如下列語法範例所示。
---------------------------------------------------------------------
-- 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))
}
憑證註冊 API 支援下列 ASN.1 字串類型。
BMPString
編碼標籤:0x1E
Certreq.exe 名稱:UNICODE_STRING
基本多語平面 (BMP) 是一種字元編碼,其中包含通用字元集 (UCS) 的第一個平面。 有十七架飛機編號為 0 到 16。 BMP 佔用平面 0,包括從0x0000到0xFFFF的 65,536 個代碼點。 這是 Unicode 字元對應區段,到目前為止,大部分的字元指派都已進行。 它包括拉丁文、中東、亞洲、非洲和其他語言。
IA5String
編碼標籤:0x16
Certreq.exe 名稱: IA5_STRING
國際字母數位 5 (IA5) 通常相當於 ASCII 字母,但不同的版本可以包含地區語言特有的輔色或其他字元。 下列範例顯示 AlternativeNames 憑證延伸模組的 ASN.1 定義中使用的 IA5String 類型。
---------------------------------------------------------------------
-- 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
編碼卷標:0x13
Certreq.exe 名稱:PRINTABLE_STRING
PrintableString 數據類型原本是用來表示大型主機輸入終端機可用的有限字元集,但仍常使用。 其中包含下列字元:
- A-Z
- a-z
- 0-9
- ' ( ) + , - . / : = ? [空格]
TeletexString
編碼標籤:0x14
TeletexString 和相關 T61String 數據類型會編碼為 8 位(或複合字元的 16 位)。 兩者都有標籤號0x14。 它們並未廣泛使用。
UTF8字串
編碼標籤:0x0C
Certreq.exe 名稱:UTF8_STRING
8 位 UCS/Unicode 轉換格式 (UTF-8) 是可變長度字元編碼,可將任何通用字元表示為 Unicode 字元,同時允許初始代碼點與 ASCII 保持一致。 UTF-8 使用一到四個字節。 標籤號碼是0x0C。
相關主題
-
ASN.1 類型的 DER 編碼