You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下JDK11忘记证书别名时删除cacerts中证书的方法

忘记证书别名时删除cacerts中证书的方法

核心思路

可以通过证书的**指纹(如SHA-256)**定位对应的别名,再执行删除操作——证书指纹是唯一标识,不会重复。

具体操作步骤

1. 备份cacerts文件(重要)

系统级证书库修改前务必备份,避免误操作导致问题:

sudo cp /etc/pki/ca-trust/extracted/java/cacerts /etc/pki/ca-trust/extracted/java/cacerts.bak

2. 通过指纹提取目标证书的别名

假设你要删除的证书SHA-256指纹为EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44,执行以下命令提取别名:

sudo keytool -list -keystore /etc/pki/ca-trust/extracted/java/cacerts -storepass changeit | awk -v fp="EB:04:CF:5E:B1:F3:9A:FA:76:2F:2B:B1:20:F2:96:CB:A5:20:C1:B9:7D:B1:58:95:65:B8:1C:B9:A1:7B:72:44" '$0 ~ fp {print prev} {prev=$0}'

执行后会输出对应的别名,比如verisignclass3publicprimarycertificationauthority-g3。

3. 使用别名删除证书

将上一步得到的别名替换到以下命令中,执行删除:

sudo keytool -delete -alias verisignclass3publicprimarycertificationauthority-g3 -keystore /etc/pki/ca-trust/extracted/java/cacerts -storepass changeit

4. 验证删除结果

重新列出证书库条目,确认目标证书已被移除:

sudo keytool -list -keystore /etc/pki/ca-trust/extracted/java/cacerts -storepass changeit

注意事项

  • 操作cacerts文件需要管理员权限,命令前需加sudo
  • 确保指纹复制准确,避免误删其他证书
  • 若备份文件未损坏,误删后可通过覆盖恢复:sudo cp /etc/pki/ca-trust/extracted/java/cacerts.bak /etc/pki/ca-trust/extracted/java/cacerts

内容的提问来源于stack exchange,提问作者I Bajwa PHD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:02:00