2016-11-28 65 views
1

我有一個當前在WAS 8.5.5.9中部署的應用程序。此應用程序通過web服務連接到另一臺服務器,另一臺服務器的主機要求我使用TLS 1.2和通過相互SSL連接進行連接。如何在Websphere 8.5.5.9中爲mSSL設置客戶端證書?

我已經成功地將(其他)服務器的主機證書導入到我的WAS的信任庫中,但由於這是mSSL而不是常規的單向SSL,我還需要設置客戶端證書以將其發回給其他服務器來驗證連接。

我該怎麼做?我似乎無法在WAS管理控制檯中找到任何指定要發送到mSSL的遠程服務器的客戶端證書的選項。

幾點考慮:

    我在WAS SSL配置已經選擇TLSv1.2工作
  • ,它似乎是工作
  • 客戶證書是由所有者提供給我遠程主機基於我們在IKEYMAN完成的CSR創建。
  • 我已經嘗試在WAS信任和密鑰存儲區中導入客戶端證書,但當我嘗試處理事務時仍然遇到handshake_failure異常。
  • 遠程服務器端的TCP轉儲表明服務器在收到客戶端證書時長度爲0
  • 我身邊的日誌表示初始握手成功。 ClientHello和ServerHello消息推進。但在最後我得到這個消息(儘管它並沒有告訴太多):
 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O [Raw read]: length = 5 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O 0000: 15 03 03 00 02          ..... 

[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O [Raw read]: length = 2 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O 0000: 02 28            .. 


[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O Thread-142, READ: TLSv1.2 Alert, length = 2 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O Thread-142, RECV TLSv1.2 ALERT: fatal, handshake_failure 

回答

1

您可以使用「動態出站端點」功能將證書與目標服務器的連接關聯起來。要設置動態出站端點,請參閱:Associating a Secure Sockets Layer configuration dynamically with an outbound protocol and remote secure endpoint

連接信息的形式爲*,hostname,port。一旦你選擇你現有的SSL配置(CellDefaultSSLSettings),點擊「獲取證書別名」按鈕。然後從下拉列表中選擇您的客戶端證書。

這應該允許您正確執行相互認證。請注意,您的客戶端證書還必須存在於目標服務器的信任存儲中。

+0

非常感謝。儘管只是一個快速查詢。有沒有辦法在Apache/IBM HTTPServer中執行此操作? – Avias

+0

@Avias,我不是Web服務器的專家,所以我無法可靠地回答。最好將它作爲一個新問題發佈。 – Haxiel

+0

這是注意。再次感謝 :) – Avias