soh*_*iby 6 c# asp.net ssl windows-server-2008 tls1.2
我正在开发一个ASP.Net WebForms应用程序.我们使用PayFort的Start API进行付款.应用程序在我们的本地计算机上运行正常(Windows 10),但当我们尝试使用我们的部署服务器(Windows Server Web 2008)上的API进行付款时,它会显示以下错误.
客户端和服务器无法通信,因为它们没有通用算法.
他们的网页上的文档(PayFort Start和SSL/TLS)声明他们使用Tls1.2进行通信.他们的API已经包含使用Tls1.2作为安全协议的代码
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)
我们已经在.Net framework 4.5上构建了应用程序,因为Tls1.2只有.Net 4.5或更高版本支持.不用说,我们的服务器安装了.Net Framework 4.5.
我们还在Windows注册表中添加了Tls1.1和Tls1.2的注册表值
使用SSL Labs工具,我们还确认了两个服务器(我们的服务器和PayFort的API服务器)都支持至少两个Cipher套件(https://api.start.payfort.com)
PayFort的API服务器支持的密码套件
(绿色概述了我们服务器常见的那些)
我们的服务器支持的密码套件
我还使用了Nartac IIS加密软件,并显示以下信息Best Practices
我不确定它是否与问题有关,但这里是我们服务器中安装的SSL证书的详细信息
任何人都可以指出我们做错了什么,我们应该怎么做才能与所需的服务器通信,并从我们服务器上部署的应用程序付款,因为我们在本地机器上做得很好.
问题出在操作系统上。我们使用的是 Windows Server 2008,我们没有意识到应用程序需要操作系统的协议来与其他服务器进行通信。由于我们安装了.NET Framework 4.5,并且我们还使用代码ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;强制应用程序使用Tls1.2(根据要求),因此相信一切都应该正常工作,但显然这不会发生。
太长;博士;我们安装Windows Server 2012在机器上并且应用程序现在运行良好(正如它应该的那样)
| 归档时间: |
|
| 查看次数: |
17509 次 |
| 最近记录: |