我試圖配置我的基於cxf的客戶端與我寫的(也是基於cxf的)web服務進行通信。在基於cxf的客戶端cacerts與jks
Web服務本身的工作完美無缺,通過soapUI
進行測試。
然而,客戶建立罰款,但調用throws a SunCertPathBuilderException。
懷疑這與提供到包含服務器的證書一個trustore的有效路徑,具有有效證書鏈到受信任的證書做,我第一次嘗試到該服務器的證書導出到PFX讓我能將其導入項目自己的.jks
。原來這是不可能的,因爲它需要一個私有密鑰,導出實用程序(certmgr.msc
)將其灰顯爲for some reason。
所以我試着從另一個方向解決問題:我知道soapUI通過SSL與Web服務進行通信沒有問題,並且我沒有爲它安裝任何證書,所以它必須滿足於根證書(CA)已存在於其cacerts文件中。
但是... http:conduit
部分我的基於CXF的應用程序上下文.xml
需要JKS類型的密鑰庫......所以它看起來像我處於catch 22情況。
除非cacerts
文件是JKS類型?
如果沒有,是否有辦法將證書從cacerts
轉換或導出爲.jks
?
解決這個問題的正確方法是什麼?
你的客戶端和soapui是否運行相同的jdk安裝? –
另外,如果您在Windows上運行,certmgr不是導出證書的方式。您想使用隨jdk提供的keytool實用程序。 certmgr管理平臺使用的證書,即。 –
你如何運行你的網絡服務? –