在 Windows 系统中删除证书
Windows 证书管理器位于 certmgr.msc,删除证书主要通过图形界面完成,但也可以使用 PowerShell 命令。

方法 1:使用图形界面(最常用)
这是最直观、最安全的方法,可以确保您删除的是正确的证书。
-
打开证书管理器:
- 按
Win + R键,输入certmgr.msc,然后按回车。 - 或者,在开始菜单搜索“
certmgr.msc”并打开。
- 按
-
定位证书:
- 在左侧控制台树中,选择要删除的证书存储位置:
- 当前用户:存储在当前登录用户的个人证书库中(用于网站的客户端证书)。
- 本地计算机:存储在计算机的证书库中(用于 IIS、VPN 或服务的服务器证书),要访问此选项,您可能需要以管理员身份运行
certmgr.msc。
- 在左侧控制台树中,选择要删除的证书存储位置:
-
查找并删除证书:
(图片来源网络,侵删)- 在中间的列表中,找到您要删除的证书,您可以通过“颁发给”、“颁发者”或“有效期”等列进行筛选。
- 右键单击该证书。
- 选择“删除”。
- 系统会弹出确认对话框,点击“是”以确认删除。
方法 2:使用 PowerShell 命令(高级用户)
对于自动化批量操作,PowerShell 是非常强大的工具。
-
以管理员身份运行 PowerShell:
- 在开始菜单搜索“PowerShell”,右键单击“Windows PowerShell”,选择“以管理员身份运行”。
-
列出证书以找到目标:
- 首先列出您要删除的证书,找到其 Thumbprint(指纹)。
- 列出当前用户的个人证书:
Get-ChildItem -Path Cert:\CurrentUser\My
- 列出本地计算机的个人证书:
Get-ChildItem -Path Cert:\LocalMachine\My
- 在输出结果中,找到您要删除的证书,并复制其
Thumbprint值(不带空格)。
-
删除证书:
(图片来源网络,侵删)- 使用以下命令,将
<Thumbprint>替换为您刚刚复制的证书指纹。 - 删除当前用户的证书:
Remove-Item -Path "Cert:\CurrentUser\My\<Thumbprint>"
- 删除本地计算机的证书:
Remove-Item -Path "Cert:\LocalMachine\My\<Thumbprint>"
- 系统会提示确认,输入
Y并按回车即可。
- 使用以下命令,将
在 macOS 系统中删除证书
macOS 的证书管理主要通过“钥匙串访问”(Keychain Access)应用完成。
方法 1:使用图形界面(最常用)
-
打开“钥匙串访问”:
在“应用程序” > “实用工具”文件夹中找到并打开“钥匙串访问”。
-
定位钥匙串和证书:
- 在钥匙串访问窗口的左侧边栏,选择正确的钥匙串。
- 登录:当前用户的证书。
- 系统:系统级别的证书(需要管理员权限)。
- 本地主机:与本地服务相关的证书。
- 在搜索框中,您可以根据“名称”或“主题”筛选证书。
- 在钥匙串访问窗口的左侧边栏,选择正确的钥匙串。
-
删除证书:
- 找到您要删除的证书。
- 右键单击该证书。
- 选择“删除“钥匙串访问”中的“[证书名称]...””。
- 在弹出的确认对话框中,点击“删除”。
方法 2:使用命令行(高级用户)
macOS 基于 Unix,可以使用 security 命令行工具。
-
打开“终端”(Terminal)。
-
列出证书:
- 首先列出证书以找到您要删除的证书的 SHA-1 哈希值。
- 列出“登录”钥匙串中的所有证书:
security find-certificate -a -p login
- 列出“系统”钥匙串中的所有证书:
security find-certificate -a -p /
- 在输出结果中,找到您要删除的证书,并记下其
SHA-1哈希值。
-
删除证书:
- 使用以下命令,将
<SHA-1_Hash>替换为您记下的哈希值。 - 从“登录”钥匙串中删除:
security delete-certificate -Z <SHA-1_Hash> login
- 从“系统”钥匙串中删除(需要输入管理员密码):
sudo security delete-certificate -Z <SHA-1_Hash> /
- 使用以下命令,将
在 Linux 系统中删除证书
Linux 系统的证书管理因发行版而异,主要使用 update-ca-trust 或直接操作证书目录。
方法 1:使用发行版工具(推荐)
许多现代 Linux 发行版(如 RHEL, CentOS, Fedora)使用 update-ca-trust 工具。
-
以 root 或 sudo 用户身份打开终端。
-
删除证书:
- 系统信任的证书通常位于
/etc/pki/ca-trust/source/anchors/目录下。 - 将您要删除的证书文件(
my-cert.pem)从该目录中移除。 - 运行以下命令更新信任存储:
sudo update-ca-trust extract
- 系统信任的证书通常位于
方法 2:直接操作证书文件(适用于 Debian/Ubuntu 等)
-
以 root 或 sudo 用户身份打开终端。
-
定位证书:
- 系统信任的证书通常位于
/usr/local/share/ca-certificates/或/usr/share/ca-certificates/目录下。 - 也可能在
/etc/ssl/certs/目录下,但直接操作此目录不推荐。
- 系统信任的证书通常位于
-
删除证书:
- 找到您要删除的证书文件(
my-cert.crt)。 - 使用
rm命令将其删除:sudo rm /usr/local/share/ca-certificates/my-cert.crt
- 如果您修改了
/etc/ca-certificates.conf文件,也需要重新更新证书列表:sudo update-ca-certificates
- 找到您要删除的证书文件(
重要注意事项
- 备份:在执行任何删除操作之前,强烈建议先备份您的证书,您可以将证书文件(
.pem,.cer,.crt)复制到安全的地方。 - 确认用途:切勿随意删除您不认识的证书,某些系统证书是操作系统安全正常运行所必需的,删除它们可能导致系统不稳定、网络连接问题或应用程序无法启动。
- 权限:删除“本地计算机”或“系统”级别的证书通常需要管理员权限。
- 服务影响:如果您删除的是某个 Web 服务器(如 Nginx, Apache)使用的证书,该服务将无法提供 HTTPS 功能,直到您安装新的有效证书。
希望这份详细的指南能帮助您安全地删除证书!
