如何访问用于Dopost主体内的Servlet请求的SSLSLSOCKET(方法



我正在通过子类Javax.Servlet.http.httpservlet和覆盖Dopost方法来实现HTTP Servlet。在Dopost方法的主体中,我需要访问用于处理请求的SSLSLSOCKET对象,并将用于处理响应。Servlet容器也被用作HTTPS服务器。在Servlet容器前面没有Web服务器,负载平衡器,TLS终止设备等。客户专门使用HTTPS直接连接到Servlet容器。

如何访问用于处理请求的SSLSLSOCKET对象,并将用于处理Dopost方法主体内部的响应?

您可能会很好奇我为什么需要这样做。我需要访问与连接关联的频道绑定信息。是的,我知道当前在JSSE规范中未标准化频道绑定支持,因此默认提供的JSSE提供商不支持频道绑定支持。这就是为什么我使用弹力城堡JSSE提供商支持频道绑定的原因。

首先,Dopost中的断点,然后钻入您在线程堆栈上看到的变量。有一个请求/响应对象,它们将是特定于实现的(Tomcat,Jetty等...)

解决方案取决于这些:

a)如果您可以通过钻入请求或响应的私有字段到达SSLSLSOCTED。我知道你可以和tomcat一起。

b)如果您可以并且愿意编写正在使用反射的代码,并且没有安全策略阻止您调用field.setAccessible(true)并使用字段获取该值。get(..)

c)如果您能够处理故障,并且可以清楚地表明可以在DEV或QA中检测到此非编译代码的回归。这是因为将来确定服务器版本会更新,并且您的代码可能会突然破裂而不会出现汇编错误。集成测试是必须的。

因此,您可能猜对了,通过反射可以钻入请求或响应的任何字段。

相关内容

  • 没有找到相关文章

最新更新