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

通过signtool进行数字签名和验证签名

 (一)如何签名

SignTool.exe (Sign Tool) - .NET Framework | Microsoft Learn

Using SignTool to Sign a File - Win32 apps | Microsoft Learn

签名命令行:

signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com yyy.dll

xxx.pfx是购买的证书文件(包含了公钥和私钥,需要保管好,不要泄露了)。

yyy.dll 就是自己需要签名的dll文件。

(二)如何批量签名

批量签名内核驱动程序和普通代码程序汇总-沃通CA官方论坛 - 专业数字证书论坛

微软代码签名证书使用指南(SignTool),数字签名各种微软Windows平台代码-沃通微软代码签名!

通过上面的例子看到signtool是支持批量签名的。

签名命令行:

signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com .\path\*

或者

signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com .\path\*.dll

或者

signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com .\path\*.dll .\path\*.exe

或者

signtool.exe sign /f xxx.pfx /t http://timestamp.digicert.com 1.dll 2.dll 3.exe 4.exe 5.sys

(三)如何本地测试学习签名

在本地找一个 .pfx 文件,如果你购买了证书当然更好,或者有一些免费的证书也可以

找到sdk目录下的signtool.exe文件,调用上面的签名命令行即可。

下面是在我本地找到的cmake目录下的一个临时验证的pfx文件,我的签名结果如下:

 验证签名也类似的。

我把我的测试学习的文件放到了这里:

使用signtool进行签名和验证签名的小测试资源-CSDN文库

(四)如何验证签名

1、手动如何确认签名是否有效。直接看文件的数字签名信息是否正常即可。

异常:

 

正常:

2、通过signtool工具来验证

windows平台下对dll进行数字签名

Using SignTool to Verify a File Signature - Win32 apps | Microsoft Learn

命令行:

signtool.exe verify /pa /v xxx.dll

3、通过代码来验证

Example C Program: Verifying the Signature of a PE File - Win32 apps | Microsoft Learn

测试过是可行的,并且signtool也是使用这个WinVerifyTrust API来实现签名验证的。

http://www.lryc.cn/news/116987.html

相关文章:

  • geeemap学习总结(2)——地图底图应用
  • flutter 手写日历组件
  • C++动态规划经典试题解析之打家劫舍系列
  • 24届近5年东南大学自动化考研院校分析
  • electron、electron-forge 安装
  • go的strings用法
  • echo用法、linxu课堂练习题、作业题
  • WordPress使用【前端投稿】功能时为用户怎么添加插入文章标签
  • 第二章:CSS基础进阶-part1:CSS高级选择器
  • js 正则表达式 限制input元素内容必须以abc开头,123结尾
  • Linux下安装nginx (tar解压版安装)
  • 不同组件之间相互传递信息的方式(拓展知识)
  • idea找不到DataBase
  • 研发工程师玩转Kubernetes——PVC使用Label和storage选择PV
  • 【VUE】localStorage、indexedDB跨域数据操作实战笔记
  • 四、web应用程序技术——HTTP
  • B2B2C小程序商城系统--跨境电商后台数据采集功能开发
  • Python-OpenCV中的图像处理-形态学转换
  • 理解 Python 的 for 循环
  • 携程验证码
  • 资深媒体人宋繁银加入《数据猿》任总编辑,全面负责公司整体内容工作
  • 【Unity实战100例】人物状态栏UI数据刷新—MVC观察者模式
  • 8路AD采集FMC子卡【产品资料】
  • 文章三:团队协作实践 - 协作高手:Git团队开发最佳实践
  • Pyinstaller 打包 django 项目如何将命令行参数加入?
  • hive锁的管理器的介绍
  • 以太网TCP协议(十二)
  • ARM 架构下的汇编指令(持续更新中)
  • 11款UML/SysML建模工具更新(2023.7)Papyrus、UModel……
  • FPGA外部触发信号毛刺产生及滤波