使用自签名证书的Tomcat应用程序在Chrome浏览器中导致ERR_CERT_AUTHORITY_INVALID错误。

3

使用自签名证书的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文档中提供的自签名证书配置只适用于在本地主机上运行Tomcat吗?
  • 解决这个问题的最佳方法是什么?
1个回答

5
使用自签名证书的Tomcat应用程序在Chrome浏览器中会出现ERR_CERT_AUTHORITY_INVALID错误。 当然会出现这种情况。您的Tomcat服务器向浏览器呈现的证书未被证书机构信任(即未随浏览器或操作系统一起发布)。因此,浏览器没有理由信任该证书并发出警告。 如果浏览器不检查是否信任证书的颁发者,这意味着它将信任任何由任意人颁发的证书,其中包括攻击者颁发的证书。您真的想要这样吗? 要使用自签名证书,您必须显式地在每个浏览器中接受该证书作为可信证书,但当然,在手动验证证书指纹以确保没有人篡改连接后才能进行此操作。任何服务器端重新配置都无法使浏览器自动信任此类自签名证书。跳过此步骤的唯一方法是使用浏览器已经信任的证书颁发机构颁发的证书。

一个很好的例子是从任意网站向您的本地机器执行POST请求(模拟对该网站进行注入攻击,将窃取的信息发送到您的服务器)。如果浏览器没有与用户进行双重确认,那么这种注入将意味着极其容易的信息窃取。Chrome的提示信息非常合适:“攻击者可能正在尝试窃取您在{url}上的信息(例如密码、消息或信用卡信息)。NET::ERR_CERT_AUTHORITY_INVALID" - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接