SSL 连接被拒绝 NEED_WRAP

SSL connection refused with NEED_WRAP

现状。同一个内部网络上有 2 个节点(我们称它们为总线和代理)。内部 CA 已签署 2 周前提出的请求。此签名证书已正确插入 Broker 的“密钥库”以及总线的“信任库”。已验证两个节点的软件都使用了适当的商店。

尝试使用 JMS(或 AMQP)建立安全连接时,总线的输出如下:

TID: [] [] [2021-06-16 11:47:08,949] ERROR {org.wso2.andes.transport.network.mina.MinaNetworkHandler} -  Exception caught by Mina {org.wso2.andes.transport.network.mina.MinaNetworkHandler}
javax.net.ssl.SSLException: Improper close state: Status = OK HandshakeStatus = NEED_WRAP

经纪人端的错误是:

ERROR {org.wso2.andes.transport.network.mina.MinaNetworkHandler} -  Exception caught by Mina but without protocol engine to handle it
java.lang.NullPointerException

到目前为止我们排除的事情:

还使用 openssl 工具验证了证书。 CRT/Key/CSR 的 MD5 哈希全部匹配。

任何 hint/clue 不胜感激。

所以在支持的帮助下弄明白了。 如果在代理配置文件的代理配置中未明确提及,则代理将回退到 TLS 1.0。 在 java 版本 1.8 中。0_292 TLS 1 和 1.1 已被弃用,导致通信协议非法。

通过在代理配置中添加以下行解决了这个问题:

<sslEnabledProtocols>TLSv1.2</sslEnabledProtocols>

将此添加到 broker.xml 下的 sslConnection 标记中。