IWinHttpRequest::SetClientCertificate 方法
SetClientCertificate方法會選取要傳送至安全超文字傳輸通訊協定的用戶端憑證, (HTTPS) 伺服器。
語法
HRESULT SetClientCertificate(
[in] BSTR ClientCertificate
);
參數
-
ClientCertificate [in]
-
指定用戶端憑證的位置、 憑證存放區和主體。
傳回值
傳回值會在成功或錯誤值時 S_OK 。否則為 。
備註
ClientCertificate參數中指定的字串是由以反斜線分隔的憑證位置、憑證存放區和主體名稱所組成。 如需憑證字串元件的詳細資訊,請參閱 用戶端憑證。
憑證存放區名稱和位置是選擇性的。 不過,如果您指定憑證存放區,您也必須指定該憑證存放區的位置。 預設位置為CURRENT_USER,預設憑證存放區為 「MY」。 空白主體表示應該使用憑證存放區中的第一個憑證。
呼叫 SetClientCertificate 以在呼叫 Send 以傳送要求之前選取憑證。
Microsoft Windows HTTP Services (WinHTTP) 不提供用戶端憑證給要求驗證憑證的 Proxy 伺服器。
注意
針對 Windows XP 和 Windows 2000,請參閱 WinHTTP 起始頁的 執行時間需求 一節。
範例
下列腳本範例示範如何選取要與要求一起傳送的用戶端憑證。 主體為 「我的Middle-Tier憑證」的憑證,是從登錄中的「個人」憑證存放區選擇在 HKEY_LOCAL_MACHINE下。 由於此程式碼範例專屬於 Microsoft JScript,它會使用反斜線作為逸出字元,因此需要兩個連續的反斜線來分隔憑證字串的元件。
// 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、具有 SP3 的 Windows 2000 Server [僅限傳統型應用程式] |
可轉散發套件 |
Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更新版本。 |
Idl |
|
程式庫 |
|
DLL |
|