首页 > 其他分享 >给软件数字签名

给软件数字签名

时间:2024-03-28 21:24:41浏览次数:19  
标签:文件 exe 数字签名 签名 msi signtool 软件 pfx

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

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

 

标签:文件,exe,数字签名,签名,msi,signtool,软件,pfx
From: https://www.cnblogs.com/cdaniu/p/18102452

相关文章

  • 软件工程日报014
     第14天第二天第三天第四天第五天所花时间(包括上课) 5h    代码量(行) 1000    博客园(篇) 1    所学知识 ListView,RecyclerView    ......
  • 2022 Tesla AI Day -特斯拉自动驾驶FSD的进展和算法软件技术之数据以及虚拟
    2022TeslaAIDay-特斯拉自动驾驶FSD的进展和算法软件技术之数据以及虚拟附赠自动驾驶学习资料和量产经验:链接人工智能算法犹如电影的主演,我们很多时候看电影只看到主演们的精彩,但其实电影的创意和呈现都来自于背后的导演和制片等团队。而人工智能算法背后的有关数据的软件,设......
  • 不同操作系统中通用解决方案,浏览器拉起app或打开本机应用软件原理,前端网页如何打开一
    不同操作系统中通用解决方案,浏览器拉起app或打开本机应用软件原理,前端网页如何打开一个PC本地应用,通过Scheme、JavaScript、第三方库分别实现前端网页打开本地应用。设想一个场景,当我们在浏览一个网页并且需要下载某个资源时,你的电脑可能经常会跳出一个提示框,询问你是否需......
  • 精准、快速、便捷:游标尺模式在软件设计中的三大优势
    ​......
  • 软考中级软件设计师【结构化开发】知识点+题目
      一、耦合   耦合是模块之间的相对独立性(相互连接的紧密程度)的度量。耦合取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型等,有以下几个类型。   无直接耦合:指两个模块之间没有直接关系,它们分别属于不同模块的控制和调用,它们之间不......
  • 最佳开源文档管理解决方案:2024年免费软件精选
    本文将为大家分享9款开源文档管理系统:Bitrix24、Kimios、OpenDocMan、Papermerge、Nuxeo、OpenKM、Teedy、FileRun、SeedDMS。在现今充满数字化的世界里,不论大小,各种组织都会产出很多文件、图片等数字化内容。好好管理这些信息对于组织的顺畅运作和保持其竞争力非常关键。这......
  • 软件测试---自动化测试(黑盒测试)
    一.获取元素定位的方法:selenium主要提供了8种定位元素方法:1.findElement(By.id(元素的id属性名称));2.findElement(By.name(元素的name属性名称));3.findElement(By.linkText(a标签内的全部文本内容(精确查询) ));4.findElement(By.partiallinkText( a标签内......
  • AI-TestOps —— 软件测试工程师的一把利剑
    1.测试行业趋势随着数字化转型浪潮的汹涌推进,软件测试行业在2024年迎来了革命性的进步。软件测试不仅是软件开发生命周期中的重要环节,更是创新速度和竞争力的关键因素。传统的软件测试正经历着翻天覆地的变化。自动化测试工具的普及、云测试平台的兴起、AI与机器学习技术的应用......
  • 软件项目管理全套通用模板(规格说明书~详细设计~测试计划~验收报告)
     前言:在软件开发过程中,文档资料是非常关键的一部分,它们帮助团队成员理解项目需求、设计、实施、测试、验收等各个环节,确保项目的顺利进行。以下是针对您提到的各个阶段的文档资料概述:所有资料获取:点击获取开发阶段需求规格说明书:详细描述了软件系统的功能需求、非功能......
  • 职场中人如何做好时间管理提高工作效率?高效时间管理软件
    在职场中,时间就是金钱,效率就是生命。面对繁杂的工作任务和紧迫的时间限制,做好时间管理显得尤为重要。只有合理规划时间,才能提高工作效率,从而在激烈的职场竞争中脱颖而出。那么,职场中人如何做好时间管理呢?首先,要明确工作任务和目标,避免盲目工作。其次,要制定详细的工作计划,将任务分......