X500NameFlags 枚举 (certenroll.h)

X500NameFlags 枚举类型指定可分辨名称的显示和 编码 特征或 相对可分辨名称(RDN)。 此枚举用于初始化 IX500DistinguishedName 对象。

语法

typedef enum X500NameFlags {
  XCN_CERT_NAME_STR_NONE = 0,
  XCN_CERT_SIMPLE_NAME_STR = 1,
  XCN_CERT_OID_NAME_STR = 2,
  XCN_CERT_X500_NAME_STR = 3,
  XCN_CERT_XML_NAME_STR = 4,
  XCN_CERT_NAME_STR_SEMICOLON_FLAG = 0x40000000,
  XCN_CERT_NAME_STR_NO_PLUS_FLAG = 0x20000000,
  XCN_CERT_NAME_STR_NO_QUOTING_FLAG = 0x10000000,
  XCN_CERT_NAME_STR_CRLF_FLAG = 0x8000000,
  XCN_CERT_NAME_STR_COMMA_FLAG = 0x4000000,
  XCN_CERT_NAME_STR_REVERSE_FLAG = 0x2000000,
  XCN_CERT_NAME_STR_FORWARD_FLAG = 0x1000000,
  XCN_CERT_NAME_STR_AMBIGUOUS_SEPARATOR_FLAGS,
  XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG = 0x10000,
  XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = 0x20000,
  XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG = 0x40000,
  XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG = 0x80000,
  XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG = 0x100000,
  XCN_CERT_NAME_STR_ENABLE_PUNYCODE_FLAG = 0x200000,
  XCN_CERT_NAME_STR_DS_ESCAPED = 0x800000
} ;

常数

 
XCN_CERT_NAME_STR_NONE
值:0
未标识显示特征。
XCN_CERT_SIMPLE_NAME_STR
值:1
将丢弃所有 对象标识符(OID)。 相对可分辨名称(RDN)用逗号分隔,后跟空格(, )。 RDN 属性由括在空格中的加号分隔(+ )。
XCN_CERT_OID_NAME_STR
值:2
OID 使用等号(=)与其关联的属性值分离。 RDN 用逗号分隔,后跟空格 (, ) 。 RDN 属性由加号分隔,后跟空格(+ )。
XCN_CERT_X500_NAME_STR
值:3
OID 转换为其 X.500 密钥名称。 它们通过使用等号(=)与关联的属性值分离。 RDN 用逗号分隔,后跟空格 (, ) 。 RDN 属性由加号分隔,后跟空格(+ )。

