enrollFromPublicKey
L'esempio enrollFromPublicKey inizializza un oggetto richiesta certificato PKCS #10, lo esegue a capo in un oggetto richiesta CMC, invia la richiesta CMC a un'autorità di certificazione (CA) dell'organizzazione e salva il certificato restituito 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\Security\X509 Certificate Enrollment\VC\enrollFromPublicKey.
Discussione
L'esempio enrollFromPublicKey:
- Elabora gli argomenti della riga di comando seguenti:
- Nome di un modello di certificato.
- Nome di un file in cui salvare il certificato installato come matrice di byte con codifica Base64.
- Nome del modello di certificato di firma facoltativo. Il modello viene usato per creare un certificato di firma se non esiste nell'archivio certificati.
- Crea un oggetto chiave privata IX509PrivateKey e chiama il metodo Create per creare una chiave privata asimmetrica usando il provider di crittografia predefinito, le dimensioni della chiave e i valori KeySpec per il computer corrente.
- Recupera la parte chiave pubblica dell'oggetto IX509PrivateKey .
- Crea un oggetto IX509CertificateRequestPkcs10 e lo inizializza usando il modello specificato nella riga di comando e nella chiave pubblica.
- Crea un oggetto IX509CertificateRequestCmc e lo inizializza usando l'oggetto richiesta PKCS #10.
- 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. FindCertByKeyUsage è definito in enrollCommon.cpp.
- Verifica la catena di certificati.
- Crea un oggetto ISignerCertificate , lo inizializza usando il certificato di firma, recupera l'insieme ISignerCertificates dall'oggetto richiesta CMC e aggiunge l'oggetto certificato di firma all'insieme.
- Codifica la richiesta CMC usando Distinguished Encoding Rules (DER).
- 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 il certificato installato in un file. La funzione EncodeToFileW è definita in enrollCommon.cpp.
Argomenti correlati