<分区>
标签 c# .net ssl pci-compliance
在用户在其系统上应用关于 SSL 3.0 和 TLS 1.0 传入和传出流量的 PCI 3.1 标准后,您如何修复使用 SSL 连接到外部服务器的损坏的 .net 3.5、C# 应用程序?
最佳答案
我想在问题开始出现之前把它弄清楚。我最近有一个客户将他们的 PCI 合规性升级到 3.1,其中不再允许 SSL 3.0 或 TLS 1.0 流量进出他们的系统。相反,TLS 1.1 和 1.2 目前是安全连接的主要驱动力。如果您的 .net C# 应用程序连接外部 HTTPS 站点或使用安全 SQL 连接到服务器,则需要做一些事情。
首先,将您的应用程序 .net 版本更新到 4.5 或更高版本。 .net 4.5 之前的版本不能默认使用 TLS 1.1 和 1.2。如果您有一个小应用程序并想保留您的 .net 3.5,您可以让客户使用此链接更新他们的 PC:.net 3.5 TLS
其次,如果您使用 .net 4.5,则需要在与外部站点建立安全连接之前在代码中添加一行。 (在 4.6 或更高版本的情况下,建议 TLS 1.2 已经是默认设置,可能不需要此附加代码。)此代码将告诉您的 .net 4.5 应用程序在尝试使用之前默认使用 TLS 1.1 或 TLS 1.2其他方法,例如 SSL 3.0。
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
希望对您有所帮助。以下是来自 PCISecurityStandards.org 的文档,描述了 2018 年 6 月的 3.1 合规性截止日期:PCI 3.1 Deadline
关于c# - PCI 3.1 合规性和 .net C# 应用程序 w/SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48709882/