gpt4 book ai didi

ssl - Apache Mina TLS 客户端 - Camel

转载 作者:可可西里 更新时间:2023-11-01 02:54:08 26 4
gpt4 key购买 nike

我正在使用 Apache Mina(Mina2 - 无法使用 Netty - 不要问为什么 :P)创建一个通过 TLS 连接到 TCP 服务器的 TCP 客户端。

这是 SSLContext:

这是我的蓝图 xml 路由:

    <route id="ReadMQ">
<from uri="jmsep://topic:test/014/data" />
<process ref="readIt"></process>
<to
uri="mina2:tcp://SOMEHOST:38332?sync=true;sslContextParameters=#mySSL;minaLogger=true" />

</route>

cert.pem 包含 key 和证书。

当 Nina 尝试连接到端点时,它的服务器关闭连接并出现以下错误:

            System.IO.IOException: The handshake failed due to an unexpected      packet format.
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)

看error,感觉Mina没有连接正确的协议(protocol)?

米娜是这样说的:

            SEVERE: Exception on receiving message from address:     SOMEHOST:38332 using connector: (nio socket connector: managedSessionCount: 0)
Throwable occurred: java.io.IOException: An existing connection was forcibly closed by the remote host.

此外,当我以这种方式使用 s_client 时: openssl s_client -connect SOMEHOST:38332 -cert cert.pem -key cert.pem -state -debug

它开始执行 SSL 握手并交换证书。

有什么线索是我在这里遗漏的吗?

最佳答案

keystore 中的 key 和信任库中的证书未被添加,因为它们是 PEM 格式。服务器将请求客户端证书,而客户端的证书链将为空,因此会出现错误。为了解决这个问题,我创建了一个 JKS 格式的 keystore 并导入了 p12 文件(使用 pem 文件创建)并且它起作用了。

关于ssl - Apache Mina TLS 客户端 - Camel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34192354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com