共用方式為


字串類型

公開金鑰基礎結構中最常見的字串用法之一, (PKI) 是建立 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,並包含 65,536 個從0x0000到0xFFFF的程式碼點。 這是 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
  • ' ( ) + , - . / : = ? [space]

TeletexString

編碼標記:0x14

TeletexString和相關T61String資料類型會以 8 位 (或 16 位編碼複合字元) 。 兩者都有標籤編號0x14。 它們不會廣泛使用。

UTF8String

編碼標記:0x0C

Certreq.exe名稱:UTF8_STRING

8 位 UCS/Unicode 轉換格式 (UTF-8) 是可變長度字元編碼,可將任何通用字元表示為 Unicode 字元,同時允許初始字碼點與 ASCII 保持一致。 UTF-8 使用一到四個位元組。 標籤編號0x0C。

ASN.1 類型系統

可辨別編碼規則

ASN.1 類型的 DER 編碼