如果 OID 没有相应的 X.500 名称,则 OID 与 OID 前缀一起使用。 如果 RDN 包含前导空格或尾随空格或下列字符之一,则 RDN 将括在引号(“”“)中:

  • 逗号 (,)

  • 加号 (+)

  • 等号 (=)

  • 英寸标记 (“)

  • 换行符(\n)

  • 小于符号 (<)

  • 大于符号 (>)

  • 数字符号 (#)

  • 分号 (;)

  • 嵌入引号 (“)

XCN_CERT_XML_NAME_STR
值:4
OID 的处理方式与用于转换XCN_CERT_X500_NAME_ST值的方式相同,只是它们的格式设置为 XML 元素序列。 以下示例中显示了这一点:


<CN>cart.contoso.com</CN>
<OU>使用条款 www.verisign.com/rpa(c)00</OU>
<OU rDNAttribute=“true”>IT 操作</OU>
<O>Contoso.com</O>
<L>纽约</L>
<S>纽约</S>
<C>美国</C>
<RDN oid=“1.2.3.4” type=“string”>名称</RDN>
<RDN rDNAttribute=“true” oid=“1.2.1.3” type=“encoded”>0500</RDN>
<RDN oid=“1.2.1.4” type=“encoded”>020135</RDN>
<RDN oid=“1.2.2.5.3” type=“octet”>01FF7F</RDN>


Unicode XML 标记字符采用以下方式进行转义。 大于0x7F的字符通过使用字符引用(L“&#xXXXX;)进行转义”。


  • & 成为 L“&”

  • < 成为 L“<”

  • > 变为 L“>”

  • ' 成为 L“'”

  • “成为 L”&商;”

XCN_CERT_NAME_STR_SEMICOLON_FLAG
值:0x40000000
RDN 之间使用的逗号(,)分隔符将替换为分号(;)个字符)。
XCN_CERT_NAME_STR_NO_PLUS_FLAG
值:0x20000000
RDN 属性之间使用的 (+) 分隔符将替换为单个空格字符。
XCN_CERT_NAME_STR_NO_QUOTING_FLAG
值:0x10000000
禁止对XCN_CERT_X500_NAME_ST值使用引号。
XCN_CERT_NAME_STR_CRLF_FLAG
值:0x8000000
RDN 之间使用的逗号(,)分隔符将替换为回车符/换行符(\r\n)序列。
XCN_CERT_NAME_STR_COMMA_FLAG
值:0x4000000
指定 RDN 之间的分隔符是逗号(,)。
XCN_CERT_NAME_STR_REVERSE_FLAG
值:0x2000000
指定构成可分辨名称的 RDN 的顺序将反向进行编码。 典型的 DN 显示顺序为 CN=名称,..., DC=com。 使用此标志可将编码顺序更改为 DC=com,..., CN=名称IX500DistinguishedName 对象默认设置此标志,除非指定XCN_CERT_NAME_STR_FORWARD_FLAG。
XCN_CERT_NAME_STR_FORWARD_FLAG
值:0x1000000
用于撤消通过设置XCN_CERT_NAME_STR_REVERSE_FLAG值指定的编码顺序。
XCN_CERT_NAME_STR_AMBIGUOUS_SEPARATOR_FLAGS
XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG
值:0x10000
跳过将 T.61 Teletex 字符值解码为 UTF-8 值的初始尝试。 默认情况下,T.61 值最初解码为 UTF-8,但如果 UTF-8 解码失败,则值将解码为 8 位字符。
XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG
值:0x20000
T.61 用于小于0xFF的所有字符的 Unicode 字符编码。 例如,LDAP 使用 T.61。
XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG
值:0x40000
UTF-8 用于可分辨名称(DN),而不是 Unicode 字符编码。
XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG
值:0x80000
强制将以下 X.500 键编码为 UTF-8 字符串,而不是可打印的 Unicode 字符串。 下面是键及其相应的对象标识符(OID)的列表。


  • CN - XCN_OID_COMMON_NAME

  • G - XCN_OID_GIVEN_NAME

  • GivenName - XCN_OID_GIVEN_NAME

  • GN - XCN_OID_GIVEN_NAME

  • I - XCN_OID_INITIALS

  • 缩写 - XCN_OID_INITIALS

  • L - XCN_OID_LOCALITY_NAME

  • O - XCN_ORGANIZATION_NAME

  • OU - XCN_OID_ORGANIZATIONAL_UNIT_NAME

  • S - XCN_OID_STATE_OR_PROVINCE_NAME

  • SN - XCN_ID_SUR_NAME

  • ST - XCN_OID_STATE_OR_PROVINCE_NAME

  • STREET - XCN_OID_STREET_ADDRESS

  • T - XCN_OID_TITLE

  • 标题 - XCN_OID_TITLE

XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG
值:0x100000
防止强制使用 UTF-8 对可打印 Unicode 字符串进行编码。 当XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG为默认行为时使用。
XCN_CERT_NAME_STR_ENABLE_PUNYCODE_FLAG
值:0x200000
包含 Unicode 字符的字符串将转码为 Punycode,这是用于 Internet 主机名的有限 ASCII 字符子集。 此 ASCII 字符子集由字母、数字和连字符组成。
XCN_CERT_NAME_STR_DS_ESCAPED
值:0x800000
转义在可分辨名称中不允许的字符(DN)。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
标头 certenroll.h

另请参阅

CertEnroll 枚举

CertEnroll 接口

IX500DistinguishedName