java - 如何在使用 Netty 运行的 Jersey 中获取 SSL 信息(对等证书)?

标签 java ssl jersey netty client-certificates

我将 Jersey 框架与 Netty 结合使用。

我正在通过 SSL 客户端证书对客户端进行身份验证。

我正在尝试实现一个 GET whoami() 方法供客户调用。我希望响应包含来自用于调用 netty 服务器的客户端 ssl 证书的一些信息。

我想我需要使用某种@Context 参数,但我找不到进入 SSLEngine 的方法。

我找到了一个我想用 Girzzly[1] 做的事的例子,但我没能在 netty 中找到类似的东西。

对于如何访问客户端 SSL 详细信息,您有什么想法吗?在 Netty 中我可以使用哪些 Context 对象?

更新说明:如何从我的@GET 资源中访问 ChannelPipeline?

[1] http://jersey.576304.n2.nabble.com/Context-SecurityContext-not-initialized-with-SSL-client-certs-td7556681.html

最佳答案

获取 SSLEngine 取决于您的 ChannelPipeline 在 Netty 中的初始化方式。一种常见的模式是插入 SslHandler像这样进入管道 example .这是一个 unit test您可以在其中明确看到 SSLEngine 被 SslHandler 包装并插入到管道中。了解管道的配置方式后,您可以使用 ChannelPipeline.get(...) 从管道中获取元素。按类型或名称。

要获得更具体的答案,您必须提供有关您的配置的更多详细信息。我不熟悉您的设置、Netty 和 Jersey 的交互方式,或者 Netty 的界面对您的可访问性。

关于java - 如何在使用 Netty 运行的 Jersey 中获取 SSL 信息(对等证书)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26855490/

相关文章:

java - 如何将 JTextField 的输入转换为 double.输入值来自用户

java - 完成后,Mediaplayer不会在第一次单击时重新启动

java - 我的 Java 正则表达式没有捕获组

ssl - RabbitMQ 集群算子 - 启用 MQTT 插件

java - java中的最大对象大小

Java 的 Jersey、RESTful API 和 JSONP

java - Bukkit/Spigot如何获取玩家自定义头像ID

ssl - 在安卓 Lollipop 上进行RSA解密

exception - Jersey ExceptionMapper 和继承

Java Guice DI 错误 : UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl