IWinHttpRequest::SetClientCertificate メソッド

SetClientCertificate メソッドは、セキュリティで保護されたハイパーテキスト転送プロトコル (HTTPS) サーバーに送信するクライアント証明書を選択します。

構文

HRESULT SetClientCertificate(
  [in] BSTR ClientCertificate
);

パラメーター

ClientCertificate [in]

クライアント証明書の場所、 証明書ストア、サブジェクトを指定します。

戻り値

戻り値は、成功した場合は S_OK 、それ以外の場合はエラー値です。

解説

ClientCertificate パラメーターで指定された文字列は、証明書の場所、証明書ストア、および円記号で区切られたサブジェクト名で構成されます。 証明書文字列のコンポーネントの詳細については、「 クライアント証明書」を参照してください。

証明書ストアの名前と場所は省略可能です。 ただし、証明書ストアを指定する場合は、その証明書ストアの場所も指定する必要があります。 既定の場所はCURRENT_USERで、既定の証明書ストアは "MY" です。 空白のサブジェクトは、証明書ストア内の最初の証明書を使用する必要があることを示します。

Send を呼び出して要求を送信する前に、 SetClientCertificateを呼び 出して証明書を選択します。

Microsoft Windows HTTP Services (WinHTTP) は、認証用の証明書を要求するプロキシ サーバーにクライアント証明書を提供しません。

Note

Windows XP と Windows 2000 については、「WinHTTP スタート ページ」 の「ランタイム要件 」セクションを参照してください。

次のスクリプト例は、要求で送信するクライアント証明書を選択する方法を示しています。 "My Middle-Tier Certificate" というサブジェクトを持つ証明書は、レジストリの [個人用] 証明書ストアの [HKEY_LOCAL_MACHINE] から選択されます。 このコード例は、エスケープ文字として円記号を使用する Microsoft JScript に固有であるため、証明書文字列のコンポーネントを区切るには、隣接する 2 つの円記号が必要です。

// Instantiate a WinHttpRequest object.
var HttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
    
// Open an HTTP connection.
HttpReq.Open("GET", "https://www.fabrikam.com/", false);
    
// Select a client certificate.
HttpReq.SetClientCertificate(
            "LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate");

// Send the HTTP Request.
HttpReq.Send();

要件

要件
サポートされている最小のクライアント
Windows XP、Windows 2000 Professional SP3 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003、Windows 2000 Server SP3 [デスクトップ アプリのみ]
再頒布可能パッケージ
Windows XP および Windows 2000 では、WinHTTP 5.0 およびインターネット エクスプローラー 5.01 以降がインストールされています。
IDL
HttpRequest.idl
ライブラリ
Winhttp.lib
[DLL]
Winhttp.dll

関連項目

IWinHttpRequest

WinHttpRequest

WinHTTP での SSL

WinHTTP バージョン