应用程序数字证书生成及签名步骤

1.非管理员权限切换到管理员用户下,再C盘找到C:\Program Files (x86)\Windows Kits,查看当前路径下是否包含生成数字签名的文件。


注意: 此时不同的电脑会有不同的路径(如蓝色框),需要找到具备生成工具的相应路径

2.打开命令窗口 》切换到刚刚找到的路径

3.生成证书(.cer)和私钥(.pvk)

在cmd窗口输入以下命令:

csharp 复制代码
makecert -r -pe -n "CN= 测试密钥" -b 01/01/2021 -e 01/01/2099 -sky exchange -sv testKey.pvk testKey.cer

按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件。

4.从.pvk格式转换成.pfx格式

命令格式: pvk2pfx -pvk testKey.pvk -spc testKey.cer -pfx testKey.pfx -pi 密码

密码替换成第3步设定的密码,在cmd窗口输入以下命令:

csharp 复制代码
pvk2pfx -pvk testKey.pvk -spc testKey.cer -pfx testKey.pfx -pi test.123

5.给指定的应用程序(. exe)签名

命令格式: SignTool sign /f testKey.pfx /p 密码 需要签名的程序(绝对路径)

替换密码和程序路径,在cmd窗口输入以下命令:

csharp 复制代码
SignTool sign /f fii-jointvisionKey.pfx /p 123 D:\02-Project\test.exe

如下图提示,说明签名完成:

可以邮件.exe查看属性,新增有数字签名属性

若签名失败,提示如下:

说明当前哈希算法版本不匹配,需要指定特定的哈希算法,在命令中添加指定的哈希算法 : /fd SHA256

命令格式: SignTool sign /a /f testKey.pfx /fd SHA256 /v /p 密码 需要签名的程序(绝对路径)

如:

csharp 复制代码
SignTool sign /a /f testKey.pfx /fd SHA256 /v /p 123 D:\02-Project\test.exe

然后重复第5步骤即可。

相关推荐
我是唐青枫9 小时前
深入理解 C#.NET Interlocked.Increment:原子操作的核心
c#·.net
yue0089 小时前
C# 字符串倒序
开发语言·c#
ejjdhdjdjdjdjjsl12 小时前
C#类型转换与异常处理全解析
开发语言·c#
我是唐青枫14 小时前
深入理解 C#.NET Parallel:并行编程的正确打开方式
开发语言·c#·.net
yue00814 小时前
C# ASCII和字符串相互转换
c#
TypingLearn14 小时前
Perigon.CLI 10.0 重磅发布【AspNetCore开发模板和辅助工具】
c#·.net·aspnetcore
Sheep Shaun15 小时前
STL中的map和set:红黑树的优雅应用
开发语言·数据结构·c++·后端·c#
kylezhao201918 小时前
C# 中常用的定时器详解
开发语言·c#
秋雨雁南飞18 小时前
C# 动态脚本执行器
c#·动态编译
月巴月巴白勺合鸟月半19 小时前
用AI生成一个简单的视频剪辑工具 的后续
c#