我正在研究基于服务器和基于客户端的应用程序,该应用程序需要双向SSL身份验证。 (客户端使用SSL证书验证服务器和服务器对客户端进行身份验证。)Netty中的双向SSL身份验证
我对Netty很陌生,对此几乎没有怀疑。
- 是使用Netty进行双向认证的可能吗?
- 通过向服务器和客户端的pipelinefactories添加另一个SslHandler可以简单地实现吗?
- 如果以上情况属实,我如何在ChannelConnected()方法中获取所需的SslHandler来执行SslHandshake?是否有可能通过调用管道再次调用ChannelConected()方法来调用第二次握手?
- 我有什么可以参考的例子吗?
我真的很感谢任何关于这方面的帮助,答案或正确的方向。
谢谢先进。
您没有在scala示例中关闭信任库的输入流。另外,最好使用'Key/TrustManagerFactory.getDefaultAlgorithm()'而不是强制'SunX509',它不是TMF的默认JSSE,并且不适用于非Sun/Oracle的JRE(例如IBM)。 – Bruno