11

根据 PCI,我们需要根据 http://blog.securitymetrics.com/2015/04/pci-3-1-ssl-and-从 2016 年 6 月 30 日起停止使用 SSL 和 TLS(在某些实施中为 1.0 和 1.1) tls.html

我们有一个基于 .Net 3.5 的客户端应用程序,它使用 HttpWebRequest 对象连接到 Web 服务。

根据 MSDN SecurityProtocolType( https://msdn.microsoft.com/en-us/library/system.net.securityprotocoltype(v=vs.110).aspx ) 仅支持 .Net Framework 4 上的 Ssl3 和 Tls(1.0) 或以下。Tls11 和 Tls12 仅在 .Net Framework 4.5/4.6 中受支持

这是否意味着在持卡人数据环境中并完全兼容 pci,我们需要将所有应用程序升级到 .Net 4.5/4.6 并仅允许 Tls12 SecurityProtocolType 使用 HttpWebRequest 连接到外部 Web 服务?

4

4 回答 4

4

实际上,您可以在低于 4.5 的框架中使用 TLS 1.2(至少我在 .NET Framework 4 客户端中管理它)。您可以使用该协议的 id 绕过它,而不是使用经典命令将协议设置为 Tls12。

  ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
于 2017-01-25T16:30:11.850 回答
2

当前使用 SSL/早期 TLS 或愿意在协商中接受它们并且作为安全控制的持卡人数据环境的一部分的任何通信通道都需要更改,使其仅使用 TLS 1.1(使用经过批准的密码套件) 或以上。

您需要在 .Net 4.5 或更高版本下重新编译(默认情况下未启用 TLS 1.2,因此需要更改代码)或使用支持所需协议的第 3 方库。

请注意,如果您知道您的系统正在使用 SSL/早期 TLS,则必须创建风险缓解计划/文档。

信息补充 从 SSL 和早期 TLS 迁移

于 2015-07-09T16:14:20.203 回答
1

微软为此做出了不可思议并发布了补丁

  • KB3154​​518 - 可靠性汇总 HR-1605 - NDP 2.0 SP2 - Win7 SP1/Win 2008 R2 SP1
  • KB3154​​519 - 可靠性汇总 HR-1605 - NDP 2.0 SP2 - Win8 RTM/Win 2012 RTM
  • KB3154​​520 - 可靠性汇总 HR-1605 - NDP 2.0 SP2 - Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 - 通过适用于 Windows 10 的 Windows 更新的 1605 HotFix 汇总。
于 2016-11-30T13:19:46.920 回答
0

他们似乎没有做的一件事是更新 wsdl.exe 以支持 TLS1.1 或 1.2。如果您尝试将 .Net 4.7 中的 wsdle.exe 指向不支持 TLS1.0 的 Web 服务,就会发生这种情况:

Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 4.7.2558.0]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: There was an error processing 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
  - There was an error downloading 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
  - The underlying connection was closed: An unexpected error occurred on a send.
  - Authentication failed because the remote party has closed the transport stream.

这给我带来了一些真正的问题,只是惊讶于这个应用程序还没有更新!

于 2018-03-07T09:58:05.057 回答