创建自签名证书, 对exe文件进行数字签名

只需要简单几步即可操作:

1、以管理员权限运行PowerShell

2、执行如下命令

New-SelfSignedCertificate -Type Custom -Subject "CN=姓名, O=公司名称, C=CN, L=上海, S=上海" -KeyUsage DigitalSignature -FriendlyName "MailTool" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") -NotAfter (Get-Date).AddYears(10)

 3、执行如下命令

$password = ConvertTo-SecureString -String 123456 -Force -AsPlainText

4、执行命令导出证书,得根据实际情况修改下路径等信息

Export-PfxCertificate -cert "Cert:\CurrentUser\My\1F1B377E08BE74E2D739F0FC638370A93DF0D946" -FilePath C:\Users\admin\Desktop\dump\签名\test.pfx -Password $password

 我们观察下签名目录,下面已经生成了test.pfx文件

 

5、现在我们用证书对Test.exe进行签名:

管理员运行CMD命令行,并切换到签名目录,执行如下命令:

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\signtool.exe" sign /f test.pfx /p 123456 /t http://timestamp.digicert.com /v "test.exe"

这个signtool.exe是安装Windows开发包的时候就自带了的,我的是该路径,具体的找找,执行命令之后的结果是这样的:

 我们查看下Test.exe的证书

 

好了,已经可以了。 

参考文章:

微软官方文档:

New-SelfSignedCertificate (pki) | Microsoft Docs

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

博客:

https://www.jianshu.com/p/526fbb0e3134

  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
数字签名文档 本签名方法 可以运用于exe、 active控件 、dll类库集及cab包进行安全签名,让杀毒软件永远 shut up forever 1、制作exe、 active控件 、dll类库集及cab请参考以下msdn 帮助文档 http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/creating_signed_cab_ files_for_mfc_and_atl_controls.asp 2、制作工具 1)Makecert.exe ---证书创建工具 (注在vs安装文件中 eg C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\SDKTools ) 2)Cert2Spc.exe ---发行者证书测试工具(注在 C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin ) 3)Signcode.exe ---文件签名工具(没有找到自己下载一个 ) 3、 用makecert.exe制作证书 Eg: makecert -sk yys -ss yys -n CN="yys" -m 12 yys.cer -sk 表示私人密钥 -ss 表示描述 -n CN="" 这里面是公司名称 -m 有效月数 yys.cer 输出的证书名 更多参数请与事例 参考msdn http://msdn.microsoft.com/zh-cn/library/bfsktky3.aspx (默认输出到vs 安装文件夹中的vc 文件夹中 eg C:\Program Files\Microsoft Visual Studio 9.0\VC ) 4、 用cert2spc.exe建立出版商的说明文件 eg: cert2spc yys.cer yys.spc (默认输出到vs 安装文件夹中的vc 文件夹中 eg C:\Program Files\Microsoft Visual Studio 9.0\VC ) 5、已经建立了,那么,用signcode如何签名呢?按以下步骤: (1) 下一步 (2) 选择要签名exe文件,就是我们上面说的"压缩运行文件" (3) 自定义 下一步 (4) 从文件选择->选择你的"出版商的说明文件",即honsen.spc文件->下一步 (5) CSP中的私钥->"Microsoft Strong Cryptographic Provide"->"RSA FULL"->" yys sk"->"签名"->"下一步" (6) 选择一种算法(MD5)->下一步 (7) 这里的不要变!->下一步 (8) 输入签名"描述"及描述的"网址" (9) 将时间戳添加到数据在中: http://timestamp.verisign.com/scripts/timstamp.dll (10) 完成
### 回答1: dsigntool代码签名数字证书含有私钥。数字证书是一种用于验证和保护代码的安全工具。它通常由一个颁发机构颁发,其中包含了代码签名所需的信息。在数字证书中,私钥是一种加密密钥,只有持有者拥有。私钥用于生成和验证数字签名,以确保代码的身份和完整性。 使用dsigntool工具进行代码签名时,我们需要提供含有私钥的数字证书。这个私钥只有我们能够访问,它不会公开或泄露给他人。在进行代码签名时,dsigntool工具使用私钥对代码进行加密,生成数字签名数字签名是一种用于证明代码真实性和完整性的数学认证,类似于一个独特的指纹。 使用数字证书含有私钥的好处是多方面的。首先,私钥的保护确保了代码签名安全性。只有持有者能够使用私钥进行签名,因此可以防止未经授权的个人或组织对代码进行篡改。其次,私钥的存在使得代码签名可以进行验证。通过验证数字签名,我们可以确定代码是否来自可信的源,并且在传输过程中是否被篡改。 总之,dsigntool代码签名数字证书含有私钥,这使得我们可以进行安全的代码签名操作,并且能够对签名的代码进行验证,以确保其来源和完整性。 ### 回答2: dsigntool代码签名数字证书是一种用于保护软件的安全性和完整性的数字证书。它不仅包含了公钥,还包含了私钥。 私钥是证书所有者独有的,并且被严格保密。它是签名和解密文件的关键元素。私钥用于创建数字签名,以证明文件的真实性和完整性。只有拥有私钥的人才能够生成有效的数字签名。 dsigntool代码签名数字证书的私钥是通过密钥对生成的。密钥对由公钥和私钥组成,这两个密钥是成对生成的,彼此之间是相关联的。公钥可以与其他人共享,以验证数字签名的有效性,而私钥则必须仅由证书所有者掌握。 当使用dsigntool代码签名数字证书进行代码签名时,私钥被用于生成数字签名,并将其与代码文件绑定在一起。在安装或执行已签名代码时,操作系统或应用程序会使用证书的公钥验证数字签名的有效性,以保证代码的来源可靠和完整。 因为私钥非常重要且敏感,所以必须采取严格的安全措施来保护它。私钥通常存储在安全的密钥库中,只有授权的人员才能访问。此外,定期更换私钥也是一个安全最佳实践,以减少私钥泄露和滥用的风险。 总而言之,dsigntool代码签名数字证书含有私钥,私钥是用于生成数字签名和保护代码完整性的关键元素,因此必须严格保护和管理私钥的安全。 ### 回答3: dsigntool代码签名数字证书是一种包含私钥的证书,用于对代码进行数字签名数字签名是一种加密技术,通过将代码与私钥相结合,生成一个唯一的标识符,以证明代码的真实性和完整性。 代码签名的过程是将代码文件与私钥进行哈希运算,生成一个摘要,然后使用私钥对摘要进行加密,生成数字签名。这个数字签名与代码文件一起发布或分发给用户。当用户运行这个代码时,系统将自动验证数字签名的有效性。 私钥的存在使得数字签名具有不可伪造性和可信度。私钥只有证书持有者拥有,因此不能被他人篡改或伪造。这样,用户可以根据数字签名验证代码的来源和完整性,确保代码未被篡改或植入恶意软件。 dsigntool代码签名数字证书含私钥,提供了方便和安全的代码签名解决方案。代码开发者可以使用dsigntool将代码与私钥结合,生成数字签名,证明代码的真实性与完整性。用户可以根据数字签名来验证代码的来源和完整性,避免运行未经验证的不安全代码。 总之,dsigntool代码签名数字证书含私钥是一种保证代码真实性和完整性的安全解决方案,为代码的发布和分发提供了可靠的保障。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇龍_

若帮助到你,希望能给予鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值