Share via


IX509Enrollment::InstallResponse, méthode (certenroll.h)

La méthode InstallResponse installe une chaîne de certificats sur l’ordinateur de l’entité finale. Le tableau d’octets qui contient la réponse est encodé à l’aide de Distinguished Encoding Rules (DER) tel que défini par la norme ASN.1 (Abstract Syntax Notation One). Vous devez spécifier le tableau d’octets encodé en DER dans une chaîne qui est une séquence binaire pure ou est encodée unicode. Cette méthode est activée sur le web.

Syntaxe

HRESULT InstallResponse(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword
);

Paramètres

[in] Restrictions

Valeur d’énumération InstallResponseRestrictionFlags qui spécifie le type de certificats pouvant être installés. Il peut s’agir d’une ou plusieurs des valeurs suivantes.

Valeur Signification
AllowNone
N’installez pas de certificats non approuvés ou pour lesquels il n’existe aucune demande correspondante.
AllowNoOutstandingRequest
Créez la clé privée à partir de la réponse du certificat plutôt que du certificat factice. Cela rend le certificat factice facultatif. Si cette valeur n’est pas définie, le certificat factice doit exister et la clé privée en est extraite.
AllowUntrustedCertificate
Installez des certificats d’entité finale et d’autorité de certification non approuvés. Les certificats d’autorité de certification incluent les certificats d’autorité de certification racine et subordonnée. Les certificats d’entité de fin sont installés dans le magasin personnel et les certificats d’autorité de certification sont installés dans le magasin d’autorité de certification.
AllowUntrustedRoot
Effectuez la même action que l’indicateur AllowUntrustedCertificate , mais installe également le certificat même si la chaîne de certificats ne peut pas être générée, car la racine n’est pas approuvée.
Note Sur Windows Vista, le comportement de cet indicateur est le même que celui défini pour l’indicateur AllowUntrustedCertificate . À compter de Windows Vista avec SP1, vous pouvez installer un certificat qui s’enchaîne à une racine non approuvée.
 

[in] strResponse

Variable BSTR qui contient la réponse encodée en DER.

[in] Encoding

Valeur d’énumération EncodingType qui spécifie le type d’encodage appliqué à la chaîne qui contient la réponse codée en DER.

[in, optional] strPassword

Mot de passe facultatif pour l’installation du certificat. Cela peut être NULL ou une chaîne vide pour indiquer qu’aucun mot de passe n’est utilisé. S’il existe un mot de passe, effacez-le de la mémoire lorsque vous avez terminé de l’utiliser en appelant la fonction SecureZeroMemory . Pour plus d’informations sur la protection du mot de passe, consultez Gestion des mots de passe.

À compter de Windows 8 et Windows Server 2012, un mot de passe NULL ou vide peut signifier que le paquet PFX a été créé dans la fonction PFXExportCertStoreEx à l’aide de l’indicateur PKCS12_PROTECT_TO_DOMAIN_SIDS . Si c’est le cas, le PFX a été chiffré dans un groupe Active Directory. Pour plus d’informations, consultez PFXExportCertStoreEx et PFXImportCertStore.

Valeur retournée

Si la fonction réussit, la fonction retourne S_OK.

Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Les valeurs possibles sont notamment celles figurant dans le tableau suivant. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.

Code de retour Description
E_ACCESSDENIED
Cette méthode a été appelée à partir du web et AllowNoOutstandingRequest ou AllowUntrustedCertificate a été spécifiée dans le paramètre Restrictions .
HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW
La longueur de la chaîne qui contient le mot de passe dépasse 64 kilo-octets.
OLE_E_BLANK
L’objet d’inscription n’a pas été initialisé.

Remarques

Méthode InstallResponse :

  1. Récupère le certificat factice à partir du magasin externe.
  2. Récupère le certificat contenu dans la réponse et l’installe sur l’ordinateur.
  3. Copie les propriétés du certificat factice dans le magasin externe vers le certificat nouvellement installé dans le magasin personnel.

Avant d’appeler la méthode InstallResponse , vous devez initialiser l’objet IX509Enrollment en appelant l’une des méthodes suivantes.

Si vous appelez cette méthode à partir du web, vous pouvez spécifier uniquement AllowNone ou AllowUntrustedRoot dans le paramètre Restrictions . Si vous spécifiez AllowNoOutstandingRequest ou AllowUntrustedCertificate, la méthode retourne une erreur E_ACCESSDENIED .

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h
DLL CertEnroll.dll

Voir aussi

IX509Enrollment