2013-10-06 15 views
0

任何人都可以請解釋我如何在GlassFish應用程序服務器中擁有多個X.509證書? 我面臨的主要挑戰是GlassFish只使用一個's1as'的別名。在GlassFish 2下運行單獨的證書

+0

你能詳細說明你想使用的額外證書的目的嗎?這是用作SSL客戶端證書嗎? – TheArchitect

+0

當然,我的GlassFish上有幾項服務。這些服務將調用需要SSL認證的不同外部服務,因此需要額外的證書。 – isaiah

回答

1

您可以從外部密鑰文件中提取其他證書,以創建SSLContext,然後SSLSocketFactory,您可以將其添加到外部HTTPS調用中。

如:

​​

然後你可以用它配置HttpsURLConnection

httpsConn.setSSLSocketFactory(sslSocketFactory); 

或者,如果你使用JAXWS將其設置爲BindingProvider的上下文的一個屬性:

Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext(); 
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslSocketFactory); 

希望這會有所幫助。