createCNGCustomCMC
L'esempio createCNGCustomCMC crea un oggetto richiesta CMC da una richiesta PKCS #10 annidata interna. La richiesta interna viene creata usando una chiave privata asimmetrica. La chiave privata viene creata usando il provider di crittografia CNG (Cryptography API: Next Generation) e l'algoritmo specificato nella riga di comando. Anche le opzioni personalizzate, ad esempio i criteri di esportazione e il livello di protezione delle chiavi, vengono impostate sulla chiave privata.
Ufficio
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\createCNGCustomCMC.
Discussione
L'esempio createCNGCustomCMC:
- Elabora gli argomenti della riga di comando seguenti:
- Nome di un provider di servizi di crittografia CNG (CSP).
- Nome dell'algoritmo utilizzato per generare una chiave privata asimmetrica.
- Nome dell'algoritmo utilizzato per eseguire l'hash della richiesta di certificato.
- File di output in cui salvare la richiesta di certificato.
- Stringa facoltativa (AlternateSignature) che, se presente, specifica che deve essere utilizzato un algoritmo di firma discreto anziché combinato. Per altre informazioni, vedere la proprietà AlternateSignatureAlgorithm.
- Crea un oggetto IX509PrivateKey e imposta le proprietà seguenti:
- Crea una chiave privata asimmetrica.
- Crea un oggetto IX509CertificateRequestPkcs10 e lo inizializza usando la chiave privata.
- Crea un oggetto IX509CertificateRequestCmc e lo inizializza usando l'oggetto richiesta PKCS #10 creato nel passaggio 4.
- Imposta il flag dell'algoritmo di firma alternativo su VARIANT_TRUE o VARIANT_FALSE a seconda che nella riga di comando sia specificata una stringa di firma alternativa. Per altre informazioni, vedere AlternateSignatureAlgorithm.
- Crea un OID (Hash Algorithm Object Identifier) dal nome dell'algoritmo specificato nella riga di comando e imposta l'OID nell'oggetto richiesta CMC.
- Firma la richiesta di certificato e la codifica usando le regole di codifica distinte (DER).
- Recupera una stringa che contiene la richiesta di certificato CMC codificata e la salva in un file. La funzione EncodeToFileW viene definita in EnrollCommon.cpp.
Argomenti correlati