我有一个用.net 4.5.2编译的Web应用程序。 Web应用程序从服务器端控制器访问https服务。如果我禁用SSL 3.0并出现以下错误,应用程序将停止工作:
客户端和服务器无法通信,因为它们没有通用的算法
我从.net 4.6得知SSL 3.0依赖项已删除。我试图在服务器中安装.net 4.7.2。但是问题仍然存在。
是否需要再次针对.net 4.7.2重新编译应用程序?有什么方法可以强制应用程序使用TLS 1.2而不是SSL 3.0?
答案 0 :(得分:0)
有时候,我有时也遇到过这个问题,我们正在从控制器中下载一个文件,该文件抛出此错误。
对于该错误:
客户端和服务器无法通信,因为它们不具有通用算法。
和问题:
有什么方法可以强制应用程序使用TLS 1.2而不是SSL 3.0?
您可以通过以下行强制应用程序使用TLS 1.2。
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
但是我认为.NET 4.6默认使用TLS 1.2。
有关更多详细信息,请在Wireshark中检查您的请求,该请求将提供应用程序正在使用的TLS的确切版本。