具有自签名证书的Tomcat应用程序在Chrome浏览器中生成ERR_CERT_AUTHORITY_INVALID

时间:2015-07-02 19:46:43

标签: apache tomcat ssl certificate

带有自签名证书的Tomcat应用程序会在Chrome浏览器中生成ERR_CERT_AUTHORITY_INVALID

我已经设置了https并创建了自签名证书。但是,当我连接到URL时,我收到一条ERR_CERT_AUTHORITY_INVALID消息。

的https:// {remote_host_name}:8443 /

我已按照Tomcat网站上有关SSL和自签名证书(https://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html#Edit_the_Tomcat_Configuration_File)的说明进行操作。一个区别是我连接到远程主机,而不是本地主机,虽然我不认为这应该重要。

这是一个测试环境,但遗憾的是我无法在测试主机的浏览器中添加证书的例外,因为它们会在每次测试运行时创建新的FF配置文件。

这是我用来创建自签名证书的命令:

./keytool -genkey -keyalg RSA -alias tomcat -keystore /var/tomcat/.keystore -storepass changeit -validity 360 -keysize 2048

这是我的Tomcat server.xml连接器信息:

Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/var/tomcat/.keystore"
keystorePass="changeit"
  • Tomcat doc中用于自签名证书的配置是否仅在localhost上运行Tomcat时有效?
  • 什么是最好的方法 解决这个问题?

1 个答案:

答案 0 :(得分:4)

  

带有自签名证书的Tomcat应用程序会在Chrome浏览器中生成ERR_CERT_AUTHORITY_INVALID

当然可以。您的tomcat服务器向浏览器提供证书,该证书不是由浏览器信任的证书代理商颁发的(即随浏览器或OS一起提供)。因此浏览器没有理由信任证书并抱怨。

如果浏览器不检查它是否信任证书的发行者,则意味着它会信任某个任意人发出的任何证书,其中包括攻击者颁发的证书。你真的想要这个吗?

要使用自签名证书,您必须在每个浏览器中明确接受证书为受信任,但当然只有在您手动验证证书指纹以确保没有人篡改连接之后。没有服务器端重新配置可以使浏览器自动信任这样的自签名证书。跳过此步骤的唯一方法是使用已由浏览器信任的证书代理机构颁发的证书。