IWinHttpRequest::SetClientCertificate 方法
SetClientCertificate 方法选择要发送到安全超文本传输协议 (HTTPS) 服务器的客户端证书。
语法
HRESULT SetClientCertificate(
[in] BSTR ClientCertificate
);
参数
-
ClientCertificate [in]
-
指定客户端证书的位置、 证书存储和使用者。
返回值
返回值在成功 时S_OK ,否则返回值为错误值。
备注
ClientCertificate 参数中指定的字符串由证书位置、证书存储和由反斜杠分隔的使用者名称组成。 有关证书字符串组件的详细信息,请参阅 客户端证书。
证书存储名称和位置是可选的。 但是,如果指定证书存储,则还必须指定该证书存储区的位置。 默认位置为 CURRENT_USER,默认证书存储为“MY”。 空白使用者指示应使用证书存储中的第一个证书。
调用 SetClientCertificate 以选择证书,然后再调用 Send 发送请求。
Microsoft Windows HTTP Services (WinHTTP) 不会向请求证书进行身份验证的代理服务器提供客户端证书。
注意
对于 Windows XP 和 Windows 2000,请参阅 WinHTTP 起始页的 运行时要求 部分。
示例
以下脚本示例演示如何选择要随请求发送的客户端证书。 主题为“My Middle-Tier Certificate”的证书是从注册表中 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 |
|
库 |
|
DLL |
|