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 列挙の値。

意味
X509AuthAnonymous
匿名認証。

strCredential パラメーターと strPassword パラメーターを NULL または空の文字列に設定します。

X509AuthCertificate
ローカル コンピューターにインストールされているクライアント認証証明書。 証明書には、(証明書に含まれていない)秘密キーに関連付けられている公開キーが含まれています。 証明書は、クライアントの ID を確認するためにサーバーによって使用されます。

strCredential パラメーターには、呼び出し元を認証するために証明書登録 Web サービスに渡される証明書のバイナリ 20 バイト SHA-1 ハッシュが含まれています。 strPassword パラメーターを NULL または空の文字列に設定します。 strCredential パラメーターは、関連する個人証明書ストアにインストールされている証明書を参照する必要があり、呼び出し元がアクセスできる秘密キーが関連付けられている必要があります。

X509AuthKerberos
Kerberos 認証。

strCredential パラメーターと strPassword パラメーターを NULL または空の文字列に設定します。

X509AuthUsername
プレーンテキスト ユーザー名とパスワード認証。 ユーザー名とパスワードは、クライアントの資格情報コンテナーに格納されるときに暗号化されます。

strCredential パラメーターと strPassword パラメーターには、ユーザー名の文字列と、呼び出し元を認証するために証明書登録 Web サービスでサポートされているプレーンテキスト パスワードが含まれています。 登録サービス接続では常に Secure Sockets Layer プロトコル (SSL) が使用されるため、ネットワーク経由で送信されるとパスワードが暗号化されます。

[in] strCredential

資格情報を含む文字列。

[in] strPassword

パスワードを含む文字列。

戻り値

リターン コード 説明
E_INVALIDARG
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

こちらもご覧ください

CCertRequest

ICertRequest3