Partager via


enrollPKCS7

L’exemple enrollPKCS7 crée une requête PKCS #7 à partir d’un certificat existant en héritant des clés publiques et privées et du modèle de certificat. Le certificat existant est utilisé pour signer la demande. Cet exemple inscrit l’utilisateur dans une hiérarchie de certificats et installe la réponse du certificat. L’exemple utilise un certificat existant pour inscrire et installer un nouveau certificat. Pour plus d’informations sur le renouvellement d’un certificat existant, consultez enrollRenewalPKCS7.

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\enrollmentPKCS7.

Discussion

L’exemple enrollPKCS7 :

  1. Traite les arguments de ligne de commande. La ligne de commande doit contenir le nom du modèle de certificat utilisé pour rechercher un certificat existant.
  2. Récupère un certificat existant en utilisant le nom du modèle spécifié sur la ligne de commande ou, si un certificat est introuvable, tente d’en inscrire un nouveau créé à l’aide du modèle. Les fonctions findCertByTemplate et enrollCertByTemplate sont définies dans enrollCommon.cpp.
  3. Vérifie la chaîne de certificats et convertit le certificat en BSTR.
  4. Crée un objet IX509CertificateRequestPkcs7 et l’initialise à l’aide du certificat existant. Le nouvel objet de requête PKCS #7 hérite des clés privées et publiques et du modèle du certificat existant.
  5. Crée un objet ISignerCertificate , l’initialise à l’aide du certificat existant et l’ajoute à l’objet de requête PKCS #7.
  6. Crée un objet IX509Enrollment, l’initialise à l’aide de l’objet de requête PKCS #7, tente de l’inscrire auprès de l’autorité de certification et surveille la status du processus d’inscription. La fonction checkEnrollStatus est définie dans enrollCommon.cpp.

Demande CMC

Utilisation des exemples inclus