IWinHttpRequest::SetClientCertificate 方法

SetClientCertificate方法會選取要傳送至安全超文字傳輸通訊協定的用戶端憑證, (HTTPS) 伺服器。

語法

HRESULT SetClientCertificate(
  [in] BSTR ClientCertificate
);

參數

ClientCertificate [in]

指定用戶端憑證的位置、 憑證存放區和主體。

傳回值

傳回值會在成功或錯誤值時 S_OK ,否則傳回值。

備註

ClientCertificate參數中指定的字串是由以反斜線分隔的憑證位置、憑證存放區和主體名稱所組成。 如需憑證字串元件的詳細資訊,請參閱 用戶端憑證

憑證存放區名稱和位置是選擇性的。 不過,如果您指定憑證存放區,您也必須指定該憑證存放區的位置。 預設位置CURRENT_USER預設憑證存放區為 「MY」。 空白主體表示應該使用憑證存放區中的第一個憑證。

呼叫 SetClientCertificate 以選取憑證,再呼叫 Send 以傳送要求。

Microsoft Windows HTTP 服務 (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,Windows 2000 Server 與 SP3 [僅限桌面應用程式]
可轉散發套件
Windows XP 和 Windows 2000 上的 WinHTTP 5.0 和 Internet Explorer 5.01 或更新版本。
IDL
HttpRequest.idl
程式庫
WinHTTP.lib
DLL
Winhttp.dll

另請參閱

IWinHttpRequest

WinHttpRequest

WinHTTP 中的 SSL

WinHTTP 版本