我们有一个架构,其中多个Java 7 Tomcat应用程序通过HTTPS与特殊Web服务(也是位于不同VM上的Tomcat应用程序)进行通信。
许多Java 7 JRE本身并不信任较新的基于SHA-2的SSL证书。因此,一种解决方案是将Java 7客户端应用程序升级到Java 8,其发行版全部支持SHA-2。但是,由于这个问题范围之外的原因,我们的2个应用程序非常庞大,很快就无法升级到Java 8。
我希望我可以在Web服务的密钥库中放置2个SSL证书,因此我们将拥有旧的Java 7友好SHA-1证书以及较新的SHA-2证书。希望客户端应用程序可以选择"要使用哪个证书,因此Java 7应用程序会信任旧版本,Java 8应用程序可能也会信任。
所以我问:当密钥库里面有多个SSL证书时,Tomcat 8如何表现?它是仅仅提供第一个证书,还是为所有可用证书提供HTTPS客户端,并允许他们选择使用哪个证书?或者是否会发生完全不同的事情?
答案 0 :(得分:1)
我不知道任何服务器在一个端口上运行多个证书。但是,您可以做的是定义另一个连接器,侦听server.xml配置中指向较新证书技术的端口8434。您可以使用相同的密钥库,但必须在连接器配置中添加参数keyAlias
以定义要使用的正确别名。