17370845950

如何使用 certutil 命令管理证书和哈希文件【命令行】
certutil可验证证书、导出信息、计算哈希、导入及列出证书:一、certutil -verify验证证书链与状态;二、-dump导出证书明文详情;三、-hashfile计算SHA256/MD5哈希;四、-addstore导入证书至存储区;五、-store枚举指定存储证书。

如果您需要在 Windows 系统中通过命令行验证证书有效性、导出证书信息或计算文件哈希值,则 certutil 工具可直接完成这些操作。以下是使用 certutil 命令管理证书和哈希文件的具体方法:

一、验证证书链并检查证书状态

certutil -verify 命令用于验证证书是否由受信任的证书颁发机构签发,同时检查证书是否过期、被吊销或存在签名异常。该操作会输出完整的证书链验证路径及每级证书的状态。

1、以管理员身份打开命令提示符或 PowerShell。

2、输入命令:certutil -verify certificate.cer,其中 certificate.cer 是本地证书文件路径。

3、观察输出中的“Certification Authority Revocation Status”和“Certificate Revocation Status”字段,若显示“The revocation function was unable to check revocation for the certificate”,表示未启用 CRL 或 OCSP 检查;若显示“The certificate is valid”,表示验证通过。

二、导出证书详细信息为文本格式

certutil -dump 可将证书(.cer、.crt、.pfx)解析为可读的明文结构,包括序列号、颁发者、使用者、公钥算法、扩展字段等,便于人工审查证书内容。

1、在命令行中执行:certutil -dump certfile.crt,替换 certfile.crt 为实际证书路径。

2、如需导出到文本文件,追加重定向符号:certutil -dump certfile.pfx > cert_info.txt

3、若证书为 PFX 格式且受密码保护,系统将提示输入密码;输入后继续解析。

三、计算文件 SHA256 或 MD5 哈希值

certutil -hashfile 支持对任意文件生成标准哈希摘要,默认使用 SHA1,但可通过参数指定 SHA256 或 MD5,适用于校验文件完整性或比对下载资源是否被篡改。

1、运行命令:certutil -hashfile document.pdf SHA256,document.pdf 替换为待校验文件路径。

2、输出结果第一行为哈希值,第二行为“CertUtil: -hashfile command completed successfully.”,确认执行无误。

3、如需使用 MD5 算法,将 SHA256 替换为 MD5;注意 MD5 已不推荐用于安全敏感场景。

四、导入证书到本地证书存储区

certutil -addstore 将证书添加至 Windows 本地证书存储(如 Root、TrustedPublisher、My),使系统或应用程序识别该证书为可信实体。

1、确定目标存储位置,例如根证书存储使用 Root,当前用户个人证书使用 My

2、执行命令:certutil -addstore Root ca_certificate.cer

3、成功后返回“CertUtil: -addstore command completed successfully.”;若权限不足,需以管理员身份运行命令提示符。

五、列出指定证书存储中的所有证书

certutil -store 可枚举 Windows 证书存储区中的全部证书条目,显示颁发者、使用者、有效期及证书哈希,用于审计或定位特定证书。

1、查看本地计算机的受信任根证书列表:certutil -store Root

2、查看当前用户的个人证书:certutil -store My

3、输出中每张证书以“============== Certificate N ==============”分隔,其中“Cert Hash(sha1)”字段可用于后续删除或查询操作。