[英]java SSLEngine says NEED_WRAP, call .wrap() and still NEED_WRAP
[英]SSL connection refused with NEED_WRAP
現在的情況。 在同一個內部網絡上有 2 個節點(我們稱它們為 Bus 和 Broker)。 內部 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 哈希值都匹配。
任何提示/線索表示贊賞。
所以在支持的幫助下想通了。 如果代理配置文件的代理配置中沒有明確提及,代理將回退到 TLS 1.0 。 在 Java 版本 1.8.0_292 中,TLS 1 和 1.1 已被棄用,導致通信協議非法。
通過在代理配置中添加以下行解決了這個問題:
<sslEnabledProtocols>TLSv1.2</sslEnabledProtocols>
將此添加到 broker.xml 下的 sslConnection 標記中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.