enrollNestedCMC
L’exemple enrollNestedCMC lit une demande de certificat CMC existante à partir d’un fichier, l’encapsule dans une autre demande CMC, signe cette requête externe, la soumet à une autorité de certification (CA) et enregistre la réponse du certificat de l’autorité de certification dans un fichier.
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 sdk \ Windows \ v 7.0 \ samples enrollNestedCMC de l' \ inscription de certificats X509 \ \ .
Discussions
Exemple enrollNestedCMC :
- Traite les arguments de ligne de commande suivants :
- Nom du fichier d’entrée.
- Nom du fichier de sortie.
- Modèle de demande facultatif.
- Lit une demande CMC existante à partir d’un fichier en tant que tableau d’octets encodé base63, convertit le tableau d’octets en BSTR, crée un objet IX509CertificateRequestCmc et utilise le BSTR pour initialiser l’objet de requête. L’objet initialisé devient la requête interne.
- Utilise l’objet de requête interne créé et initialisé à l’étape précédente pour initialiser une autre demande CMC.
- Récupère un certificat de signature existant ou, si celui-ci est introuvable, crée une demande de certificat à partir du modèle spécifié sur la ligne de commande et tente de l’inscrire. Les fonctions findCertByTemplate et enrollCertByTemplate sont définies dans enrollCommon. cpp.
- Récupère la collection ISignerCertificates de la demande CMC externe, crée un nouvel objet ISignerCertificate , l’initialise à l’aide du certificat de signature récupéré et l’ajoute à la collection.
- encode la demande CMC à l’aide d’Distinguished Encoding Rules (DER) et récupère la requête en tant que BSTR.
- Crée un objet ICertConfig et l’utilise pour récupérer une chaîne qui contient la configuration de l’autorité de certification.
- Crée un objet CryptoAPI ICertRequest2 et l’utilise, ainsi que les chaînes qui contiennent la configuration de l’autorité de certification et la demande de certificat pour envoyer la demande à l’autorité de certification.
- Vérifie l’état du processus d’inscription et enregistre la réponse du certificat de l’autorité de certification dans un fichier. La fonction EncodeToFileW est définie dans enrollCommon. cpp.