我正在编写一个客户端应用程序,需要通过BITS将文件发送到我的服务器。 我有一切工作的大部分,但我不能让BITS连接安全地使用HTTPS。
现在我只是通过HTTP使用基本身份validation,所以login被发送明文 – 这不是最佳的:-)我想能够使用HTTPS,但不知道如何去做这个。 根据这个Google网上论坛线程,BITS“不支持使用证书进行身份validation”(虽然这个评论已经过了几年了)。 这是否意味着SSL不在? 我怎么能通过HTTPS保护BITS的连接?
我的服务器在Windows Server 2003上运行IIS 6.0。任何帮助将不胜感激!
(我原来是在Stack Overflow上发布的,但是我以为我会在这里尝试 – 似乎属于这两个域)
来自MSDN
使用证书进行客户端/服务器身份validation
在安全的客户端/服务器通信中,客户端和服务器可以使用数字证书相互authentication。 BITS自动支持安全HTTP传输的基于证书的服务器身份validation。 为了向BITS提供相互validation所需的客户端证书,请打电话给
IBackgroundCopyJobHttpOptions::SetClientCertificateByID
要么
IBackgroundCopyJobHttpOptions::SetClientCertificateByName
方法。
当网站接受但不需要SSL客户端证书,并且BITS作业未指定客户端证书时,作业将失败,并显示ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED(0x80072f0c)。