字符串类型
(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) 的第一个平面。 共有17架编号为 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
- ' ( ) + , - . / : = ? [space]
TeletexString
编码标记:0x14
TeletexString 和相关 T61String 数据类型在 8 位 (编码,或复合字符) 的 16 位编码。 它们都有0x14的标记号。 它们未得到广泛使用。
UTF8String
编码标记:0x0C
Certreq.exe名称:UTF8_STRING
8 位 UCS/Unicode 转换格式 (UTF-8) 是一种长度可变的字符编码,可以将任何通用字符表示为 Unicode 字符,同时允许初始码位与 ASCII 保持一致。 UTF-8 使用 1 到 4 个字节。 标记号为0x0C。
相关主题