当前位置: 首页 > news >正文

第2章 cmd命令基础:证书操作(certutil)

Hi~ 我是李小咖,主要从事网络安全技术开发和研究。

本文取自《李小咖·网安技术库》,欢迎一起交流学习🫡:https://imbyter.com


Certutil是一个Windows操作系统自带的命令行工具,主要用于执行各种与数字证书相关的任务,同时也可以校验文件MD5,SHA1,SHA256,下载文件等。

在cmd中执行certutil命令,其实执行的是C:\Windows\system32\certutil.exe程序。


一、证书操作

1. 查看证书

certutil可以用来查看数字证书的详细信息。例如,要查看某个证书的详细信息,可以执行以下命令:

# certutil -dump <证书文件名> 
E:\>certutil -dump test.cert

该命令将输出证书的详细信息,包括证书序列号、颁发机构、公钥、签名、有效期等:

2. 安装证书

Certutil可以用来安装数字证书。例如,要将某个证书安装到本地证书存储区,可以执行以下命令:

# certutil -addstore <存储区名> <证书文件名>
E:\>certutil -addstore MY test.cert

其中,存储区名可以是以下之一:

  • MY:个人证书存储区

  • CA:中央证书存储区

  • ROOT:根证书存储区

3. 导出证书

Certutil可以用来导出数字证书。例如,要将某个证书导出为PEM格式,可以执行以下命令:

# certutil -encode <证书文件名> <输出文件名>
E:\>certutil -encode test.cert test.pem

该命令将把证书导出为PEM格式,并保存到指定的输出文件中。

4. 检查证书链

Certutil可以用来检查数字证书的证书链。例如,要检查某个证书的证书链是否完整,可以执行以下命令:

# certutil -verify <证书文件名>
E:\>certutil -verify test.cert

如果证书链完整,该命令将输出“证书链完整”;否则,将输出有关证书链不完整的信息。

5. 列出证书

Certutil可以用来列出数字证书。例如,要列出个人证书存储区中的所有证书,可以执行以下命令:

# certutil -store MY
E:\>certutil -store MY

该命令将列出个人证书存储区中的所有证书,并显示每个证书的序列号、主题、颁发机构等信息。


二、编码解码

1. Base64编码解码

Certutil可以将指定文件的内容进行Base64编码,结果保存到新文件中。

# certutil -encode 目标文件 编码后的新文件
E:\>certutil -encode 123.txt encode.txt

执行效果:

被编码的文件内容,会以-----BEGIN CERTIFICATE-----开头,-----END CERTIFICATE-----结尾。


解码,使用 -decode 参数,即可实现对编码后的文件解码:

# certutil -decode 已经编码的文件 解码后的新文件
E:\>certutil -decode encode.txt 123.txt

2. 十六进制编码

Certutil可以将指定文件的内容进行十六进制编码,结果保存到新文件中。

# certutil -encodehex 目标文件 编码后的新文件
E:\>certutil -encodehex 123.txt hex.txt

执行效果:

被编码的文件内容,如下格式保存:


解码,使用 -decodehex 参数,即可实现对编码后的文件解码:

# certutil -decodehex 已经编码的文件 解码后的新文件
E:\>certutil -decodehex 123.txt hex.txt

三、计算散列值

Certutil可以对指定文件进行散列值的计算,支持的算法有MD5,SHA1,SHA256。

1. MD5

# certutil -hashfile 目标文件 哈希算法
E:\>certutil -hashfile test.txt md5

执行效果:

1. SHA1

# certutil -hashfile 目标文件 哈希算法
E:\>certutil -hashfile test.txt SHA1

执行效果:

2. SHA256

# certutil -hashfile 目标文件 哈希算法
E:\>certutil -hashfile test.txt SHA256

执行效果:


四、文件下载

Certutil命令还支持从远程web服务器中下载文件和资源。

格式:certutil -urlcache -split -f 网络资源 保存路径

  • 网络资源是您要下载的文件的URL;

  • 保存路径是您要将该文件保存到计算机上的位置。

E:\>certutil.exe -urlcache -split -f https://img.js.design/assets/stableDiffusion/thumbnail/diffusionImage/641017156a21b6a39f0aa61e.png E:\1.png

注意:

此命令将从指定的URL下载文件并将其保存到指定的位置。如果在指定位置已经存在具有相同名称的文件,则该文件将被覆盖。

执行效果:


五、缓存操作

对于使用Certutil下载文件,以及其他内部调用WinHTTP APIWinInet API的网络软件工具,在下载文件的时候,都会留下一些缓存数据,可以用Certutil查看这些数据。

1. 查看所有缓存

命令:certutil.exe -urlcache

E:\>certutil.exe -urlcache

执行效果:

2. 查看指定下载缓存

如果要查看指定文件的下载缓存,可以用certutil.exe -urlcache -v 下载过的文件命令,比如查看上述下载图片的缓存:

E:\>certutil.exe -urlcache -v https://img.js.design/assets/stableDiffusion/thumbnail/diffusionImage/641017156a21b6a39f0aa61e.png

执行结果:

3. 清除缓存

清除指定下载的缓存文件,可以执行:certutil.exe -urlcache 下载过的文件 delete

E:\>certutil.exe -urlcache https://img.js.design/assets/stableDiffusion/thumbnail/diffusionImage/641017156a21b6a39f0aa61e.png delete

清除所有文件缓存:

E:\>certutil.exe -urlcache * delete

六、获取错误代码

可以用Certutil来查询在编程开发,或者系统弹框的一些错误的解释。

格式:certutil -error 错误码

E:\>certutil -error 5E:\>certutil -error 0x0000007bE:\>certutil -error 0x8007000e


http://www.dtcms.com/a/344047.html

相关文章:

  • base64认识实际使用
  • Samba实现Windows与Linux文件共享
  • Linux下基于Electron的程序ibus输入法问题
  • Ubuntu20系统上离线安装MongoDB
  • Kafka Broker 核心原理全解析:存储、高可用与数据同步
  • Java性能优化实战(四):IO与网络优化的4个关键方向
  • 大视协作码垛机:颠覆传统制造,开启智能工厂新纪元
  • Linux C语言中socketpair的全面应用指南:进程与线程间高效通信
  • C++---多态(一个接口多种实现)
  • 【Linux进程控制详解】
  • Windows应急响应一般思路(二)
  • 3 种无误的方式删除 Itel 手机上的短信
  • 车载 GPS 与手机导航的终极对决:谁在复杂路况下更胜一筹?
  • 开源文件加密工具【PicoCrypt】
  • [net]基于asp.net的校园网站的设计与实现/基于c#的校园论坛系统的设计与实现
  • 微软获评2025年Gartner®容器管理魔力象限™领导者
  • 深度学习在股票量化中的应用
  • AP服务发现PRS_SOMEIPSD_00160的解析
  • 项目中优惠券计算逻辑全解析(处理高并发)
  • 河南萌新联赛2025第(六)场:郑州大学(补题)
  • Unity UnityWebRequest高级操作
  • Masked Language Model 如何重塑大模型的预训练
  • 如何轻松永久删除 Android 手机上的短信
  • 如何从根源上理解并解决前端的CORS跨域问题
  • apt update Ign and 404 Not Found
  • docker cuda版安装 dockercuda版安装
  • 哪款云手机比较好用呢?
  • 链式法则解释上游梯度应用
  • 《Windows Server 2022》 [2025年8月版 ] [官方IOS] 下载
  • 设计模式:抽象工厂模式