4

全部,

我正在编写一个能够从本地网络内外的各种网站下载内容的程序。为此,出于兼容性原因,我必须使用 libs 和 c++。到目前为止,我已经能够成功访问正常的 HTTP 页面和 Web 上的 HTTPS 页面。例子:

 HRESULT res = URLDownloadToFile( NULL,
          LPCTSTR(CString("https://www.google.com/")),
          LPCTSTR(CString("websitecontent.txt")),
          0,
          NULL);

我无法做两件事:1)访问使用本地 CA 证书的本地网络资源。

2) 访问本地网络资源,该资源使用本地 CA 证书并通过客户端证书请求客户端身份验证。

在第一种情况下,我认为 Windows 不允许连接,因为它不在受信任 CA 的 Windows 列表中。

在第二个中,我认为我需要想办法将客户端证书/私钥集成到对 URLDownloadToFile 的调用中,但我不知道如何实现这一点。此外,我还必须告诉 Windows 信任本地 CA。

任何帮助,将不胜感激。

4

1 回答 1

1

我认为您需要检查证书链在 Internet Explorer 中是否受信任。

更好的是,使用libcurl :)

于 2010-08-05T20:40:01.223 回答