【发布时间】:2015-01-29 07:56:51
【问题描述】:
我使用 AdminClient 安全连接到本地 websphere 服务器:
java.util.Properties props = new java.util.Properties();
props.setProperty(AdminClient.CONNECTOR_TYPE, AdminClient.CONNECTOR_TYPE_SOAP);
props.setProperty(AdminClient.CONNECTOR_HOST, "localhost");
props.setProperty(AdminClient.CONNECTOR_PORT, "8880");
props.setProperty(AdminClient.CONNECTOR_SECURITY_ENABLED, "true");
props.setProperty(AdminClient.USERNAME, "admin");
props.setProperty(AdminClient.PASSWORD, "111111");
props.setProperty("javax.net.ssl.trustStore", "C:/WAS/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks");
props.setProperty("javax.net.ssl.keyStore", "C:/WAS/AppServer/profiles/AppSrv01/etc/DummyClientKeyFile.jks");
props.setProperty("javax.net.ssl.trustStorePassword", "WebAS");
props.setProperty("javax.net.ssl.keyStorePassword", "WebAS");
client = AdminClientFactory.createAdminClient(props);
它的工作完美。但是,如果我尝试安全连接到远程 url(ip 或主机名),则此代码不起作用,例如 SSL exaptions。我认为,证书文件中的问题:
props.setProperty("javax.net.ssl.trustStore", "C:/WAS/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks");
props.setProperty("javax.net.ssl.keyStore", "C:/WAS/AppServer/profiles/AppSrv01/etc/DummyClientKeyFile.jks");
如何使用 JAVA 从远程服务器检索此证书并与 AdminClient 建立安全连接?
【问题讨论】:
-
您的应用程序是在其他 WebSphere 上运行的 Web 应用程序,还是某种独立的应用程序?
-
其他 WebSphere 服务器是否使用自签名证书?
-
@Gas 我的 Web 应用在 GlssFish 3.0 java 应用服务器上运行,具有不同的主机。
-
@NickVasic,是的,只有自签名证书,默认安装 was7。
-
您遇到的 SSL 异常是什么?您可以在浏览器中使用 https 连接到远程 Web 应用程序吗?