enrollNestedCMC
L'esempio enrollNestedCMC legge una richiesta di certificato CMC esistente da un file, la esegue il wrapping in un'altra richiesta CMC, firma questa richiesta esterna, la invia a un'autorità di certificazione (CA) e salva la risposta del certificato dalla CA in un file.
Posizione
Quando si installa Microsoft Windows Software Development Kit (SDK), l'esempio viene installato, per impostazione predefinita, nella cartella %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\X509 Certificate Enrollment\VC\enrollNestedCMC.
Discussione
L'esempio enrollNestedCMC:
- Elabora gli argomenti della riga di comando seguenti:
- Nome del file di input.
- Nome del file di output.
- Modello di richiesta facoltativo.
- Legge una richiesta CMC esistente da un file come matrice di byte con codifica Base63, converte la matrice di byte in un BSTR, crea un oggetto IX509CertificateRequestCmc e usa il valore BSTR per inizializzare l'oggetto richiesta. L'oggetto inizializzato diventa la richiesta interna.
- Usa l'oggetto richiesta interna creato e inizializzato nel passaggio precedente per inizializzare un'altra richiesta CMC.
- Recupera un certificato di firma esistente o, se non ne è possibile trovare uno, crea una richiesta di certificato dal modello specificato nella riga di comando e tenta di registrarla. Le funzioni findCertByTemplate e enrollCertByTemplate sono definite in enrollCommon.cpp.
- Recupera l'insieme ISignerCertificates dalla richiesta CMC esterna, crea un nuovo oggetto ISignerCertificate , lo inizializza usando il certificato di firma recuperato e lo aggiunge all'insieme.
- Codifica la richiesta CMC usando Distinguished Encoding Rules (DER) e recupera la richiesta come BSTR.
- Crea un oggetto ICertConfig e lo usa per recuperare una stringa contenente la configurazione della CA.
- Crea un oggetto CryptoAPI ICertRequest2 e lo usa più le stringhe che contengono la configurazione della CA e la richiesta di certificato per inviare la richiesta alla CA.
- Controlla lo stato del processo di registrazione e salva la risposta del certificato dalla CA in un file. La funzione EncodeToFileW è definita in enrollCommon.cpp.
Argomenti correlati