Freigeben über


ICertRequest3::SetCredential-Methode (certcli.h)

Die SetCredential-Methode legt die Anmeldeinformationen fest, die zum Kontaktieren des Zertifikatregistrierungswebdiensts verwendet werden.

Syntax

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

Parameter

[in] hWnd

Ein Handle für das übergeordnete Fenster.

Sie müssen den hWnd-Parameter festlegen, in dem eine Benutzeroberfläche angezeigt wird, um die Anmeldeinformationen abzurufen.

Für die zertifikatbasierte Autorisierung wird das Handle verwendet, wenn eine Benutzeroberflächenaufforderung zum Abrufen der Anmeldeinformationen erforderlich ist, z. B. wenn sich die Anmeldeinformationen auf einem intelligenten Karte und eine Pin-Eingabeaufforderung erforderlich ist.

Bei Verwendung der Kerberos-, anonymen oder Benutzernamen- und Kennwortauthentifizierung wird dieser Parameter ignoriert.

[in] AuthType

Ein Wert der X509EnrollmentAuthFlags-Enumeration , der den Authentifizierungstyp angibt.

Wert Bedeutung
X509AuthAnonymous
Anonyme Authentifizierung.

Legen Sie die Parameter strCredential und strPassword auf NULL oder auf leere Zeichenfolgen fest.

X509AuthCertificate
Auf dem lokalen Computer installiertes Clientauthentifizierungszertifikat. Das Zertifikat enthält einen öffentlichen Schlüssel , der einem privaten Schlüssel zugeordnet ist (nicht im Zertifikat enthalten). Das Zertifikat wird vom Server verwendet, um die Identität des Clients zu überprüfen.

Der strCredential-Parameter enthält einen binären 20-Byte SHA-1-Hash des Zertifikats, das an den Zertifikatregistrierungswebdienst übergeben werden soll, um den Aufrufer zu authentifizieren. Legen Sie den strPassword-Parameter auf NULL oder eine leere Zeichenfolge fest. Der strCredential-Parameter muss auf ein Zertifikat verweisen, das im entsprechenden persönlichen Zertifikatspeicher installiert ist, und er muss über einen zugeordneten privaten Schlüssel verfügen, auf den der Aufrufer zugreifen kann.

X509AuthKerberos
Kerberos-Authentifizierung.

Legen Sie die Parameter strCredential und strPassword auf NULL oder auf leere Zeichenfolgen fest.

X509AuthBenutzername
Klartextbenutzer- und Kennwortauthentifizierung. Der Benutzername und das Kennwort werden verschlüsselt, wenn sie im Anmeldeinformationstresor auf dem Client gespeichert werden.

Die Parameter strCredential und strPassword enthalten eine Benutzernamenzeichenfolge und ein Klartextkennwort, die vom Zertifikatregistrierungswebdienst zur Authentifizierung des Aufrufers unterstützt werden. Da eine Registrierungsdienstverbindung immer SSL (Secure Sockets Layer Protocol ) verwendet, wird das Kennwort verschlüsselt, wenn es über die Verbindung gesendet wird.

[in] strCredential

Eine Zeichenfolge, die die Anmeldeinformationen enthält.

[in] strPassword

Eine Zeichenfolge, die das Kennwort enthält.

Rückgabewert

Rückgabecode Beschreibung
E_INVALIDARG
Der AuthType-Parameter muss X509AuthKerberos sein.

Hinweise

Die SetCredential-Methode muss vor dem Aufrufen der ICertRequest2::Submit-Methode aufgerufen werden.

Die Argumente strCredential und strPassword ändern sich abhängig von dem wert, der im AuthType-Parameter angegeben ist, wie in der folgenden Tabelle dargestellt.

AuthType-Parameter strCredential-Parameter strPassword-Parameter
X509AuthAnonymous NULL NULL
X509AuthCertificate Ein 20 Byte SHA-1-Hash (Fingerabdruck) des Zertifikats NULL
X509AuthKerberos NULL NULL
X509AuthBenutzername Ein Klartextbenutzername, der vom Zertifikatregistrierungswebdienst erkannt wird Ein Klartextkennwort, das dem Benutzernamen zugeordnet ist

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certcli.h (include Certsrv.h)
Bibliothek Certidl.lib
DLL Certcli.dll

Weitere Informationen

CCertRequest

ICertRequest3