我正在使用Jersey框架和Netty。
我通过SSL客户端证书验证客户端。
我正在尝试为客户端调用实现GET whoami()方法。我希望响应中包含用于调用netty服务器的客户端ssl证书中的一些信息。
我想我需要使用某种@Context参数,但是我没有找到进入SSLEngine的方法。
我找到了一个使用Girzzly [1]想要做的事情的例子,但是我没有在netty中找到类似的东西。
您对如何访问客户端SSL详细信息有任何想法吗?在Netty中我可以使用哪些Context对象?
更新澄清:我如何从@ GET资源中访问ChannelPipeline?
答案 0 :(得分:0)
获取SSLEngine取决于您在Netty中初始化ChannelPipeline的方式。一种常见的模式是将SslHandler插入管道中,就像在此example中一样。这是一个unit test,您可以在其中明确地看到SSLEngine被SslHandler包装并插入到管道中。了解管道的配置后,您可以按类型或名称使用ChannelPipeline.get(...)从管道中获取元素。
要获得更具体的答案,您必须提供有关配置的更多详细信息。我不熟悉你的设置,Netty和Jersey如何互动,或者Netty的界面对你有多大的了解。