Java 证书批量导入和更新
2025年11月18日大约 1 分钟
Java 证书批量导入和更新
单个证书导入命令
keytool -importcert -trustcacerts \
-alias newca \
-keystore C:\Java\jdk1.8.0_461\jre\lib\security\cacerts \
-storepass changeit \
-file newca.crt \
-nopromptJDK cacerts 文件位置
不同版本 JDK 的 cacerts 路径:
- JDK 8 及更早版本:
$JAVA_HOME/jre/lib/security/cacerts - JDK 9+ 高版本:
$JAVA_HOME/lib/security/cacerts
批量导入 Mozilla CA 证书
证书来源:
- Mozilla CA 证书包:https://curl.se/docs/caextract.html
- 包含从 Mozilla 提取的所有受信任 CA 证书
批量导入方法:
直接替换 cacerts 文件(推荐用于批量更新)
- 下载 Mozilla CA 证书包
- 转换为 JKS 格式的 cacerts 文件
- 替换 JDK 自带的 cacerts 文件
使用脚本批量导入
# 示例:循环导入多个证书
for cert in *.crt; do
keytool -importcert -trustcacerts \
-alias $(basename $cert .crt) \
-keystore $JAVA_HOME/lib/security/cacerts \
-storepass changeit \
-file $cert \
-noprompt
doneLinux 系统级证书更新
在 RHEL/CentOS/Fedora 系统上:
cp rootCA.crt /usr/share/pki/ca-trust-source/anchors/ && update-ca-trust这会更新系统级别的证书信任库,但不会自动影响 Java 的 cacerts。
注意事项
- 默认密码是
changeit - 备份原 cacerts 文件再修改
- 某些应用可能使用自定义的 truststore,需单独配置