Delphi XE2 DataSnap服务器 - HTTPS'无法加载证书'

时间:2012-01-25 22:55:23

标签: delphi https certificate datasnap

我有一个现有的DataSnap服务器(Windows服务)在HTTP上正常运行,我现在想要添加HTTPS作为附加协议。我已经获得并安装了SSL证书并生成了证书文件(.crt)和私钥文件(.key)。作为测试,当使用Delphi XE2 DataSnap Server向导并勾选“HTTPS”来获取证书页面时,我可以引用这两个文件并单击“测试”按钮,该按钮成功。我添加了一个额外的TDSHTTPService组件并将其链接到TDSCertFiles组件。在我的服务启动事件中,我在启动DSServer之前,在DSCertFiles.CertFile和DSCertFiles.KeyFile属性中设置了2个证书文件的路径。尝试启动服务时,我收到错误:

  

无法加载证书。错误:140AD002:SSL   例程:SSL_CTX_use_certificate_file:system lib

我有什么遗失的吗?

2 个答案:

答案 0 :(得分:5)

XE2和XE3中存在一个众所周知的错误。

我发现了这种解决方法。

设置TDSCert属性, 启动DSHTTPServer之后,请调用此方法:

DSCertFiles2.SetServerProperties(DSHTTPService2.HttpServer); //WORK AROUND

答案 1 :(得分:1)

错误代码0x140AD002表示SSL_CTX_use_certificate_file()无法打开该文件。