4

我正在使用 WSO2 ESB 4.0.0 和 Application Server 4.1.0 通过 SSL 相互通信。两者都配置了相同的密钥库。两者都在不同的服务器上。这样做的原因是 WSAS 只与 ESB 通信。我的证书不是自签名的。

我的问题是;为了让 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)

谢谢

4

2 回答 2

5

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

于 2011-11-17T00:25:20.747 回答
3

如果您的证书颁发者是像 GoDaddy之类的中间证书颁发机构,您将需要该证书。中间证书建立了一个从您的证书到您的不受信任的中间 CA 的证书链,并最终(希望)终止于受信任的根证书颁发机构。

于 2011-11-16T21:28:20.323 回答