ICertRequest3::SetCredential メソッド (certcli.h)
SetCredential メソッドは、証明書登録 Web サービスへの接続に使用する資格情報を設定します。
構文
HRESULT SetCredential(
[in] LONG hWnd,
[in] X509EnrollmentAuthFlags AuthType,
[in] BSTR strCredential,
[in] BSTR strPassword
);
パラメーター
[in] hWnd
親ウィンドウへのハンドル。
資格情報を取得するために表示される UI がある hWnd パラメーターを設定する必要があります。
証明書ベースの承認では、資格情報を取得するために UI プロンプトが必要な場合 (たとえば、資格情報がスマート カードにあり、ピン プロンプトが必要な場合など) にハンドルが使用されます。
Kerberos、匿名、またはユーザー名とパスワードの認証を使用する場合、このパラメーターは無視されます。
[in] AuthType
認証の種類を指定する X509EnrollmentAuthFlags 列挙の値。
値 | 意味 |
---|---|
|
匿名認証。
strCredential パラメーターと strPassword パラメーターを NULL または空の文字列に設定します。 |
|
ローカル コンピューターにインストールされているクライアント認証証明書。 証明書には、(証明書に含まれていない)秘密キーに関連付けられている公開キーが含まれています。 証明書は、クライアントの ID を確認するためにサーバーによって使用されます。
strCredential パラメーターには、呼び出し元を認証するために証明書登録 Web サービスに渡される証明書のバイナリ 20 バイト SHA-1 ハッシュが含まれています。 strPassword パラメーターを NULL または空の文字列に設定します。 strCredential パラメーターは、関連する個人証明書ストアにインストールされている証明書を参照する必要があり、呼び出し元がアクセスできる秘密キーが関連付けられている必要があります。 |
|
Kerberos 認証。
strCredential パラメーターと strPassword パラメーターを NULL または空の文字列に設定します。 |
|
プレーンテキスト ユーザー名とパスワード認証。 ユーザー名とパスワードは、クライアントの資格情報コンテナーに格納されるときに暗号化されます。
strCredential パラメーターと strPassword パラメーターには、ユーザー名の文字列と、呼び出し元を認証するために証明書登録 Web サービスでサポートされているプレーンテキスト パスワードが含まれています。 登録サービス接続では常に Secure Sockets Layer プロトコル (SSL) が使用されるため、ネットワーク経由で送信されるとパスワードが暗号化されます。 |
[in] strCredential
資格情報を含む文字列。
[in] strPassword
パスワードを含む文字列。
戻り値
リターン コード | 説明 |
---|---|
|
AuthType パラメーターは X509AuthKerberos である必要があります。 |
注釈
ICertRequest2::Submit メソッドを呼び出す前に、SetCredential メソッドを呼び出す必要があります。
strCredential 引数と strPassword 引数は、次の表に示すように、AuthType パラメーターで指定された値に応じて変わります。
AuthType パラメーター | strCredential パラメーター | strPassword パラメーター |
---|---|---|
X509AuthAnonymous | NULL | NULL |
X509AuthCertificate | 証明書の 20 バイト SHA-1 ハッシュ (拇印) | NULL |
X509AuthKerberos | NULL | NULL |
X509AuthUsername | 証明書登録 Web サービスによって認識されるプレーンテキスト ユーザー名 | ユーザー名に関連付けられているプレーンテキスト パスワード |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | certcli.h (Certsrv.h を含む) |
Library | Certidl.lib |
[DLL] | Certcli.dll |