java – 使用Glassfish / Metro模拟WCF安全Web服务器的问题

我正在尝试构建一个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.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。