Netscape 扩展的常量

以下 Netscape 扩展用于编码和解码作。 Netscape 预定义常量和对象标识符字符串不直接用于编码或解码函数, CryptEncodeObjectCryptEncodeObjectExCryptSignAndEncodeCertificateCryptDecodeObjectCryptDecodeObjectEx。 相反,这些扩展需要使用显示的 lpszStructType

有关适用于某些 Netscape 扩展的其他详细信息,请参阅下表后面的备注。

Netscape 证书扩展对象标识符 lpszStructType 相应的 pvStructInfo
szOID_NETSCAPE_BASE_URL“2.16.840.1.113730.1.2”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 Value 成员的 pbData 成员指向添加到证书中所有相对 URL 地址开头的IA5_STRING。 此扩展可以被视为一种优化,以减少 URL 扩展的大小。
szOID_NETSCAPE_CA_POLICY_URL“2.16.840.1.113730.1.8”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向一个IA5_STRING,该网页的相对或绝对 URL 描述证书所依据的策略。
szOID_NETSCAPE_CA_REVOCATION_URL“2.16.840.1.113730.1.4”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向一个IA5_STRING,即用于检查当前证书所属 证书颁发机构 签名的证书的吊销状态的相对或绝对 URL。
szOID_NETSCAPE_CERT_RENEWAL_URL“2.16.840.1.113730.1.7”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向证书续订表单的相对或绝对 URL 的IA5_STRING。
szOID_NETSCAPE_CERT_SEQUENCE“2.16.840.1.113730.2.5”
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY
szOID_NETSCAPE_CERT_TYPE“2.16.840.1.113730.1.1”
X509_BITS CRYPT_BIT_BLOB
szOID_NETSCAPE_COMMENT“2.16.840.1.113730.1.13”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向查看证书时要显示的注释的IA5_STRING。
szOID_NETSCAPE_REVOCATION_URL“2.16.840.1.113730.1.3”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向用于检查证书吊销状态的相对或绝对 URL 的IA5_STRING。
szOID_NETSCAPE_SSL_SERVER_NAME“2.16.840.1.113730.1.12”
X509_ANY_STRING或X509_UNICODE_ANY_STRING
CERT_NAME_VALUEdwValueType 成员设置为CERT_RDN_IA5_STRING。 成员的 pbData 成员指向一个 shell 表达式,该 IA5_STRING表达式用于与此证书的 SSL 服务器中的主机名匹配。

 

对于使用 X509_ANY_STRING 或 X5O9_UNICODE_ANY_STRING lpszStructType的所有编码函数 X509_ANY_STRING,如果 Value 成员的 pbData 成员中的字符串格式 ASCII,并且如果字符串格式为 UNICODE,则使用X509_UNICODE_ANY_STRING。 在 Unicode 情况下,字符串必须在编码前转换为IA5_STRING,方法是将 CERT_NAME_VALUE 结构的 dwValueType 成员设置为CERT_RDN_IA5_STRING。

对于解码函数,用户选择输出字符串的格式。 如果需要的字符串格式为 ASCII,则使用 X509_ANY_STRING;如果所需的字符串格式为 Unicode,请使用 X509_UNICODE_ANY_STRING。

对于szOID_NETSCAPE_CERT_RENEWAL_URL扩展,数据结构包含指向证书续订表单的相对或绝对 URL。 续订表单将使用 URL 连接续订 URL 和证书序列号的 URL 来访问 HTTP GET 方法。 证书序列号编码为 ASCII 十六进制数字字符串。 例如,如果 netscape-base-url https://证书颁发机构 URL/,netscape-cert-renewal-url 为 cgi-bin/check-renew.cgi?,并且证书序列号为 173420,则生成的 URL 将为:https://证书颁发机构 URL/cgi-bin/check-renew.cgi?02a56c。 返回的文档应为 HTML 表单,允许用户请求续订其证书。

对于使用 X509_ASN_ENCODING 的 szOID_NETSCAPE_CERT_SEQUENCE 扩展,证书编码为包装 ANY 序列的PKCS_CONTENT_INFO结构。 contentType 成员的值 pszObjId,而内容字段是以下结构:

SequenceOfAny ::= SEQUENCE OF ANY

CRYPT_CONTENT_INFO_SEQUENCE_OF_ANYrgValue 成员点中的 CRYPT_DER_BLOB指向编码的 X509 证书。

对于szOID_NETSCAPE_CERT_TYPE扩展,定义了以下位。

位值 相应的类型
0x80 NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE
0x40 NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE
0x04 NETSCAPE_SSL_CA_CERT_TYPE

 

对于szOID_NETSCAPE_REVOCATION_URL扩展,可以使用相对 URL 或绝对 URL 来检查证书的吊销状态。 吊销检查将作为 HTTP GET 方法执行,该 URL 是吊销 URL 和证书序列号的串联。 证书序列号编码为 ASCII 十六进制数字字符串。 例如,如果 netscape-base-url https://www.certs-r-us.com/,则 netscape-revocation-url 为 cgi-bin/check-rev.cgi?,并且证书序列号为 173420,生成的 URL 将为:https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.

服务器应返回应用程序/x-netscape 吊销内容类型的文档。 如果证书当前无效,文档应包含单个 ASCII 数字“1”,如果证书当前有效,则包含“0”。

请注意,对于包含证书序列号的所有 URL,序列号将编码为包含偶数十六进制数字的字符串。 如果有效位数为奇数,则字符串将具有一个前导零,以确保生成偶数位数。