首页 > 解决方案 > net::ERR_CERT_AUTHORITY_INVALID 用于 Spring Boot 应用程序

问题描述

当我尝试访问在 aws ec2 实例上运行的 Spring Boot 后端应用程序时,我在 chrome 上收到此错误:

净::ERR_CERT_AUTHORITY_INVALID

我已经将我的证书导出到 jre cacerts:

sudo keytool -importcert -file certificate.crt -alias tomcat -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts

安装的证书:

keytool -list -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -alias tomcat

tomcat, Jan 5, 2021, trustedCertEntry, 
Certificate fingerprint (SHA1): 41:41:E0:F6:88:F5:B3:DF:B0:D7:3B:8D:87:95:4B:16:48:C9:92:5D

还有什么我必须做的吗?

标签: javaspring-bootkeystore

解决方案


这对于自签名证书是正常的。想象一下,尝试访问具有由……开发人员妈妈签名的证书的在线商店:它应该显示警告(即使我们非常爱妈妈),因为该站点根本不安全,您不应该输入你的卡号在那里。

这就是为什么会有证书提供商,例如 Symantec 或Digicert。他们签署您的证书,并且用该证书签署的任何内容最终都被确定为有效的证书授权机构。他们就像在线通讯的公证人

例如,在浏览器上点击 StackOverflow 的页面锁定。它将显示此页面证书的提供者,即Let's Encrypt该提供商允许创建受信任的证书而无需支付一分钱,因为它是由Internet Security Research Group运营的非营利机构。

感谢 Voo 在评论方面指出这一点。

在此处输入图像描述


推荐阅读