gpt4 book ai didi

java - Netty 中的两种方式的 SSL 身份验证

转载 作者:搜寻专家 更新时间:2023-11-01 04:04:48 24 4
gpt4 key购买 nike

我正在开发一个基于服务器和客户端的应用程序,它需要两种方式的 SSL 身份验证。 (客户端使用 SSL 证书对服务器进行身份验证,服务器对客户端进行身份验证。)

我对 Netty 很陌生,对此几乎没有疑问。

  1. 是否可以使用 Netty 进行双向身份验证?
  2. 是否可以通过向服务器和客户端的管道工厂添加另一个 SslHandler 来简单地实现?
  3. 如果上述情况属实,我如何在 ChannelConnected() 方法中获取所需的 SslHandler 来执行 SslHandshake?是否可以通过再次调用管道在 ChannelConected() 方法中调用第二次握手?
  4. 有没有我可以引用的例子?

我非常感谢与此有关的任何帮助、答案或朝着正确方向的插入。

最佳答案

是否可以使用 Netty 进行双向身份验证?

是否可以通过在服务器和客户端的管道工厂中添加另一个 SslHandler 来简单地实现?

如果上述情况属实,我如何在 ChannelConnected() 方法中获取所需的 SslHandler 来执行 SslHandshake?

在创建 SSLContext 时,您需要正确设置 keystore 和信任库。

是否可以通过再次调用管道在 ChannelConected() 方法中调用第二次握手?

根据内存,客户端和服务器身份验证是在第一次握手中完成的。

在客户端,将客户端的私钥安装在 keystore 中,将服务器的公钥安装在信任库中。

在服务器上,将服务器的私钥安装在 keystore 中,将客户端的公钥安装在信任库中。

有什么例子可以引用吗?

  • 这是一个 example我为 websockets 做了。它只向您展示如何设置服务器 keystore 。您必须添加一个信任库作为 serverContext.init(kmf.getKeyManagers(), null, null);

  • 的第二个参数
  • 这是一个类似的 example在具有信任存储设置的 Scala 中。

  • 这是一个很好的java guide关于如何设置 SSLContext。

希望这对您有所帮助。

关于java - Netty 中的两种方式的 SSL 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10597663/

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