我正在分佈式應用程序中的服務器上工作,該應用程序具有瀏覽器客戶端,並且還參與了與第三方的服務器到服務器通信。 我的服務器有一個CA簽名證書,可讓我的客戶端使用HTTP/S和XMPP(安全)使用TLS(SSL)通信進行連接。這一切工作正常。如何以編程方式設置JAX-WS客戶端的SSLContext?
現在我需要通過HTTPS/SSL使用JAX-WS安全地連接到第三方服務器。在此通信中,我的服務器充當JAX-WS interation中的客戶端,並且我擁有由第三方簽署的客戶端證書。
我嘗試通過標準系統配置(-Djavax.net.ssl.keyStore=xyz
)添加新的密鑰庫,但我的其他組件明顯受此影響。儘管我的其他組件使用專用參數進行SSL配置(my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...
),但它們似乎最終使用全局SSLContext
。 (配置命名空間my.xmpp.
似乎表明分離,但情況並非如此)
我也嘗試將我的客戶端證書添加到我的原始密鑰庫中,但是 - 我的其他組件似乎並不喜歡它。
我認爲我唯一的選擇就是以編程方式掛鉤到JAX-WS HTTPS配置中,爲客戶端JAX-WS交互設置密鑰庫和信任庫。
關於如何做到這一點的任何想法/指針?我找到的所有信息都使用javax.net.ssl.keyStore
方法,或者設置全局SSLContext
,我猜 - 最終會以相同的方式結束。最近我得到了一些有用的東西是這個舊的bug報告,請求我需要的功能:Add support for passing an SSLContext to the JAX-WS client runtime
任何需要?
錯誤報告說2.1.1版中將提供修復程序。 – EJP
@EJP該錯誤報告是一個功能請求,並沒有提及它應該/將如何完成。 – maasg