Constantes para extensões do Netscape
As extensões do Netscape a seguir são usadas com operações de codificação e decodificação. As constantes predefinidas do Netscape e as cadeias de caracteres do identificador de objeto não são usadas diretamente com as funções de codificação ou decodificação, CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject ou CryptDecodeObjectEx. Em vez disso, essas extensões exigem o uso do lpszStructType mostrado.
Para obter detalhes adicionais que se aplicam a algumas extensões do Netscape, consulte as observações que seguem a tabela.
Identificadores de objeto de extensão de certificado netscape | Lpszstructtype | PvStructInfo correspondente |
---|---|---|
szOID_NETSCAPE_BASE_URL"2.16.840.1.113730.1.2" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING adicionado ao início de todos os endereços de URL relativos em um certificado. Essa extensão pode ser considerada uma otimização para reduzir o tamanho das extensões de URL. |
szOID_NETSCAPE_CA_POLICY_URL"2.16.840.1.113730.1.8" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING, a URL relativa ou absoluta da página da Web que descreve as políticas sob as quais o certificado foi emitido. |
szOID_NETSCAPE_CA_REVOCATION_URL"2.16.840.1.113730.1.4" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING que é a URL relativa ou absoluta usada para verificar o status de revogação de certificados assinados pela autoridade de certificação à qual o certificado atual pertence. |
szOID_NETSCAPE_CERT_RENEWAL_URL"2.16.840.1.113730.1.7" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING que é a URL relativa ou absoluta de um formulário de renovação de certificado. |
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 ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membropbData do membro Value aponta para um IA5_STRING que é um comentário a ser exibido quando o certificado é exibido. |
szOID_NETSCAPE_REVOCATION_URL"2.16.840.1.113730.1.3" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING que é uma URL relativa ou absoluta usada para verificar o status de revogação do certificado. |
szOID_NETSCAPE_SSL_SERVER_NAME"2.16.840.1.113730.1.12" |
X509_ANY_STRING ou X509_UNICODE_ANY_STRING |
CERT_NAME_VALUE. O membro dwValueType está definido como CERT_RDN_IA5_STRING. O membro pbData do membro Value aponta para um IA5_STRING que é uma expressão de shell usada para corresponder ao nome do host do servidor SSL usando esse certificado. |
Para todas as funções de codificação que usam o X509_ANY_STRING ou o X5O9_UNICODE_ANY_STRING lpszStructType, X509_ANY_STRING será usado se o formato de cadeia de caracteres no membro pbData do membro Value for ASCII e X509_UNICODE_ANY_STRING for usado se o formato de cadeia de caracteres for UNICODE. No caso Unicode, a cadeia de caracteres deve ser convertida em um IA5_STRING antes de codificar definindo o membro dwValueType da estrutura CERT_NAME_VALUE como CERT_RDN_IA5_STRING.
Para funções de decodificação, o usuário seleciona o formato da cadeia de caracteres de saída. Use X509_ANY_STRING se o formato de cadeia de caracteres desejado for ASCII e X509_UNICODE_ANY_STRING se o formato de cadeia de caracteres desejado for Unicode.
Para a extensão szOID_NETSCAPE_CERT_RENEWAL_URL, a estrutura de dados contém uma URL relativa ou absoluta que aponta para um formulário de renovação de certificado. O formulário de renovação será acessado com um método HTTP GET usando uma URL que é a concatenação da renovação-URL e do certificado-serial-number. O certificado-serial-number é codificado como uma cadeia de caracteres de dígitos hexadecimal ASCII. Por exemplo, se o netscape-base-url for https:// a URL de autoridade de certificação/, o netscape-cert-renewal-url for cgi-bin/check-renew.cgi?, e o número de série do certificado for 173420, a URL resultante será: https:// a autoridade de certificação URL/cgi-bin/check-renew.cgi?02a56c. O documento retornado deve ser um formulário HTML que permitirá que o usuário solicite uma renovação de seu certificado.
Para a extensão szOID_NETSCAPE_CERT_SEQUENCE usando X509_ASN_ENCODING, o certificado é codificado como uma estrutura PKCS_CONTENT_INFO encapsulando uma sequência de ANY. O valor do membro contentType é pszObjId, enquanto o campo de conteúdo é a seguinte estrutura:
SequenceOfAny ::= SEQUENCE OF ANY
O CRYPT_DER_BLOB no ponto de membro rgValue do CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY para certificados X509 codificados.
Para extensões szOID_NETSCAPE_CERT_TYPE, os bits a seguir são definidos.
Valor de bit | Tipo correspondente |
---|---|
0x80 | NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE |
0x40 | NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE |
0x04 | NETSCAPE_SSL_CA_CERT_TYPE |
Para as extensões szOID_NETSCAPE_REVOCATION_URL, uma URL relativa ou absoluta pode ser usada para verificar o status de revogação de um certificado. A verificação de revogação será executada como um método HTTP GET usando uma URL que é a concatenação de revocation-URL e certificate-serial-number. O certificado-serial-number é codificado como uma cadeia de caracteres de dígitos hexadecimal ASCII. Por exemplo, se o netscape-base-url for https://www.certs-r-us.com/, o netscape-revocation-url será cgi-bin/check-rev.cgi?, e o número de série do certificado for 173420, a URL resultante será: https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.
O servidor deve retornar um documento com um tipo de conteúdo de application/x-netscape-revocation. O documento deve conter um único dígito ASCII, "1" se o certificado não for válido no momento e "0" se ele for válido no momento.
Observe que, para todas as URLs que incluem o número de série do certificado, o número de série será codificado como uma cadeia de caracteres que consiste em um número par de dígitos hexadecimal. Se o número de dígitos significativos for ímpar, a cadeia de caracteres terá um único zero à esquerda para garantir que um número par de dígitos seja gerado.