我尝试在C++ Builder中创建HTTPS安全的DataSnap WebBroker应用程序,但无法完成。首先,我使用以下命令行创建了自签名OpenSSL证书:
openssl请求-x509 -sha 256-新密钥rsa:2048 -密钥输出密钥.pem -输出证书.pem -天数365
在创建新的DataSnap WebBroker(VCL)应用程序时,我在向导中检查了HTTPS并选择了证书文件、密钥文件和密码。我在向导中单击了“测试”,一切正常(测试通过)。运行应用程序时,我启动服务器,没有错误,但在Web浏览器中测试时,我得到:
网址:https://localhost:8080/
Chrome浏览器:SSL版本或密码不匹配错误
Firefox:SSL错误,没有密码重叠
当我创建一个单独的REST(VCL)客户端应用程序并发出请求时,我收到以下错误:REST请求失败:获取服务器证书时出错
为什么会发生这种情况,以及如何修复它,以便我可以有一个安全的(HTTPS)连接?谢谢!
2条答案
按热度按时间vybvopom1#
如果其他人也会有类似的问题:我通过在IIS中创建自签名证书,然后将其绑定到IIS内部的HTTPS协议来解决此问题。
ozxc1zmp2#
在10.2 Tokyo中使用REST客户端库时,您当然可以使用TLS 1.2。
但是,当我使用以下URL从Chrome访问示例方法时,从向导中使用新的VCL表单DataSnap服务器:
我得到了Chrome错误ERR_SSL_VERSION_OR_CIPHER_MISMATCH,正如你所看到的。
我们还有用于FireMonkey跨平台开发的 Delphi 10.4,因此我使用它创建了一个VCL表单DataSnap服务器。
使用上面的URL时,我在IDE中得到以下错误:
10.4 Sydney向
TDSCertFiles
组件添加了一个SSLVersion
属性,但默认为 sslvTLSv1。将其更改为 sslvTLSv1_2 可允许上述测试URL在Chrome和Edge上使用HTTPS正常工作。