Konstanten für Netscape-Erweiterungen
Die folgenden Netscape-Erweiterungen werden für Codierungs- und Decodierungsvorgänge verwendet. Die vordefinierten Netscape-Konstanten und Objektbezeichnerzeichenfolgen werden nicht direkt mit den Codierungs- oder Decodierungsfunktionen CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject oder CryptDecodeObjectEx verwendet. Stattdessen erfordern diese Erweiterungen die Verwendung des angezeigten lpszStructType .
Weitere Details, die für einige Netscape-Erweiterungen gelten, finden Sie in den Anmerkungen nach der Tabelle.
Netscape-Zertifikaterweiterungsobjektbezeichner | lpszStructType | Entsprechende pvStructInfo |
---|---|---|
szOID_NETSCAPE_BASE_URL "2.16.840.1.113730.1.2" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Member des Value-Members verweist auf eine IA5_STRING, die am Anfang aller relativen URL-Adressen in einem Zertifikat hinzugefügt wurde. Diese Erweiterung kann als Optimierung betrachtet werden, um die Größe der URL-Erweiterungen zu reduzieren. |
szOID_NETSCAPE_CA_POLICY_URL "2.16.840.1.113730.1.8" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Element des Value-Members verweist auf eine IA5_STRING, die relative oder absolute URL der Webseite, die die Richtlinien beschreibt, unter denen das Zertifikat ausgestellt wurde. |
szOID_NETSCAPE_CA_REVOCATION_URL"2.16.840.1.113730.1.4" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Member des Value-Members verweist auf eine IA5_STRING, die die relative oder absolute URL ist, die verwendet wird, um die Sperrung status von Zertifikaten zu überprüfen, die von der Zertifizierungsstelle signiert wurden, der das aktuelle Zertifikat angehört. |
szOID_NETSCAPE_CERT_RENEWAL_URL "2.16.840.1.113730.1.7" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Member des Value-Members verweist auf eine IA5_STRING, die die relative oder absolute URL eines Zertifikatverlängerungsformulars darstellt. |
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 oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Element des Value-Members verweist auf einen IA5_STRING, der ein Kommentar ist, der beim Anzeigen des Zertifikats angezeigt werden soll. |
szOID_NETSCAPE_REVOCATION_URL"2.16.840.1.113730.1.3" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Member des Value-Members verweist auf eine IA5_STRING, bei der es sich um eine relative oder absolute URL handelt, die zum Überprüfen der Sperrung status des Zertifikats verwendet wird. |
szOID_NETSCAPE_SSL_SERVER_NAME "2.16.840.1.113730.1.12" |
X509_ANY_STRING oder X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. Das dwValueType-Element ist auf CERT_RDN_IA5_STRING festgelegt. Das pbData-Member des Value-Members verweist auf einen IA5_STRING, bei dem es sich um einen Shellausdruck handelt, der verwendet wird, um den Hostnamen des SSL-Servers unter Verwendung dieses Zertifikats abzugleichen. |
Für alle Codierungsfunktionen, die entweder die X509_ANY_STRING oder die X5O9_UNICODE_ANY_STRING lpszStructType verwenden, wird X509_ANY_STRING verwendet, wenn das Zeichenfolgenformat im pbData-Member des Value-Members ASCII und X509_UNICODE_ANY_STRING verwendet wird, wenn das Zeichenfolgenformat UNICODE ist. Im Unicode-Fall muss die Zeichenfolge vor der Codierung in einen IA5_STRING konvertiert werden, indem das dwValueType-Element der CERT_NAME_VALUE Struktur auf CERT_RDN_IA5_STRING festgelegt wird.
Für Decodierungsfunktionen wählt der Benutzer das Format der Ausgabezeichenfolge aus. Verwenden Sie X509_ANY_STRING, wenn das gewünschte Zeichenfolgenformat ASCII ist, und X509_UNICODE_ANY_STRING, wenn das gewünschte Zeichenfolgenformat Unicode ist.
Für die szOID_NETSCAPE_CERT_RENEWAL_URL-Erweiterung enthält die Datenstruktur eine relative oder absolute URL, die auf ein Zertifikatverlängerungsformular verweist. Auf das Verlängerungsformular wird mit einer HTTP GET-Methode zugegriffen, wobei eine URL verwendet wird, die die Verkettung von renewal-URL und certificate-serial-number darstellt. Die Zertifikatsseriennummer ist als Zeichenfolge von ASCII-Hexadezimalstellen codiert. Wenn die netscape-base-url beispielsweise https:// Zertifizierungsstellen-URL/, netscape-cert-renewal-url cgi-bin/check-renew.cgi? und die Zertifikatsseriennummer 173420 lautet, lautet die resultierende URL: https:// zertifizierungsstelle URL/cgi-bin/check-renew.cgi?02a56c. Das zurückgegebene Dokument sollte ein HTML-Formular sein, das es dem Benutzer ermöglicht, eine Verlängerung seines Zertifikats anzufordern.
Für die szOID_NETSCAPE_CERT_SEQUENCE-Erweiterung mit X509_ASN_ENCODING wird das Zertifikat als PKCS_CONTENT_INFO Struktur codiert, die eine Sequenz von ANY umschließt. Der Wert des contentType-Members ist pszObjId, während das Inhaltsfeld die folgende Struktur aufweist:
SequenceOfAny ::= SEQUENCE OF ANY
Die CRYPT_DER_BLOBim rgValue-Member des CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY auf codierte X509-Zertifikate verweisen.
Für szOID_NETSCAPE_CERT_TYPE Erweiterungen werden die folgenden Bits definiert.
Bitwert | Entsprechender Typ |
---|---|
0x80 | NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE |
0x40 | NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE |
0x04 | NETSCAPE_SSL_CA_CERT_TYPE |
Für die szOID_NETSCAPE_REVOCATION_URL-Erweiterungen kann eine relative oder absolute URL verwendet werden, um die Sperrung status eines Zertifikats zu überprüfen. Die Sperrprüfung wird als HTTP GET-Methode unter Verwendung einer URL durchgeführt, die die Verkettung von revocation-URL und certificate-serial-number darstellt. Die Zertifikatsseriennummer ist als Zeichenfolge von ASCII-Hexadezimalstellen codiert. Wenn die netscape-base-URL beispielsweise lautet https://www.certs-r-us.com/, die netscape-revocation-url cgi-bin/check-rev.cgi? lautet und die Zertifikatsseriennummer 173420 lautet, lautet die resultierende URL: https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.
Der Server sollte ein Dokument mit einem Inhaltstyp der Anwendung/x-netscape-revocation zurückgeben. Das Dokument sollte eine einzelne ASCII-Ziffer, "1" enthalten, wenn das Zertifikat derzeit nicht gültig ist, und "0", wenn es aktuell gültig ist.
Beachten Sie, dass für alle URLs, die die Zertifikatsseriennummer enthalten, die Seriennummer als Zeichenfolge codiert wird, die aus einer geraden Anzahl von Hexadezimalstellen besteht. Wenn die Anzahl der signifikanten Ziffern ungerade ist, weist die Zeichenfolge eine einzelne führende Null auf, um sicherzustellen, dass eine gerade Anzahl von Ziffern generiert wird.