CERT_RDN_ATTR 结构 (wincrypt.h)
CERT_RDN_ATTR 结构包含 RDN) (相对可分辨名称的单个属性。 整个 RDN 以 包含CERT_RDN_ATTR 结构的数组的 CERT_RDN 结构表示。
语法
typedef struct _CERT_RDN_ATTR {
LPSTR pszObjId;
DWORD dwValueType;
CERT_RDN_VALUE_BLOB Value;
} CERT_RDN_ATTR, *PCERT_RDN_ATTR;
成员
pszObjId
对象标识符 (此结构中定义的属性类型的 OID) 。 此成员可以是以下 OID 之一。
值 |
含义 |
- szOID_AUTHORITY_REVOCATION_LIST
|
安全属性。
|
- szOID_BUSINESS_CATEGORY
|
不区分大小写的字符串。
解释性属性。
|
- szOID_CA_CERTIFICATE
|
安全属性。
|
- szOID_CERTIFICATE_REVOCATION_LIST
|
安全属性。
|
- szOID_COMMON_NAME
|
不区分大小写的字符串。
标记属性。
|
- szOID_COUNTRY_NAME
|
双字符可打印字符串。
地理属性。
|
- szOID_CROSS_CERTIFICATE_PAIR
|
安全属性。
|
- szOID_DESCRIPTION
|
不区分大小写的字符串。 解释性属性。
|
- szOID_DESTINATION_INDICATOR
|
可打印的字符串。
电信寻址属性。
|
- szOID_DEVICE_SERIAL_NUMBER
|
可打印的字符串。
标记属性。
|
- szOID_DOMAIN_COMPONENT
|
IA5 字符串。 DNS 名称组件,例如“com”。
|
- szOID_FACSIMILE_TELEPHONE_NUMBER
|
电信寻址属性。
|
- szOID_GIVEN_NAME
|
不区分大小写的字符串。
名称属性。
|
- szOID_INITIALS
|
不区分大小写的字符串。 名称属性。
|
- szOID_INTERNATIONAL_ISDN_NUMBER
|
数值字符串。
电信寻址属性。
|
- szOID_LOCALITY_NAME
|
不区分大小写的字符串。
地理属性。
|
- szOID_MEMBER
|
关系应用程序属性。
|
- szOID_ORGANIZATION_NAME
|
不区分大小写的字符串。
组织属性。
|
- szOID_ORGANIZATIONAL_UNIT_NAME
|
不区分大小写的字符串。
组织属性。
|
- szOID_OWNER
|
关系应用程序属性。
|
- szOID_PHYSICAL_DELIVERY_OFFICE_NAME
|
不区分大小写的字符串。
邮政寻址属性。
|
- szOID_PKCS_12_FRIENDLY_NAME_ATTR
|
PKCS #12 属性。
|
- szOID_PKCS_12_LOCAL_KEY_ID
|
PKCS #12 属性。
|
- szOID_POST_OFFICE_BOX
|
不区分大小写的字符串。
邮政寻址属性。
|
- szOID_POSTAL_ADDRESS
|
可打印的字符串。
邮政寻址属性。
|
- szOID_POSTAL_CODE
|
不区分大小写的字符串。
邮政寻址属性。
|
- szOID_PREFERRED_DELIVERY_METHOD
|
首选项属性。
|
- szOID_PRESENTATION_ADDRESS
|
OSI 应用程序属性。
|
- szOID_REGISTERED_ADDRESS
|
电信寻址属性。
|
- szOID_ROLE_OCCUPANT
|
关系应用程序属性。
|
- szOID_RSA_emailAddr
|
IA5 字符串。
Email 属性。
|
- szOID_SEARCH_GUIDE
|
解释性属性。
|
- szOID_SEE_ALSO
|
关系应用程序属性。
|
- szOID_STATE_OR_PROVINCE_NAME
|
不区分大小写的字符串。
地理属性。
|
- szOID_STREET_ADDRESS
|
不区分大小写的字符串。
地理属性。
|
- szOID_SUPPORTED_APPLICATION_CONTEXT
|
OSI 应用程序属性。
|
- szOID_SUR_NAME
|
不区分大小写的字符串。
标记属性。
|
- szOID_TELEPHONE_NUMBER
|
电信寻址属性。
|
- szOID_TELETEXT_TERMINAL_IDENTIFIER
|
电信寻址属性。
|
- szOID_TELEX_NUMBER
|
电信寻址属性。
|
- szOID_TITLE
|
不区分大小写的字符串。
组织属性。
|
- szOID_USER_CERTIFICATE
|
安全属性。
|
- szOID_USER_PASSWORD
|
安全属性。
|
- szOID_X21_ADDRESS
|
数值字符串。
电信寻址属性。
|
dwValueType
指示 Value 成员的解释。
此成员可以是以下值之一。
值 |
含义 |
- CERT_RDN_ANY_TYPE
|
pszObjId 成员确定假定的类型和长度。
|
- CERT_RDN_BMP_STRING
|
16 位) (Unicode 字符数组。
|
- CERT_RDN_ENCODED_BLOB
|
编码的数据 BLOB。
|
- CERT_RDN_GENERAL_STRING
|
当前未使用。
|
- CERT_RDN_GRAPHIC_STRING
|
当前未使用。
|
- CERT_RDN_IA5_STRING
|
IA5 (ASCII) 字符的任意字符串。
|
- CERT_RDN_INT4_STRING
|
INT4 元素的数组 (32 位) 。
|
- CERT_RDN_ISO646_STRING
|
128 个字符集 (8 位) 。
|
- CERT_RDN_NUMERIC_STRING
|
只有字符 0 到 9 和空格字符 (8 位) 。
|
- CERT_RDN_OCTET_STRING
|
(8 位) 的任意八位字节字符串。
|
- CERT_RDN_PRINTABLE_STRING
|
8 位) (可打印字符的任意字符串。
|
- CERT_RDN_T61_STRING
|
8 位) (T.61 字符的任意字符串。
|
- CERT_RDN_TELETEX_STRING
|
8 位) (T.61 字符的任意字符串 |
- CERT_RDN_UNICODE_STRING
|
16 位) (Unicode 字符数组。
|
- CERT_RDN_UNIVERSAL_STRING
|
INT4 元素的数组 (32 位) 。
|
- CERT_RDN_UTF8_STRING
|
一个 16 位 Unicode 字符 UTF8 的数组,在网络上编码为 1、2 或 3 个 8 位字符的序列。
|
- CERT_RDN_VIDEOTEX_STRING
|
视频文本字符的任意字符串。
|
- CERT_RDN_VISIBLE_STRING
|
95 个字符集 (8 位) 。
|
通过将按位 OR 操作合并到 dwValueType 成员中,可以合并以下标志。
值 |
含义 |
- CERT_RDN_DISABLE_CHECK_TYPE_FLAG
|
用于编码。 设置后,不会检查字符以确定它们是否对值类型有效。
|
- CERT_RDN_DISABLE_IE4_UTF8_FLAG
|
用于解码。 默认情况下, CERT_RDN_T61_STRING 编码值最初解码为 UTF8。 如果 UTF8 解码失败,值将解码为 8 位字符。 如果设置了此标志,它将跳过最初尝试将 UTF8 解码为 UTF8,并将值解码为 8 位字符。
|
- CERT_RDN_ENABLE_T61_UNICODE_FLAG
|
用于编码。 设置时,如果所有 Unicode 字符均为 <= 0xFF,则选择 CERT_RDN_T61_STRING 值而不是 CERT_RDN_UNICODE_STRING 值。
|
- CERT_RDN_ENABLE_UTF8_UNICODE_FLAG
|
用于编码。 设置后,字符串使用 CERT_RDN_UTF8_STRING 值而不是 CERT_RDN_UNICODE_STRING 值进行编码。
|
- CERT_RDN_FORCE_UTF8_UNICODE_FLAG
|
用于编码。 设置后,字符串使用 CERT_RDN_UTF8_STRING 值而不是 DirectoryString 类型的CERT_RDN_PRINTABLE_STRING 值进行编码。 此外, 还启用了CERT_RDN_ENABLE_UTF8_UNICODE_FLAG 。
Windows Vista、Windows Server 2003 和 Windows XP: 不支持此标志。
|
- CERT_RDN_ENABLE_PUNYCODE_FLAG
|
用于编码。 如果字符串包含电子邮件 RDN,并且电子邮件地址经过 Punycode 编码,则生成的电子邮件地址将编码为 IA5String。 主机名的 Punycode 编码是逐个标签执行的。
用于解码。 如果名称包含电子邮件 RDN,并且电子邮件地址的本地部分或主机名部分包含 Punycode 编码 的 IA5String,则 RDN 字符串值将转换为其 Unicode 等效值。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 不支持此标志。
|
Value
包含属性值 的CERT_RDN_VALUE_BLOB 。 Value 的 cbData 成员是 pbData 成员的长度(以字节为单位)。 它不是 pbData 字符串中的元素数。
例如, DWORD 的长度为 32 位或 4 个字节。 如果 pbData 是 DWORD 数组, 则 cbData 将是数组中 DWORD 元素数的四倍。 SHORT 为 16 位或 2 字节长。 如果 pbData 是 SHORT 元素的数组, 则 cbData 的长度必须是数组长度的两倍。
Value 的 pbData 成员可以是以 null 结尾的 8 位或 16 位字符数组,也可以是固定长度的元素数组。 如果 dwValueType 设置为 CERT_RDN_ENCODED_BLOB,则 对 pbData 进行编码。
要求
要求 |
值 |
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
wincrypt.h |
另请参阅
CERT_RDN
CRYPT_INTEGER_BLOB
CertIsRDNAttrsInCertificateName