Constantes para extensiones de Netscape
Las siguientes extensiones de Netscape se usan con operaciones de codificación y descodificación. Las constantes predefinidas de Netscape y las cadenas de identificador de objeto no se usan directamente con las funciones de codificación o descodificación, CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject o CryptDecodeObjectEx. En su lugar, estas extensiones requieren el uso de lpszStructType mostrado.
Para obtener más detalles que se aplican a algunas extensiones de Netscape, consulte los comentarios que se indican a continuación de la tabla.
Identificadores de objeto de extensión de certificado de Netscape | lpszStructType | PvStructInfo correspondiente |
---|---|---|
szOID_NETSCAPE_BASE_URL"2.16.840.1.113730.1.2" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING agregado al principio de todas las direcciones URL relativas de un certificado. Esta extensión se puede considerar una optimización para reducir el tamaño de las extensiones de dirección URL. |
szOID_NETSCAPE_CA_POLICY_URL"2.16.840.1.113730.1.8" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING, la dirección URL relativa o absoluta de la página web que describe las directivas en las que se emitió el certificado. |
szOID_NETSCAPE_CA_REVOCATION_URL"2.16.840.1.113730.1.4" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING que es la dirección URL relativa o absoluta que se usa para comprobar el estado de revocación de los certificados firmados por la entidad de certificación a la que pertenece el certificado actual. |
szOID_NETSCAPE_CERT_RENEWAL_URL"2.16.840.1.113730.1.7" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING que es la dirección URL relativa o absoluta de un formulario de renovación de certificados. |
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 o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING que es un comentario que se va a mostrar cuando se ve el certificado. |
szOID_NETSCAPE_REVOCATION_URL"2.16.840.1.113730.1.3" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING que es una dirección URL relativa o absoluta que se usa para comprobar el estado de revocación del certificado. |
szOID_NETSCAPE_SSL_SERVER_NAME"2.16.840.1.113730.1.12" |
X509_ANY_STRING o X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. El miembro dwValueType se establece en CERT_RDN_IA5_STRING. El miembro pbData del miembro Value apunta a un IA5_STRING que es una expresión de shell que se usa para hacer coincidir el nombre de host del servidor SSL mediante este certificado. |
Para todas las funciones de codificación que usan el X509_ANY_STRING o el X5O9_UNICODE_ANY_STRING lpszStructType, se usa X509_ANY_STRING si el formato de cadena en el miembro pbData del miembro Value es ASCII y se usa X509_UNICODE_ANY_STRING si el formato de cadena es UNICODE. En el caso Unicode, la cadena debe convertirse en un IA5_STRING antes de codificar estableciendo el miembro dwValueType de la estructura CERT_NAME_VALUE en CERT_RDN_IA5_STRING.
Para las funciones de descodificación, el usuario selecciona el formato de la cadena de salida. Use X509_ANY_STRING si el formato de cadena deseado es ASCII y X509_UNICODE_ANY_STRING si el formato de cadena deseado es Unicode.
Para la extensión szOID_NETSCAPE_CERT_RENEWAL_URL, la estructura de datos contiene una dirección URL relativa o absoluta que apunta a un formulario de renovación de certificados. Se tendrá acceso al formulario de renovación con un método HTTP GET mediante una dirección URL que sea la concatenación de la dirección URL de renovación y el número de serie del certificado. El número de serie de certificado se codifica como una cadena de dígitos hexadecimales ASCII. Por ejemplo, si netscape-base-url es https:// certification authority URL/, netscape-cert-renewal-url es cgi-bin/check-renew.cgi?, y el número de serie del certificado es 173420, la dirección URL resultante sería: https:// certification authority URL/cgi-bin/check-renew.cgi?02a56c. El documento devuelto debe ser un formulario HTML que permita al usuario solicitar una renovación de su certificado.
Para la extensión de szOID_NETSCAPE_CERT_SEQUENCE mediante X509_ASN_ENCODING, el certificado se codifica como una estructura de PKCS_CONTENT_INFO encapsulando una secuencia de ANY. El valor del miembro contentType es pszObjId, mientras que el campo de contenido es la siguiente estructura:
SequenceOfAny ::= SEQUENCE OF ANY
Los CRYPT_DER_BLOB del punto de miembro rgValue del CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY a certificados X509 codificados.
Para szOID_NETSCAPE_CERT_TYPE extensiones, se definen los bits siguientes.
Valor de bit | Tipo correspondiente |
---|---|
0x80 | NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE |
0x40 | NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE |
0x04 | NETSCAPE_SSL_CA_CERT_TYPE |
Para las extensiones de szOID_NETSCAPE_REVOCATION_URL, se puede usar una dirección URL relativa o absoluta para comprobar el estado de revocación de un certificado. La comprobación de revocación se realizará como un método HTTP GET mediante una dirección URL que sea la concatenación de la dirección URL de revocación y el número de serie de certificado. El número de serie de certificado se codifica como una cadena de dígitos hexadecimales ASCII. Por ejemplo, si netscape-base-url es https://www.certs-r-us.com/, netscape-revocation-url es cgi-bin/check-rev.cgi?, y el número de serie del certificado es 173420, la dirección URL resultante sería: https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.
El servidor debe devolver un documento con un tipo de contenido de application/x-netscape-revocation. El documento debe contener un solo dígito ASCII, "1" si el certificado no es válido actualmente y "0" si es válido actualmente.
Tenga en cuenta que para todas las direcciones URL que incluyen el número de serie del certificado, el número de serie se codificará como una cadena que consta de un número par de dígitos hexadecimales. Si el número de dígitos significativos es impar, la cadena tendrá un único cero inicial para asegurarse de que se genera un número par de dígitos.