Fonctions de réponse de certificat

CertEnroll.dll implémente l’interface IX509Enrollment pour envoyer une demande de certificat client et installer la réponse à partir d’une autorité de certification (ca).

Le processus d’inscription peut prendre en charge les trois scénarios suivants :

Inscription hors-bande
  1. Appelez une méthode d’initialisation implémentée par l’objet IX509Enrollment .
  2. Appelez la méthode CreateRequest pour récupérer la requête.
  3. Envoyez la demande hors bande (manuellement ou à l’aide d’un autre processus).
  4. Recevoir la réponse d’une autorité de certification.
  5. Appelez la méthode InstallResponse .

Inscription automatique

  1. Appelez une méthode d’initialisation implémentée par l’objet IX509Enrollment .
  2. Appelez la méthode d' inscription .

Inscription différée

  1. Appelez une méthode d’initialisation implémentée par l’objet IX509Enrollment .
  2. Appelez la méthode CreateRequest pour récupérer la requête.
  3. Stockez la demande jusqu’à ce que vous soyez prêt à la soumettre.
  4. Lorsque vous êtes prêt à procéder à l’inscription, appelez la méthode Initialize pour réinitialiser l’objet d’inscription.
  5. Appelez la méthode InstallResponse lorsque l’autorité de certification retourne un certificat.

Pendant le processus d’inscription, vous pouvez appeler la propriété Status sur l’objet IX509Enrollment pour récupérer une valeur d’énumération EnrollmentEnrollStatus qui identifie si l’inscription a réussi, si elle est en attente, si elle a été ignorée, a généré une erreur ou si a été refusé.

Chacune des sections suivantes identifie une fonction exportée par Xenroll.dll pour installer une réponse de certificat à partir d’une autorité de certification. Chaque section explique également comment utiliser CertEnroll.dll pour remplacer la fonction ou indique qu’il n’existe aucun mappage entre les deux bibliothèques :

acceptFilePKCS7WStr

La fonction acceptFilePKCS7WStr dans Xenroll.dll installe une réponse PKCS # 7 à partir d’un fichier.

La bibliothèque CertEnroll.dll n’implémente pas directement les fonctionnalités pour installer une # réponse de certificat PKCS 7 à partir d’un fichier. Toutefois, vous pouvez créer une fonction personnalisée pour lire les données de fichier dans un tableau d’octets et appeler InstallResponse pour installer la réponse.

Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat fictif n’a pas besoin d’exister, ce qui vous permet d’installer un certificat sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

acceptFileResponseWStr

La fonction acceptFileResponseWStr dans Xenroll.dll installe une # réponse de certificat PKCS 7 ou CMC à partir d’un fichier.

La bibliothèque CertEnroll.dll n’implémente pas directement les fonctionnalités pour installer une réponse de certificat à partir d’un fichier. Toutefois, vous pouvez créer une fonction personnalisée pour lire les données de fichier dans un tableau d’octets et appeler InstallResponse pour installer la # réponse PKCS 7 ou CMC.

Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat fictif n’a pas besoin d’exister, ce qui vous permet d’installer un certificat sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

acceptPKCS7Blob

La fonction acceptPKCS7Blob dans Xenroll.dll installe une # réponse PKCS 7 contenue dans un tableau d’octets.

Vous pouvez appeler InstallResponse pour installer un # message PKCS 7. Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat fictif n’a pas besoin d’exister, ce qui vous permet d’installer la # réponse PKCS 7 sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

acceptResponseBlob

La fonction acceptResponseBlob dans Xenroll.dll installe une # réponse de certificat PKCS 7 ou CMC contenue dans un tableau d’octets.

Vous pouvez appeler InstallResponse pour installer une # réponse PKCS 7 ou CMC. Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat factice n’a pas besoin d’exister, ce qui vous permet d’installer la réponse sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

getCertContextFromFileResponseWStr

