Condividi tramite


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 a un file.

Ubicazione

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:

  1. Elabora gli argomenti della riga di comando seguenti:
    • Nome del file di input.
    • Nome del file di output.
    • Modello di richiesta facoltativo.
  2. 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 BSTR per inizializzare l'oggetto richiesta. L'oggetto inizializzato diventa la richiesta interna.
  3. Usa l'oggetto richiesta interno creato e inizializzato nel passaggio precedente per inizializzare un'altra richiesta CMC.
  4. Recupera un certificato di firma esistente o, se non è possibile trovarne uno, crea una richiesta di certificato dal modello specificato nella riga di comando e tenta di registrarla. Le funzioni findCertByTemplate e enrollCertByTemplate vengono definite in enrollCommon.cpp.
  5. 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.
  6. Codifica la richiesta CMC usando le regole di codifica distinte (DER) e recupera la richiesta come BSTR.
  7. Crea un oggettoICertConfige lo usa per recuperare una stringa contenente la configurazione della CA.
  8. 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.
  9. 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.

richiesta CMC

uso dell' di esempi inclusi