Java 环境信任指定的根证书
·
1、nginx.conf文件指定证书路径(如果有的话)
2、使用keytool导入证书
keytool -import -alias keymanager-root-ca -file /root/root.crt -keystore /home/software/jdk17/lib/security/cacerts -storepass changeit
命令参数解析
| 参数 | 说明 |
|---|---|
keytool | Java 提供的密钥和证书管理工具,用于生成、导入、导出证书等操作。 |
-import | 指定操作类型为“导入证书”。 |
-alias keymanager-root-ca | 为导入的证书指定别名(Alias),用于后续识别(此处别名为 keymanager-root-ca)。 |
-file /root/root.crt | 指定要导入的证书文件路径(此处为 /root/root.crt,通常是 PEM 格式的根证书)。 |
-keystore /home/software/jdk17/lib/security/cacerts | 指定目标密钥库路径,这里是 Java 默认的信任库 cacerts(JDK 17 的安装路径下)。 |
-storepass changeit | 指定密钥库的密码(Java 默认信任库 cacerts 的初始密码为 changeit,建议生产环境修改)。 |
3、将根证书放到/usr/share/ca-certificates目录下
1)/usr/share/ca-certificates
目标目录:Linux 系统默认的 用户自定义 CA 证书存放目录(用于扩展系统信任的 CA 证书)。
2)update-ca-certificates
另:Linux 系统(如 Ubuntu、Debian 等)会从 /etc/ssl/certs/ 目录加载信任的 CA 证书,而 /usr/local/share/ca-certificates/ 是用户手动添加自定义 CA 证书的标准目录。
此命令的作用:将自定义根证书(root.crt)复制到系统指定的 CA 证书目录,后续通过 update-ca-certificates 命令更新系统信任列表,使系统级工具(如 curl、wget、apt、图形化浏览器等)信任该根证书及其签发的证书。
4、openssl s_client 工具测试 HTTPS 连接并查看目标服务器证书信息
openssl s_client -connect sso.xxxxxx.in:443 -showcerts
5、其他
检查已有的证书
keytool -list -alias keymanager-root-ca -keystore /home/software/jdk17/lib/security/cacerts -storepass changeit
更多推荐


所有评论(0)