我正在尝试构建一个Glassfish托管的Web服务(用于开发测试)一个WCF托管的Web服务.我有WCF托管服务的WSDL,我可以从WCF托管的WSDL构建
Java服务和
Java客户端,没有任何问题. WSDL使用相互证书安全性进行数据交换.
WSDL具有与WCF服务器的主机证书相匹配的嵌入式X509证书.
当我尝试将我的Java客户端连接到Glassfish托管的Java服务时,我当然会得到证书错误.
那么我要采取什么步骤才能使之工作?我假设:
A)我需要将WSDL中的X509证书字符串替换为安装Glassfish时创建的自签名Glassfish证书“s1as”的内容.
B)将服务器网络配置的Glassfish服务器SSL参数设置为使用Glassfish安装附带的默认cacerts.jks和keystore.jks证书存储.即使我在这里不使用SSL,我假定服务器需要知道其信任库和密钥库在HTTP之间执行相互证书安全性的位置.
C)将’s1as’服务器证书添加到Java客户端的信任库.
D)将以前用于原始WCF连接客户端的任何证书添加到Glassfish服务器的密钥库. (我不知道这个吗?)
有没有我在这里失踪的东西?任何帮助将不胜感激.
解决方法
显然,您正在使用消息层安全性,而不是SSL.所以通信层没有加密,只是消息本身.
这是在Glassfish使用WSIT功能完成的.我建议您参考WSIT教程:http://docs.oracle.com/cd/E19316-01/820-1072/ahiem/index.html中的互证证书安全性示例.
基本上,WSIT使用as-install / domains / domain1 / config中的密钥库,您需要在WSIT描述符中通过别名指定它们.
Greets,Geert.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。