Web services 有在GlassFish 2下运行的单独证书

Web services 有在GlassFish 2下运行的单独证书,web-services,glassfish,open-esb,Web Services,Glassfish,Open Esb,有人能解释一下我如何在GlassFish应用服务器中拥有多个X.509证书吗? 我面临的主要挑战是GlassFish只使用一个别名“s1as”。您可以从外部密钥文件中提取额外的证书来创建SSLContext,然后SSLSocketFactory,您可以将其输入到外部HTTPS调用中 例如: 然后,您可以使用它配置一个HttpsURLConnection: httpsConn.setSSLSocketFactory(sslSocketFactory); 或者,如果您正在使用JAXWS,请将其设置

有人能解释一下我如何在GlassFish应用服务器中拥有多个X.509证书吗?
我面临的主要挑战是GlassFish只使用一个别名“s1as”。

您可以从外部密钥文件中提取额外的证书来创建
SSLContext
,然后
SSLSocketFactory
,您可以将其输入到外部HTTPS调用中

例如:

然后,您可以使用它配置一个
HttpsURLConnection

httpsConn.setSSLSocketFactory(sslSocketFactory);
或者,如果您正在使用JAXWS,请将其设置为
BindingProvider
上下文的属性:

Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext();
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslSocketFactory);
Map ctxt=((BindingProvider)端口).getRequestContext();
put(JAXWSProperties.SSL_SOCKET_工厂,sslSocketFactory);

希望这能有所帮助。

您能详细说明要使用的其他证书的用途吗?这是用作SSL客户端证书吗?当然,我的GlassFish上有几个服务。这些服务将调用不同的外部服务,这些服务需要SSL身份验证,因此需要额外的证书。
Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext();
ctxt.put(JAXWSProperties.SSL_SOCKET_FACTORY, sslSocketFactory);