2011-11-16 156 views
2

我正在使用WSO2 ESB 4.0.0和Application Server 4.1.0通过SSL相互通话。两者都配置了相同的密钥库。两者都在不同的服务器上。这是因为WSAS只与ESB进行通信。我的证书不是自签名的。信任库是否也需要CA的证书进行身份验证?

我的问题是;因为WSAS只与ESB通信,我是否也需要将CA的证书导入WSAS的信任库?我相信这会完成信任链?

如果我不导入CA的证书,我得到下面我WSAS日志:

INFO | jvm 1 | 2011/11/16 15:56:21 | javax.net.ssl.SSLHandshakeException: null cert chain 
INFO | jvm 1 | 2011/11/16 15:56:21 | at com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:1015) 
INFO | jvm 1 | 2011/11/16 15:56:21 | at com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:480) 
INFO | jvm 1 | 2011/11/16 15:56:21 | at com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1120) 
INFO | jvm 1 | 2011/11/16 15:56:21 | at com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1092) 
INFO | jvm 1 | 2011/11/16 15:56:21 | at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:452) 

谢谢

回答

1

您需要的证书,如果您的证书颁发者是一个intermediate certificate authority像GoDaddy或一些东西。中间证书通过您的不可信中间CA建立证书链,并最终终止(希望)在受信任的根证书颁发机构。

+0

谢谢digitaljoel,非常有意义。 – user1050468

1

证书链中的所有证书都必须可用于验证链的Java代码。如果您有公开购买的证书,那么根和中间CA很可能已经在Java使用的可信CA Certs列表中。如果没有,那么你需要将它们添加到你的信任库。

+0

很好的解释约翰。这验证了我在考虑完成证书链的过程。 – user1050468

相关问题