Share via


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 d’une autorité de certification .

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

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

Inscription automatique

  1. Appelez toute méthode d’initialisation implémentée par l’objet IX509Enrollment .
  2. Appelez la méthode Enroll .

Inscription différée

  1. Appelez toute méthode d’initialisation implémentée par l’objet IX509Enrollment .
  2. Appelez la méthode CreateRequest pour récupérer la demande.
  3. Stockez la demande jusqu’à ce que vous soyez prêt à l’envoyer.
  4. Lorsque vous êtes prêt à vous inscrire, 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, est en attente, a été ignorée, a généré une erreur ou a été refusée.

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 permettant d’installer une réponse de certificat PKCS #7 à partir d’un fichier. Vous pouvez toutefois créer une fonction personnalisée pour lire les données du 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer un certificat sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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 permettant d’installer une réponse de certificat à partir d’un fichier. Vous pouvez toutefois créer une fonction personnalisée pour lire les données du 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer un certificat sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer la réponse PKCS #7 sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer la réponse sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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 d’autorité de certification enregistrée dans un fichier. Toutefois, vous pouvez créer une fonction personnalisée pour lire les données du fichier dans un tableau d’octets, appeler InstallResponse pour installer la réponse PKCS #7 ou CMC, puis 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer un certificat sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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é Certificate 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é Certificate 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer la réponse sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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, il n’est pas nécessaire qu’il existe un certificat factice, ce qui vous permet d’installer la réponse sans appeler d’abord Inscrire ou CréerRequest. Toutefois, si vous installez un certificat à l’aide d’un script web, un certificat factice doit exister dans le magasin de requêtes. 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 de certificat. La bibliothèque CertEnroll.dll n’implémente pas de 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 les 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 règle générale, si cette fonction est appelée, le fournisseur est un carte intelligent.

Dans CertEnroll.dll, lorsqu’un client appelle la méthode Enroll pour envoyer une demande de certificat smart carte et qu’un certificat est émis, Inscription installe automatiquement le certificat sur le carte intelligent, en supposant que le carte est installé dans le lecteur. La méthode InstallResponse écrit également automatiquement le certificat dans le carte intelligent.

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 Active Directory. La bibliothèque CertEnroll.dll n’implémente pas de fonctionnalité qui vous permet de spécifier un magasin vers lequel copier un certificat.

Mappage de Xenroll.dll à CertEnroll.dll

IX509Enrollment