Partager via


ICertRequest3 ::SetCredential, méthode (certcli.h)

La méthode SetCredential définit les informations d’identification utilisées pour contacter le service Web d’inscription de certificats.

Syntaxe

HRESULT SetCredential(
  [in] LONG                    hWnd,
  [in] X509EnrollmentAuthFlags AuthType,
  [in] BSTR                    strCredential,
  [in] BSTR                    strPassword
);

Paramètres

[in] hWnd

Handle de la fenêtre parente.

Vous devez définir le paramètre hWnd qu’une interface utilisateur est présentée pour obtenir les informations d’identification.

Pour l’autorisation basée sur un certificat, le handle est utilisé si une invite d’interface utilisateur est nécessaire pour obtenir les informations d’identification, par exemple, si les informations d’identification se situent sur un carte intelligent et qu’une invite de broche est nécessaire.

Lors de l’utilisation de Kerberos, d’une authentification anonyme ou d’un nom d’utilisateur et d’un mot de passe, ce paramètre est ignoré.

[in] AuthType

Valeur de l’énumération X509EnrollmentAuthFlags qui spécifie le type d’authentification.

Valeur Signification
X509AuthAnonymous
Authentification anonyme.

Définissez les paramètres strCredential et strPassword sur NULL ou sur des chaînes vides.

X509AuthCertificate
Certificat d’authentification client installé sur l’ordinateur local. Le certificat contient une clé publique associée à une clé privée (non contenue dans le certificat). Le certificat est utilisé par le serveur pour vérifier l’identité du client.

Le paramètre strCredential contient un hachage SHA-1 binaire de 20 octets du certificat à passer au service web d’inscription de certificats pour authentifier l’appelant. Définissez le paramètre strPassword sur NULL ou une chaîne vide. Le paramètre strCredential doit faire référence à un certificat installé dans le magasin de certificats personnel approprié, et il doit avoir une clé privée associée accessible à l’appelant.

X509AuthKerberos
Authentification Kerberos.

Définissez les paramètres strCredential et strPassword sur NULL ou sur des chaînes vides.

X509AuthUsername
Nom d’utilisateur en clair et authentification par mot de passe. Le nom d’utilisateur et le mot de passe sont chiffrés lorsqu’ils sont stockés dans le coffre d’informations d’identification sur le client.

Les paramètres strCredential et strPassword contiennent une chaîne de nom d’utilisateur et un mot de passe en texte clair qui sont pris en charge par le service web d’inscription de certificat pour authentifier l’appelant. Étant donné qu’une connexion de service d’inscription utilise toujours le protocole SSL ( Secure Sockets Layer ), le mot de passe est chiffré lorsqu’il est envoyé via le réseau.

[in] strCredential

Chaîne qui contient les informations d’identification.

[in] strPassword

Chaîne qui contient le mot de passe.

Valeur retournée

Code de retour Description
E_INVALIDARG
Le paramètre AuthType doit être X509AuthKerberos.

Remarques

La méthode SetCredential doit être appelée avant d’appeler la méthode ICertRequest2 ::Submit .

Les arguments strCredential et strPassword changent en fonction de la valeur spécifiée dans le paramètre AuthType , comme indiqué dans le tableau suivant.

Paramètre AuthType paramètre strCredential paramètre strPassword
X509AuthAnonymous NULL NULL
X509AuthCertificate Hachage SHA-1 de 20 octets (empreinte numérique) du certificat NULL
X509AuthKerberos NULL NULL
X509AuthUsername Nom d’utilisateur en texte clair reconnu par le service web d’inscription de certificats Mot de passe en texte clair associé au nom d’utilisateur

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 certcli.h (inclure Certsrv.h)
Bibliothèque Certidl.lib
DLL Certcli.dll

Voir aussi

CCertRequest

ICertRequest3