Costanti per le estensioni Netscape

Le estensioni Netscape seguenti vengono usate con operazioni di codifica e decodifica. Le costanti predefinite e le stringhe di identificatore di oggetto Netscape non vengono usate direttamente con le funzioni di codifica o decodifica, CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject o CryptDecodeObjectEx. Queste estensioni richiedono invece l'uso di lpszStructType visualizzato.

Per altri dettagli che si applicano ad alcune estensioni Netscape, vedere le osservazioni che seguono la tabella.

Identificatori di oggetto dell'estensione del certificato Netscape lpszStructType PvStructInfo corrispondente
szOID_NETSCAPE_BASE_URL"2.16.840.1.113730.1.2"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING aggiunto all'inizio di tutti gli indirizzi URL relativi in un certificato. Questa estensione può essere considerata un'ottimizzazione per ridurre le dimensioni delle estensioni URL.
szOID_NETSCAPE_CA_POLICY_URL"2.16.840.1.113730.1.8"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING, all'URL relativo o assoluto della pagina Web che descrive i criteri con cui è stato rilasciato il certificato.
szOID_NETSCAPE_CA_REVOCATION_URL"2.16.840.1.113730.1.4"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING corrispondente all'URL relativo o assoluto usato per controllare lo stato di revoca dei certificati firmati dall'autorità di certificazione a cui appartiene il certificato corrente.
szOID_NETSCAPE_CERT_RENEWAL_URL"2.16.840.1.113730.1.7"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING corrispondente all'URL relativo o assoluto di un modulo di rinnovo del certificato.
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. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING che rappresenta un commento da visualizzare quando viene visualizzato il certificato.
szOID_NETSCAPE_REVOCATION_URL"2.16.840.1.113730.1.3"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING che è un URL relativo o assoluto usato per controllare lo stato di revoca del certificato.
szOID_NETSCAPE_SSL_SERVER_NAME"2.16.840.1.113730.1.12"
X509_ANY_STRING o X509_UNICODE_ANY_STRING
CERT_NAME_VALUE. Il membro dwValueType è impostato su CERT_RDN_IA5_STRING. Il membro pbData del membro Value punta a un IA5_STRING che è un'espressione della shell utilizzata per trovare la corrispondenza con il nome host del server SSL usando questo certificato.

 

Per tutte le funzioni di codifica che usano il X509_ANY_STRING o il X5O9_UNICODE_ANY_STRING lpszStructType, X509_ANY_STRING viene utilizzato se il formato stringa nel membro pbData del membro Value è ASCII e X509_UNICODE_ANY_STRING viene utilizzato se il formato stringa è UNICODE. Nel caso Unicode, la stringa deve essere convertita in un IA5_STRING prima della codifica impostando il membro dwValueType della struttura CERT_NAME_VALUE su CERT_RDN_IA5_STRING.

Per le funzioni di decodifica, l'utente seleziona il formato della stringa di output. Usare X509_ANY_STRING se il formato di stringa desiderato è ASCII e X509_UNICODE_ANY_STRING se il formato di stringa desiderato è Unicode.

Per l'estensione szOID_NETSCAPE_CERT_RENEWAL_URL, la struttura dei dati contiene un URL relativo o assoluto che punta a un modulo di rinnovo del certificato. Il modulo di rinnovo sarà accessibile con un metodo HTTP GET usando un URL che rappresenta la concatenazione dell'URL di rinnovo e del numero di serie del certificato. Il numero di serie del certificato viene codificato come stringa di cifre esadecimali ASCII. Ad esempio, se netscape-base-url è https:// URL dell'autorità di certificazione/, netscape-cert-renewal-url è cgi-bin/check-renew.cgi?e il numero di serie del certificato è 173420, l'URL risultante sarà: https:// certification authority URL/cgi-bin/check-renew.cgi?02a56c. Il documento restituito deve essere un modulo HTML che consentirà all'utente di richiedere il rinnovo del certificato.

Per l'estensione szOID_NETSCAPE_CERT_SEQUENCE tramite X509_ASN_ENCODING, il certificato viene codificato come struttura PKCS_CONTENT_INFO che esegue il wrapping di una sequenza di ANY. Il valore del membro contentType è pszObjId, mentre il campo contenuto è la struttura seguente:

SequenceOfAny ::= SEQUENZA DI ANY

Il CRYPT_DER_BLOBnel punto membro rgValue del CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY ai certificati X509 codificati.

Per le estensioni szOID_NETSCAPE_CERT_TYPE, vengono definiti i bit seguenti.

Valore bit Tipo corrispondente
0x80 NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE
0x40 NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE
0x04 NETSCAPE_SSL_CA_CERT_TYPE

 

Per le estensioni szOID_NETSCAPE_REVOCATION_URL, è possibile usare un URL relativo o assoluto per controllare lo stato di revoca di un certificato. Il controllo di revoca verrà eseguito come metodo HTTP GET usando un URL che rappresenta la concatenazione di url di revoca e numero di serie del certificato. Il numero di serie del certificato viene codificato come stringa di cifre esadecimali ASCII. Ad esempio, se netscape-base-url è https://www.certs-r-us.com/, netscape-rev-url è cgi-bin/check-rev.cgi?e il numero di serie del certificato è 173420, l'URL risultante sarà: https://www.certs-r-us.com/cgi-bin/check-rev.cgi?02a56c.

Il server deve restituire un documento con un tipo di contenuto di application/x-netscape-revocation. Il documento deve contenere una singola cifra ASCII, "1" se il certificato non è attualmente valido e "0" se è attualmente valido.

Si noti che per tutti gli URL che includono il numero di serie del certificato, il numero di serie verrà codificato come stringa costituita da un numero pari di cifre esadecimali. Se il numero di cifre significative è dispari, la stringa avrà uno zero iniziale singolo per garantire la generazione di un numero pari di cifre.