我有一個只有SSL作爲defaut公共接口的後端服務器。此服務器在443上偵聽證書,密鑰和ca文件,ssl驗證客戶端設置爲true。SSL客戶端驗證失敗
在客戶端,我在單個ca.pem文件中將兩個CA文件組合在一起(中間CA,根CA)的客戶端證書,密鑰和ca文件。當我在我的後端服務器上進行curl請求時,它工作正常。我還使用gnutls-serv和openssl s_server測試了服務器/客戶端證書和密鑰,以確保所有內容都是有效的。
但是,當我創建Apigee(客戶端證書和密鑰文件[PEM格式])和trustore(ca.pem文件)的密鑰庫中,有一個錯誤: - target.name fsbca測試
- 屬性 - 表達( 「fsbca測試」 等於target.name)
- ExpressionResult真正
- 樹TARGET_fsbca測試
- 錯誤的服務暫時不可用 - error.cause一般SSLEngine的問題 - error.cause.cause一般SSLEngine問題 - error.class com.apigee.messaging.adaptors.http.HttpAdaptorException - 狀態TARGET_REQ_FLOW - 類型ErrorPoint
如果我把SSL驗證客戶端設置爲false在我的後端,然後請求被Apigee正確轉移,我得到響應。
如果我在目標端點屬性中將IgnoreValidationErrors設置爲true,那麼請求將被轉移到我的後端服務器,但是我可以在服務器日誌中看到錯誤:「客戶端在讀取c時未發送必需的SSL證書...」 。
任何關於我在做什麼錯的想法?
附加的軌道:它可能是Apigee方面的一個問題,由2個證書組成的CA文件(它可能會忽略在.pem中找到的尾隨證書)。如果想測試pkcs12和jks,但是我沒有將它們上傳到Apigee(API文檔頁面只描述了.pem,JAR和cert動作)。我使用pkcs12 keystore和jks trustore編寫了一個小型Java客戶端,並且它可以在本地工作站上正常工作。
非常感謝您提供任何有助於我的信息。
問候
神父
你可以添加你的TargetEndpoint/SSLInfo配置嗎? –