Firefox 提示“无效的 CA 证书颁发者”,是因为使用了自签名证书。要解决这个问题,有以下几种方法
Firefox 提示“无效的 CA 证书颁发者”,是因为使用了自签名证书。要解决这个问题,有以下几种方法:
方法 1:使用受信任的证书颁发机构 (CA) 签发的证书
最简单和最安全的解决方案是使用受信任的 CA 签发的证书。Let's Encrypt 提供免费的证书,并且可以自动续订。具体步骤如下:
使用 Let's Encrypt
- 安装 Certbot
根据您的操作系统安装 Certbot。例如,在 Ubuntu 上:
sudo apt-get update sudo apt-get install certbot
- 生成证书
使用 Certbot 生成证书:
sudo certbot certonly --standalone -d example.com -d www.example.com -d 101.132.66.86
- 配置 Tomcat 使用 Let's Encrypt 证书
将生成的证书配置到 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="/etc/letsencrypt/live/example.com/fullchain.pem" keystorePass="changeit" keyAlias="example.com" keyFile="/etc/letsencrypt/live/example.com/privkey.pem" />
确保使用正确的路径和文件名,并重启 Tomcat。
方法 2:将自签名证书添加到 Firefox 的信任存储中
如果您决定继续使用自签名证书,可以将其导入到 Firefox 的信任存储中。
生成包含多个 SAN 的自签名证书
keytool -genkeypair -alias reyo.cn -keyalg RSA -keysize 2048 -validity 3650 -ext SAN=DNS:localhost,IP:127.0.0.1,IP:[::1],IP:101.132.66.88 -keystore localhost.jks -storepass 12345 -keypass 123456 -dname "CN=ReYo Cloud Server, OU=ReYo.cn, O=ReYo (China) Technology Limited, L=ChongQing, S=ChongQing, C=CN"
导出证书
keytool -export -alias reyo.cn -file reyo.crt -keystore localhost.jks -storepass 123456
导入到 Firefox
- 打开 Firefox。
- 进入选项(Preferences)。
- 导航到“隐私与安全”选项卡。
- 在“证书”部分,点击“查看证书”。
- 在“认证机构”选项卡中,点击“导入”。
- 选择
reyo.crt
文件并导入。 - 勾选“此证书可识别网站”选项。
方法 3:将自签名证书添加到操作系统的受信任证书存储中
如果您希望所有浏览器(不仅是 Firefox)都信任您的自签名证书,可以将证书添加到操作系统的受信任证书存储中。
在 Windows 上
- 打开“运行”对话框,输入
mmc
并按回车。 - 选择“文件”->“添加/删除管理单元”。
- 添加“证书”管理单元,并选择“计算机账户”。
- 导航到“受信任的根证书颁发机构”->“证书”。
- 右键点击“证书”文件夹,选择“所有任务”->“导入”。
- 选择
reyo.crt
文件并完成导入向导。
在 macOS 上
- 打开“钥匙串访问”应用程序。
- 选择“系统”钥匙串。
- 从文件菜单中选择“导入项目”。
- 选择
reyo.crt
文件。 - 找到导入的证书,右键点击并选择“获取信息”。
- 展开“信任”部分,将“使用此证书时”设置为“始终信任”。
通过这些步骤,您可以避免在 Firefox 或其他浏览器中看到“不安全的连接”提示,并确保您的证书被浏览器信任。使用受信任的 CA 签发的证书是最推荐的方法,因为它提供了最好的安全性和兼