首页 文章

强制SSL连接没有read()

提问于
浏览
0

我有sslServerSocket

setNeedClientAuth(true)

客户端 Build ssl连接并发送客户端hello . 但我的serversocket接受客户端问候,并在我打电话后才进行其他ssl连接程序

read()

来自套接字输入流 . 我使用StAX从套接字读取并创建XML . 我想在读取之前 Build 连接以单独处理连接错误 . 我尝试调用socket和socket输入流的不同方法来强制ssl连接 Build ,但没有运气 . 我想现在关于bufferReader - mark - read - reset,但也许还有其他选择?

1 回答

  • 1

    调用 SSLSocket.startHandshake(). 如果有必要,可以在第一个I / O上自动调用它,但您也可以自己调用它 .

    然而,你想要的不仅仅是握手而是对等证书,你可以通过 SSLSession 和朋友获得 . 如果你在 accept() 之后立即调用 SSLSocket.getSession() ,它将在必要时调用 startHandshake() . 更好的是,在套接字中添加 HandshakeListener ,在调用时检查对等身份,如果不喜欢对等体,请关闭套接字 .

相关问题