我在Glassfish 3.1上的应用程序不会执行客户端身份验证

时间:2011-06-30 16:26:04

标签: http ssl glassfish authentication

我的应用程序正在使用使用传输级身份验证的SOAP服务。我们正在尝试将应用程序从Tomcat移动到Glassfish 3.1。不幸的是,Glassfish似乎不愿意执行SOAP服务所需的客户端身份验证。 SSL堆栈跟踪会生成消息“uknown_ca”。

我将Glassfish服务器配置为使用一个密钥库,该密钥库包含auth链中的三个委托证书(存储为-trustcacerts),并且还导入了SOAP目标服务器的证书。

我已经尝试了几次从我的Glassfish服务器进行的从头开始重建,甚至尝试使用tomcat服务器的密钥库文件而没有运气。

有没有人知道发生了什么,或者我如何让Glassfish向我提供有关所涉及的握手和密钥库的更多有用信息(除-Djava.net.ssl.debug标志之外)。

2 个答案:

答案 0 :(得分:3)

我的一位同事提出了解决方案。指向安德鲁。

目的地结果是向我们发送unknown_ca消息,因为它不了解Glassfish在身份验证过程中发送的密钥的CA.

删除JVM参数-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as可解决此问题。也可以更改参数以指定首选键的别名,而不是让JVM确定要使用的键。

答案 1 :(得分:0)

应将SOAP服务器证书导入Glassfish的信任库,而不是密钥库。