gpt4 book ai didi

Java JSSE SSLEngine 无法恢复 SSL session

转载 作者:行者123 更新时间:2023-11-30 06:30:17 26 4
gpt4 key购买 nike

我正在编写一个将 SSLEngine 与 NIO 结合使用的应用程序,我同时编写了客户端和服务器。客户端能够连接到服务器,连接后我希望他能够执行 session 恢复/重新协商,但目前运气不好..

由于使用 SSLEngine 的代码非常大(SSLEngine 的使用非常复杂!)我将编写一个简单的伪代码来演示这种情况:

Server:
global sslcontext initialized once
await new client
client.sslEngine = create new server ssl engine using the global sslcontext
client.handleHandshake and wait for it to be done
handle client.

Client:
global sslcontext initialized once
sslEngine = create new client ssl engine using the global sslcontext
performHandshake and wait for it to be done
disconnect (close gracefully the connection)
sslEngine = create new client ssl engine using the global sslcontext
configure engine to not allow session creation
performHandshake and wait for it to be done

** 我更愿意发布可以提供帮助的代码的任何部分(即使是完整的代码,尽管正如我所说,它很大..)

当我执行我的程序时,第一个连接成功,但第二个连接导致异常:

javax.net.ssl.SSLHandshakeException: No existing session to resume

我是否遗漏了恢复 ssl session 所需的某些成分?

最佳答案

只有使用 SSLContext.createEngine(host, port) 创建的 SSLEngine 才会恢复 session .否则它无法知道它在与谁交谈,因此无法知道要加入什么 SSLSession

关于Java JSSE SSLEngine 无法恢复 SSL session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10605062/

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