La fonction getCertContextFromFileResponseWStr dans Xenroll.dll récupère le certificat client à partir d’un fichier.

La bibliothèque CertEnroll.dll n’implémente pas directement les fonctionnalités permettant de récupérer un certificat à partir d’une réponse de l’autorité de certification enregistrée dans un fichier. Toutefois, vous pouvez créer une fonction personnalisée pour lire les données de fichier dans un tableau d’octets et appeler InstallResponse pour installer la # réponse PKCS 7 ou CMC, et appeler la propriété Certificate pour récupérer le certificat.

Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat fictif n’a pas besoin d’exister, ce qui vous permet d’installer un certificat sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

getCertContextFromPKCS7

La fonction getCertContextFromPKCS7 dans Xenroll.dll récupère le certificat client à partir d’une # réponse PKCS 7.

Vous pouvez appeler la propriété certificat sur l’objet IX509Enrollment pour récupérer un certificat après avoir appelé la méthode ENROLL ou InstallResponse .

getCertContextFromResponseBlob

La fonction getCertContextFromResponseBlob dans Xenroll.dll récupère un certificat client à partir d’une # réponse PKCS 7 ou CMC.

Vous pouvez appeler la propriété certificat sur l’objet IX509Enrollment pour récupérer un certificat après avoir appelé la méthode ENROLL ou InstallResponse .

InstallPKCS7Blob

La fonction InstallPKCS7Blob dans Xenroll.dll installe une # réponse PKCS 7.

Vous pouvez appeler InstallResponse pour installer une # réponse PKCS 7 ou CMC. Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat factice n’a pas besoin d’exister, ce qui vous permet d’installer la réponse sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

InstallPKCS7BlobEx

La fonction InstallPKCS7BlobEx dans Xenroll.dll installe une # réponse PKCS 7 et retourne le nombre de certificats installés.

Vous pouvez appeler InstallResponse pour installer une # réponse PKCS 7 ou CMC. Si vous spécifiez la valeur AllowNoOutstandingRequest de l’énumération InstallResponseRestrictionFlags pour le premier paramètre de InstallResponse, un certificat factice n’a pas besoin d’exister, ce qui vous permet d’installer la réponse sans appeler d’abord ENROLL ou CreateRequest. Toutefois, si vous installez un certificat à l’aide d’un script Web, un certificat factice doit exister dans le magasin de demandes. Vous devez donc spécifier AllowNone pour le premier paramètre.

SPCFileNameWStr

La fonction SPCFileNameWStr dans Xenroll.dll spécifie ou récupère le nom du fichier dans lequel enregistrer la réponse du certificat. La bibliothèque CertEnroll.dll n’implémente pas les fonctionnalités qui vous permettent de copier un certificat dans un fichier spécifique. Le processus d’inscription installe automatiquement la chaîne de certificats dans des fichiers dans les magasins appropriés.

WriteCertToCSP

La fonction WriteCertToCSP dans Xenroll.dll spécifie ou récupère une valeur booléenne qui indique si un certificat doit être écrit dans un fournisseur de services de chiffrement (CSP). En général, si cette fonction est appelée, le fournisseur est une carte à puce.

Dans CertEnroll.dll, lorsqu’un client appelle la méthode d' inscription pour soumettre une demande de certificat de carte à puce et qu’un certificat est émis, l' inscription installe automatiquement le certificat sur la carte à puce en supposant que la carte est installée dans le lecteur. La méthode InstallResponse écrit également automatiquement le certificat sur la carte à puce.

WriteCertToUserDS

La fonction WriteCertToUserDS dans Xenroll.dll spécifie ou récupère une valeur booléenne qui indique si un certificat doit être enregistré dans le magasin de Active Directory. La bibliothèque CertEnroll.dll n’implémente pas les fonctionnalités qui vous permettent de spécifier un magasin vers lequel copier un certificat.

Mappage de Xenroll.dll à CertEnroll.dll

IX509Enrollment