Netscape 延伸模組的常數
下列 Netscape 延伸模組會與編碼和譯碼作業搭配使用。 Netscape 預先定義的常數和對象標識符字串不會直接與編碼或譯碼函式搭配使用, CryptEncodeObject、CryptEncodeObjectEx、CryptSignAndEncodeCertificate、CryptDecodeObject或 CryptDecodeObjectEx。 相反地,這些延伸模組需要使用顯示的 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_VALUE。 dwValueType 成員會設定為 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_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 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_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 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_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 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_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 pbData 成員指向檢視憑證時要顯示的批注IA5_STRING。 |
szOID_NETSCAPE_REVOCATION_URL“2.16.840.1.113730.1.3” |
X509_ANY_STRING或X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 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_VALUE。 dwValueType 成員會設定為 CERT_RDN_IA5_STRING。 Value 成員的 pbData 成員會 IA5_STRING指向殼層運算式,此表達式是用來使用此憑證比對 SSL 伺服器之主機名的殼層表達式。 |
針對使用 X509_ANY_STRING 或 X5O9_UNICODE_ANY_STRING lpszStructType的所有編碼函式 X509_ANY_STRING,如果 Value 成員的 pbData 成員中的字符串格式是 ASCII,則會使用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。 更新表單將會使用 HTTP GET 方法存取,其 URL 是更新 URL 和 certificate-serial-number 串連的 URL。 certificate-serial-number 會編碼為 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 ::= 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 來檢查憑證的撤銷狀態。 撤銷檢查將會使用串連 reation-URL 和 certificate-serial-number 的 URL,以 HTTP GET 方法來執行。 certificate-serial-number 會編碼為 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.
伺服器應該會傳回具有 application/x-netscape-revocation 內容類型的檔。 如果憑證目前無效,則檔應該包含單一 ASCII 數位 「1」,如果憑證目前有效則為 「0」。
請注意,針對包含憑證序號的所有 URL,序號會編碼為包含偶數十六進位數位的字串。 如果有效位數是奇數,則字串會有單一前置零,以確保產生偶數位數。