在Servlet中获取服务器证书/ SSL

时间:2015-05-28 02:37:40

标签: tomcat servlets ssl jetty ssl-certificate

我有一个Web应用程序(.war文件),可以部署在Tomcat或Jetty或任何其他servlet容器中。我想知道Servlet容器的SSL证书详细信息(例如证书过期时,谁是发行者等)。

是否可以从Servlet获取服务器证书或SSL详细信息?

2 个答案:

答案 0 :(得分:1)

当然,只需使用SSLSocket在适当的端口上连接自己,获取SSLSession,获取对等证书。不要发送任何东西。

答案 1 :(得分:1)

从技术上讲,没有一个容器的SSL证书。服务器可能有许多连接器,每个连接器可能有许多证书,SNI仅用于连接时选择一个。

因此,对于可移植的servlet,您不应该在init期间获取详细信息,因为它们可能因每个请求而有所不同。

无论如何,您无法使用标准API执行此操作。在请求中,您可以将请求转发给一个码头请求,然后导航几个getter以获取Ssl EndPoint,然后从那里获取SslEngine,它将告诉您用于该请求的证书。