我使用SSLESB4.0.0和Application Server4.1.0通过WSO2相互通信。两者都配置了相同的密钥库。两者都在不同的服务器上。这样做的原因是WSAS只与ESB通信。我的证书不是自签名的。
我的问题是:对于只与ESB通信的WSAS,我是否还需要将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)谢谢
发布于 2011-11-17 05:28:20
如果您的证书颁发者是GoDaddy之类的intermediate certificate authority,则需要证书。中间证书建立了一个证书链,从您的证书向上经过不受信任的中间CA,最终终止(希望)在受信任的根证书颁发机构。
发布于 2011-11-17 08:25:21
证书链中的所有证书必须对验证该链的Java代码可用。如果您有公开购买的证书,则根CA和中间CA很可能已经在Java使用的受信任CA证书列表中。如果不是,则需要将它们添加到您的信任库。
https://stackoverflow.com/questions/8158762
复制相似问题