Jon*_*ham 3 delphi https certificate datasnap
我有一个现有的DataSnap服务器(Windows服务),可以在HTTP上正常运行,现在我想添加HTTPS作为附加协议。我已经获取并安装了SSL证书,并生成了一个证书文件(.crt)和私钥文件(.key)。作为测试,使用Delphi XE2 DataSnap Server向导并勾选“ HTTPS”以获取证书页面时,我可以引用这两个文件,然后单击“测试”按钮。我添加了一个附加的TDSHTTPService组件,并将其链接到TDSCertFiles组件。在服务启动事件中,我将在启动DSServer之前在DSCertFiles.CertFile和DSCertFiles.KeyFile属性中设置两个证书文件的路径。尝试启动服务时出现错误:
无法加载证书。错误:140AD002:SSL例程:SSL_CTX_use_certificate_file:系统库
有什么我想念的吗?
XE2和XE3中存在一个众所周知的错误。
我已经找到了解决方法。
后设置TDSCert属性和之前启动DSHTTPServer,调用此方法:
DSCertFiles2.SetServerProperties(DSHTTPService2.HttpServer); //WORK AROUND
Run Code Online (Sandbox Code Playgroud)