配置Tomcat以优先选择一个签名者,还是为每个端点使用不同的证书?

时间:2016-05-06 20:12:53

标签: java tomcat spring-security spring-boot ssl-certificate

我有一个运行Tomcat 8的Spring Boot(v1.3)Web服务,其端点可以访问多个下游服务。每个下游服务都需要由该下游服务CA签署的用户证书中的信息。

用户将拥有他们需要的所有证书(每个必要CA的证书),但服务需要为每个端点获取不同的证书。有没有办法做到这一点(从用户的浏览器获取特定或所有证书)?

(也许就是在相应的控制器中抓取tomcat SSLSessionManager(org.apache.tomcat.util.net.SSLSessionManager)并使session / ca ...无效并要求另一个... ... < / p>

1 个答案:

答案 0 :(得分:0)

我不清楚你想要什么:拥有用户可以连接的多个tomcat端点,或者从tomcat调用多个端点。

如果这是第一个,那么您可以:

  • 声明多个tomcat连接器,每个连接器都有自己的密钥库
  • 或添加一个前端服务器(如Apache,Nginx,HAProxy等),它将处理给定请求DNS的SSL部分

如果这是您需要的第二个解决方案,则可以拥有一个包含所有证书的密钥库。此密钥库可以通过javax.ssl属性注册到JVM。有关详细信息,请参阅java SSL and cert keystore