共用方式為


字串類型

公鑰基礎結構中最常見的字串用法之一是建立 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 類型系統

辨別編碼規則

ASN.1 類型的 DER 編碼