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成員指向IA5_STRING新增至憑證中所有相對 URL 位址的開頭。 此延伸模組可視為優化,以減少 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成員指向IA5_STRING,這是憑證更新表單的相對或絕對 URL。 |
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成員指向IA5_STRING,這是用來檢查憑證撤銷狀態的相對或絕對 URL。 |
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的所有編碼函式,如果 Value 成員 pbData 成員中的字串格式是 ASCII,則會使用 X509_ANY_STRING,而且如果字串格式為 UNICODE,則會使用X509_UNICODE_ANY_STRING。 在 Unicode 案例中,必須將CERT_NAME_VALUE結構的dwValueType成員設定為 CERT_RDN_IA5_STRING,才能在編碼之前將字串轉換成 IA5_STRING。
針對解碼函式,使用者會選取輸出字串的格式。 如果所需的字串格式為 ASCII,請使用 X509_ANY_STRING,如果所需的字串格式為 Unicode,請使用 X509_UNICODE_ANY_STRING。
針對szOID_NETSCAPE_CERT_RENEWAL_URL延伸模組,資料結構包含指向憑證更新表單的相對或絕對 URL。 更新表單將會使用 HTTP GET 方法存取,其 URL 是更新 URL 和 certificate-serial-number 的串連。 憑證序號會編碼為 ASCII 十六進位數位的字串。 例如,如果 netscape-base-url 是 HTTPs:// certification 授權單位 URL/,netscape-cert-renew-url 是 cgi-bin/check-renew.cgi?,而憑證序號為 173420,則產生的 URL 會是:HTTPs:// certification authority 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_ANY rgValue成員中的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 和 certificate-serial-number 串連的 URL,以 HTTP GET 方法的形式執行。 憑證序號會編碼為 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,序號會編碼為包含偶數十六進位數位的字串。 如果有效位數是奇數,則字串會有單一前置零,以確保產生偶數位數。