gpt4 book ai didi

ssl - 后台智能传输和 TLS 1.2

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:04 28 4
gpt4 key购买 nike

我有一个 .NET 应用程序,它使用后台智能传输服务将文件从客户端 Windows 7 X64 计算机上传到 Windows 2012 R2 服务器。服务器已锁定 TLS 1.2 以符合 PCI 3.1,即协议(protocol) SSL 2.0/3.0、TLS 1.0/1.1 已在注册表中使用 IISCrypto 和启用的 TLS 1.2 明确禁用。客户端具有安装在其上的服务器的可信根 CA 证书。

应用程序使用 IBackgroundCopyManager 和 IBackgroundCopyJob COM 接口(interface)创建作业并将其添加到队列中。在 Bits-Client 事件日志中,我在开始传输后看到以下警告(请注意,地址和文件名仅用于说明目的):

BITS stopped transferring the test.tmp transfer job that is associated with the https://server/folder/temp.tmp URL. The status code is 0x80072EFE

错误代码转换为:

ERROR_WINHTTP_CONNECTION_ERROR 12030 与服务器的连接已重置或终止,或者遇到了不兼容的 SSL 协议(protocol)。例如,WinHTTP 5.1 版不支持 SSL2,除非客户端特别启用它。

这是有道理的,正如我在 Wireshark 中看到的那样,BITS 请求仅尝试在与服务器的握手协议(protocol)中使用 TLS 1.0,而这已被禁用。

因此,我的问题是:Bits-Client 是否可以启用 TLS 1.2,如果可以,如何实现?

COM 接口(interface)不提供任何方法来设置所使用的协议(protocol),而且我在 BITS 服务的注册表设置中也看不到任何内容。这绝对不是证书问题,因为只要在服务器上启用 TLS 1.0,传输就会开始。

最佳答案

BITS 超越 WinHTTP 并使用默认的 WINHTTP_OPTION_SECURE_PROTOCOLS。问题是您的客户端运行的是 Windows 7。来自 MSDN :

By default only SSL3 and TLS1 are enabled in Windows 7 and Windows 8. By default only SSL3, TLS1.0, TLS1.1, and TLS1.2 are enabled in Windows 8.1 and Windows 10

有关如何在 Windows 7 计算机上启用 TLS 1.1 和 TLS 1.2 的说明,请参阅此支持文章:https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in

关于ssl - 后台智能传输和 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200253/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com