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
HttpRequest.idl
程式庫
WinHTTP.lib
DLL
Winhttp.dll

另請參閱

IWinHttpRequest

WinHttpRequest

WinHTTP 中的 SSL

WinHTTP 版本