createCNGCustomCMC
L’exemple createCNGCustomCMC crée un objet de requête CMC à partir d’une requête imbriquée interne PKCS #10. La requête interne est créée à l’aide d’une clé privée asymétrique. La clé privée est créée à l’aide du fournisseur de services de chiffrement Cryptography API: Next Generation (CNG) et de l’algorithme spécifié sur la ligne de commande. Les options personnalisées, telles que la stratégie d’exportation et le niveau de protection de la clé, sont également définies sur la clé privée.
Emplacement
Lorsque vous installez le Kit de développement logiciel (SDK) Microsoft Windows, l’exemple est installé par défaut dans le dossier %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\createCNGCustomCMC.
Discussion
L’exemple createCNGCustomCMC :
- Traite les arguments de ligne de commande suivants :
- le nom d’un fournisseur de services de chiffrement (CSP) CNG ;
- le nom de l’algorithme utilisé pour générer une clé privée asymétrique ;
- le nom de l’algorithme utilisé pour le hachage de la demande de certificat ;
- un fichier de sortie dans lequel enregistrer la demande de certificat ;
- une chaîne facultative (AlternateSignature) qui, si elle est présente, spécifie qu’un algorithme de signature discret plutôt qu’un algorithme de signature combiné doit être utilisé. Pour plus d’informations, consultez la propriété AlternateSignatureAlgorithm.
- Crée un objet IX509PrivateKey et définit les propriétés suivantes :
- Crée une clé privée asymétrique.
- Crée un objet IX509CertificateRequestPkcs10 et l’initialise à l’aide de la clé privée.
- Crée un objet IX509CertificateRequestCmc et l’initialise à l’aide de l’objet de requête PKCS #10 créé à l’étape 4.
- Définit l’indicateur d'algorithme de signature autre sur VARIANT_TRUE ou VARIANT_FALSE selon qu’une autre chaîne de signature est spécifiée sur la ligne de commande. Pour plus d’informations, consultez AlternateSignatureAlgorithm.
- Crée un identificateur d’objet (OID) d’algorithme de hachage à partir du nom de l’algorithme spécifié sur la ligne de commande et définit l’OID sur l’objet de requête CMC.
- Signe la demande de certificat et l’encode à l’aide des Distinguished Encoding Rules (DER).
- Récupère une chaîne qui contient la demande de certificat CMC encodée et l’enregistre dans un fichier. La fonction EncodeToFileW est définie dans EnrollCommon.cpp.
Rubriques connexes