我有以下问题:我有一个域托管 a) 端口 443 (Apache) 上的网站和 b) 端口 8443 上带有 Spring Boot (Tomcat) 的 Web 应用程序。两者都使用相同的证书。对于 Tomcat,我生成了一个由私钥/证书、中间证书和根证书组成的 keystore 。访问网站完全不是问题。
现在,当我从例如Chromium 或我的智能手机我可以访问它并且 https 工作得很好(证书是可信的,我可以查看证书链)。如果我改为尝试在 Firefox 中打开它或使用 openssl s_client -connect domain.com:8443
连接不安全,只有我的证书,但没有提供中间证书和根证书。
现在我不明白这是怎么发生的,Chrome 是否可以识别来自 issuer
的证书链?证书字段或要求应用服务器提供链的更多部分,而 Firefox/openssl 不提供。
任何关于如何运行的提示都将不胜感激!
BR约翰内斯
关于 keystore 创建的顺便说一句:我创建了一个空 keystore ,添加了根,然后是中间层,然后是我的证书 + key 。
最佳答案
看来我在如何创建 keystore 时犯了一个错误,仅导入证书链和 key 对是不够的。我必须将链的证书附加到我的证书(使用 KeyStoreExplorer 或如所述 in this answer 。
不过,Chromium 无论如何都接受了证书,这对我来说仍然是个谜。
关于spring - 如何配置 Tomcat(在 Spring Boot 中)以提供带有 SSL 连接的完整证书链? (目前使用 Chromium,不使用 Firefox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32615860/