Q1: SSLEngine 的枚举 SSLEngineResult.HandshakeStatus 中的NOT_HANDSHAKING和FINISHED状态有什么区别?
Javadoc 只是说
FINISHED:SSLEngine 刚刚完成握手。
NOT_HANDSHAKING:SSLEngine 当前没有握手。
我特别想知道:
Q2:如果初始握手成功执行,引擎应该处于 FINISHED 状态还是 NOT_HANDSHAKING 状态?
让我怀疑的是:这篇文章的示例代码 SSLChannel.java ,告诉
case NOT_HANDSHAKING:
assert false : "doHandshake() should never reach the NOT_HANDSHAKING state";
Run Code Online (Sandbox Code Playgroud)
而在我的示例程序中,初始握手似乎以 NOT_HANDSHAKING 状态结束。所以我不知道这是正常还是错误状态。此外,官方的JSSE 参考指南也没有帮助,因为它只是说
// Handle other status: // FINISHED or NOT_HANDSHAKING
...
Run Code Online (Sandbox Code Playgroud)
任何信息表示赞赏。
FINISHED 意味着你刚刚完成,它只出现在由 返回的握手状态对象中wrap()/unwrap()。
NOT_HANDSHAKING 表示没有正在进行的握手,它由上面提到的状态对象和由 返回的状态对象返回getHandshakeStatus()。
| 归档时间: |
|
| 查看次数: |
3146 次 |
| 最近记录: |