Partager via


IX509Enrollment2 ::InstallResponse2, méthode (certenroll.h)

La méthode InstallResponse2 installe une chaîne de certificats sur l’ordinateur de l’entité de terminaison. 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 au format Unicode. Cette méthode est activée sur le web.

Syntaxe

HRESULT InstallResponse2(
  [in]           InstallResponseRestrictionFlags Restrictions,
  [in]           BSTR                            strResponse,
  [in]           EncodingType                    Encoding,
  [in, optional] BSTR                            strPassword,
  [in]           BSTR                            strEnrollmentPolicyServerUrl,
  [in]           BSTR                            strEnrollmentPolicyServerID,
  [in]           PolicyServerUrlFlags            EnrollmentPolicyServerFlags,
  [in]           X509EnrollmentAuthFlags         authFlags
);

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 qu’à partir 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 secondaire. Les certificats d’entité finale 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 . Vous pouvez installer une racine non approuvée à partir de Windows Vista avec SP1.
 

[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 encodée DER.

[in, optional] strPassword

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

[in] strEnrollmentPolicyServerUrl

BSTR qui contient l’URL du serveur de stratégie d’inscription de certificat (CEP).

[in] strEnrollmentPolicyServerID

BSTR qui contient un identificateur pour le serveur CEP.

[in] EnrollmentPolicyServerFlags

Valeur d’énumération PolicyServerUrlFlags . Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
PsfLocationGroupPolicy
L’URL du serveur CEP est spécifiée dans la stratégie de groupe par un administrateur.
PsfLocationRegistry
L’URL du serveur CEP est spécifiée dans le Registre.
PsfUseClientId
Spécifie que les inscriptions et les renouvellements de certificats incluent des données spécifiques au client dans un attribut ClientId . Les exemples incluent le nom du fournisseur de services de chiffrement, le numéro de version Windows, le nom d’utilisateur, le nom DNS de l’ordinateur et le nom DNS du contrôleur de domaine. Cet indicateur peut être défini par la stratégie de groupe.

Cet indicateur a été inclus pour résoudre les problèmes de confidentialité qui peuvent survenir lors de l’inscription sur des serveurs gérés par des administrateurs autres que ceux qui gèrent la forêt dans laquelle l’utilisateur réside. En ne définissant pas cet indicateur, vous pouvez empêcher l’envoi d’informations personnelles aux administrateurs non locaux.

PsfAutoEnrollmentEnabled
L’inscription automatique des certificats est activée.
PsfAllowUnTrustedCA
Spécifie que le certificat de l’autorité de certification émettrice n’a pas besoin d’être approuvé par le client pour installer un certificat signé par l’autorité de certification.

[in] authFlags

Valeur d’énumération X509EnrollmentAuthFlags qui spécifie le type d’authentification client. Pour Windows 7, seul X509AuthCertificate peut être choisi parmi les valeurs suivantes.

Valeur Signification
X509AuthAnonymous
Authentification anonyme.
X509AuthKerberos
Authentification Kerberos.
X509AuthUsername
Authentification par mot de passe et nom d’utilisateur en texte clair.
Note Le nom d’utilisateur et le mot de passe sont chiffrés avant la transmission et sont stockés en toute sécurité dans le coffre d’informations d’identification sur le serveur CEP.
 
X509AuthCertificate
Certificat d’authentification client installé sur l’ordinateur local et utilisé par le serveur pour vérifier l’identité du client.

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é 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 InstallResponse2 :

  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 InstallResponse2 , 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 .

Les quatre derniers paramètres (strEnrollmentPolicyServerUrl, strEnrollmentPolicyServerID, EnrollmentPolicyServerFlags et authFlags) ne sont pas inclus dans la méthode InstallResponse . Ils vous permettent d’ajouter une valeur de propriété au certificat installé de la même façon que l’interface ICertPropertyEnrollmentPolicyServer .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certenroll.h

Voir aussi

IX509Enrollment2