我有一個現有的DataSnap服務器(Windows服務)在HTTP上運行良好,我現在想要添加HTTPS作爲附加協議。我已經獲得並安裝了SSL證書並生成了證書文件(.crt)和私鑰文件(.key)。作爲一個測試,當使用Delphi XE2 DataSnap Server嚮導並勾選'HTTPS'來獲取證書頁面時,我可以引用這2個文件並點擊成功的'測試'按鈕。我已經添加了一個額外的TDSHTTPService組件並將其鏈接到TDSCertFiles組件。在啓動DSServer之前,在我的服務啓動事件中,我將DSCertFiles.CertFile和DSCertFiles.KeyFile屬性中的路徑設置爲2個證書文件。當試圖啓動服務時,我得到錯誤:Delphi XE2 DataSnap Server - HTTPS'無法加載證書'
Could not load certificate. error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
有什麼我失蹤了嗎?
請問您的代碼驗證服務實際上可以「看到」的證書文件(這可能是一個路徑或權限問題)? – mjn
嗨,看到我的評論Remy的答案 - 組件似乎只在設計時尋找路徑集中的證書(也許是一個bug?)。 –
您可以驗證它是否是一個錯誤 - 只要將文件放入設計時定義的位置,錯誤就會消失。否則,服務環境出現問題 – mjn