2015-07-02 54 views
1

Tomcat应用与ERR_CERT_AUTHORITY_INVALID自签名证书导致Chrome浏览器在ERR_CERT_AUTHORITY_INVALID自签名证书导致Chrome浏览器

我已经设置了HTTPS和Tomcat应用程序创建的自签名证书。但是,当我连接到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 doc才能用于自签名证书?
  • 解决此问题的最佳方法是什么?

回答

4

Tomcat应用与ERR_CERT_AUTHORITY_INVALID自签名证书导致Chrome浏览器

当然它中。您的tomcat服务器向浏览器呈现证书,该证书不是由浏览器信任的证书代理机构(即浏览器或操作系统附带的)颁发的证书。因此,浏览器没有理由相信证书并抱怨。

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

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

+0

一个很好的例子是从某个任意站点执行POST到本地机器(模拟对该站点的注入攻击,将被盗信息发送到您的服务器)。如果浏览器没有介入对用户进行仔细检查,那么这种注入意味着信息窃取非常容易。 Chrome的消息是适当的:“攻击者可能试图从{url}(例如,密码,消息或信用卡)窃取您的信息。NET :: ERR_CERT_AUTHORITY_INVALID” –