給軟體數字簽名

小林野夫發表於2024-03-28

一、準備生成簽名所需的材料

1)新增簽名AppxManifest.xml檔案。在專案右建》新增》xml檔案》修改檔名為AppxManifest。

在開啟AppxManifest.xml檔案,輸入以下內容:

<Identity Name="Contoso.AssetTracker"
  Version="1.0.0.0"
  Publisher="CN=6BB5F6F-C03-4035-BB1E-903407A2, O=釋出人, C=CN"/>

.注意:6BB5F6F-C03-4035-BB1E-903407A2是微軟應用商店提供的(包/標識/發行商)

儲存檔案。

給軟體數字簽名

二、生成簽名

1、執行如下命令

New-SelfSignedCertificate -Type Custom -Subject "CN=CN=6BB5F6F-C03-4035-BB1E-903407A2, O=linyefu, C=CN" -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 123456 -Force -AsPlainText

注意:123456是密碼,這個要記住,等下給xxx.msi檔案簽名的時候也會用到.

以下圖引用別人的,我自己涉及到微軟應用商店,所有就不貼出來了。

3、執行命令匯出證書,得根據實際情況修改下路徑等資訊

Export-PfxCertificate -cert "Cert:\CurrentUser\My\1F1B377E08BE74E2D739F0FC638370A93DF0D946" -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"

注意:123456是生成簽名時候用的密碼

4、點選【日語五十音圖.msi】右建屬性》就可以檢視 【日語五十音圖.msi】檔案已經簽名。

六、【日語五十音圖.msi】打包成xxxx.msix格式的檔案

目的是為日釋出微軟應用商店。所有還要再此使用test.pfx的簽名檔案

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

2)匯入剛才生成的數字test.pfx 檔案。輸入簽名檔案用的密碼”123.qwer“.

其餘的打包過程請檢視:https://www.cnblogs.com/cdaniu/p/18090730

相關文章