【打包2】给软件数字签名

一、准备生成签名所需的材料

1)添加签名AppxManifest.xml文件。在项目右建》添加》xml文件》修改文件名为AppxManifest。

在打开AppxManifest.xml文件,输入以下内容:

<Identity Name="Contoso.AssetTracker"
  Version="1.0.0.0"
  Publisher="CN=6BB5F6F-C03-4035-BB1E-903407A2"/>

.注意:6BB5F6F-C03-4035-BB1E-903407A2是微软应用商店提供的(包/标识/发行商)

保存文件。

 

 

二、生成签名

1、执行如下命令

使用New-SelfSignedCertificate 生成签名,Makecert.exe工具以及过时。

New-SelfSignedCertificate -Type Custom -Subject "CN=6BBF5F6F-C023-4035-BB1E-903407A2A71D" -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)

 参数使用请查看:https://learn.microsoft.com/zh-cn/powershell/module/pki/new-selfsignedcertificate?view=windowsserver2022-ps

 

 

 

 

2、执行如下命令

$password = ConvertTo-SecureString -String 123.qwer -Force -AsPlainText

注意:123.qwer是密码,这个要记住,等下给xxx.msi文件签名的时候也会用到.

以下图引用别人的,我自己涉及到微软应用商店,所有就不贴出来了。

 

 

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

Export-PfxCertificate -cert "Cert:\CurrentUser\My\D503BB12D07AFA7A7276CE3D18DB63CCE9AB7685" -FilePath test.pfx -Password $password

 

 

我们项目的目录下面已经生成了test.pfx文件

 

 在桌面新建一个文件假,将test.pfx 复制到该该文件中备用。

三、发布项目软件

这个在其他文章中介绍了,这里不在细谈。

四、将发布后的软件,打包成 XXXX.msi文件。XXXX.msi文件复制到桌面的文件假中备用。

这个在其他文章中介绍了,这里不在细谈。

五、给XXXX.msi文件签名

1、用signtool.exe工具给 打包后的【日语五十音图.msi】文件签名。signtool.exe工具在 C:\Program Files (x86) 目录下, 在该目录下查找signtool.exe签名工具。

记录signtool.exe的路径,待会会用到:

C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe

2、打开前面在桌面新建的文件夹,然后再路径栏输入cmd

3、输入以下命令,注意这里就用到了签名记录的signtool.exe的路径。

"C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" sign /f test.pfx /p 123456 /t http://timestamp.digicert.com /v "日语五十音图.msi"

 注意:123.qwer是生成签名时候用的密码

 4、点击【日语五十音图.msi】右建属性》就可以查看 【日语五十音图.msi】文件已经签名。

 

六、【日语五十音图.msi】打包成xxxx.msix格式的文件

目的是为日发布微软应用商店。所有还要再此使用test.pfx的签名文件

1)我使用MSIX Packaging Tool打包工具。

2)导入刚才生成的数字test.pfx 文件。输入签名文件用的密码”123.qwer“.

其余的打包过程请查看:https://www.cnblogs.com/cdaniu/p/18090730

 总结 简单过程

第一步
New-SelfSignedCertificate -Type Custom -Subject "CN=6BBF5F6F-C023-4035-BB1E-903407A2A71D" -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)

第二步
$password = ConvertTo-SecureString -String 123.qwer -Force -AsPlainText
第三步 Export-PfxCertificate -cert "Cert:\CurrentUser\My\CD623FADEE7F99BB8F27D660E3EE55D14353DC7F" -FilePath test.pfx -Password $password 第四步 "C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe" sign /f test.pfx /p 123.qwer /t http://timestamp.digicert.com /v "日语五十音图.msi"

 

posted @ 2024-03-28 21:13  小林野夫  阅读(20)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/