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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Java相关文章