Windows下生成测试数字证书

发表于:2016-12-16 13:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:极客头条    来源:51Testing软件测试网采编

  导语
  我们在编写写驱动程序或者进行UWP开发时,开发阶段需要频繁的给程序进行签名然后测试,如果这时候每次都使用正式的公司证书来签名就很麻烦,这种情况下我们就可以生成一个自我签名的临时证书(根证书)来给我们的程序进行签名,只要在测试机器上安装上临时证书,那么我们的程序就可以通过操作系统的验证。如果你对数字证书和签名的原理很感兴趣,你可以查看我另一篇博客数字签名(点我)。
  数字证书工具
  Windows SDK中包含一系列的数字证书工具,如:
  1、markecert.exe 用于生成测试证书,该工具可以生成数字证书文件(.cer)和私钥文件(.pvk)
  2、pvk2pfx.exe 该工具可以将私钥文件(.pvk)转换成数字证书文件(.pfx)
  3、signtool.exe 该工具可以使用.pfx的数字证书文件对其他文件进行签名
  .cer为只包含公钥的数字证书文件
  .pfx为包含公钥和私钥的数字证书文件
  这些工具在Windows SDK Bin目录下,笔者自己的目录如下:
  C:\Program Files (x86)\Windows Kits\10\bin\x64
  生成自我签名证书(根证书)
  1、在SDK目录下打开命令行工具(管理员权限)输入指令: makecert -r -n "CN=Tester" -sv "C:\Tester\Tester.pvk" "C:\Tester\Tester.cer" -r表示这是一个自我签名的证书,-n参数为证书名称,-sv参数为保存私钥的文件,执行后提示输入私钥密码,因为我们生成的是测试证书,可以选择不需要密码,之后就可以在C盘Tester目录下看到证书文件,并且可以看到颁发者和颁发给的名称都是Tester
  2、输入指令: pvk2pfx -pvk "C:\Tester\Tester.pvk" -spc "C:\Tester\Tester.cer" -pfx "C:\Tester\Tester.pfx" 将私钥文件和证书文件合并成一个.pfx证书文件
  对程序进行签名
  输入指令: signtool sign /v /fd SHA256 /f "C:\Tester\Tester.pfx" "C:\Tester\Tester.sys" /v表示输出命令执行的信息,/fd SHA256表示对文件进行Hash而使用的算法,/f指定证书文件,这样我们的驱动程序就被签名了,在测试机上安装证书文件Tester.cer之后,我们的驱动程序就可以被系统加载
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号