标题:HOWTO: 为 MSIX 创建自签名证书 出处:gOxiA=苏繁=SuFan Blog 时间:Sun, 01 Jan 2023 10:06:00 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/2066.htm 内容: HOWTO: 为 MSIX 创建自签名证书 MSIX 是一种 Windows 应用安装包的格式,它可以将我们的 Win32 或 UWP 甚至是绿色版软件打包成 MSIX 格式用于企业批量和自动化部署。另外从官方文档了解到 1.2019.1220.0 还支持将包含的服务转换为应用程序。这对于一些要部署国产小软件的企业来说是个好消息,未来 gOxiA 也将尝试去打包那些应用程序。 而今天我们要分享的是如何为 MSIX 创建自签名证书,因为 MSIX 生成后要发布给最终用户需要对 MSIX 进行签名,如果当前环境没有 CA 或无法生成所需的证书就需要创建自签名证书,否则无法应用 MSIX。 在创建自签名证书前,我们需要确定 MSIX 的 发布者信息,通常这些信息位于 AppxManifest.xml 文件中,其 Publisher 信息必须与证书中的主体相同。之后参考下面的命令行创建证书: New-SelfSignedCertificate -Type Custom -Subject "CN=Contoso Software, O=Contoso Corporation, C=US" -KeyUsage DigitalSignature -FriendlyName "Your friendly name goes here" -CertStoreLocation "Cert:\CurrentUser\My" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3", "2.5.29.19={text}") 其中: -keyusage 表示证书的用途,对于自签名证书,应为 DigitalSignature-TextExtension 表示一些扩展设置,2.5.29.37={text}1.3.6.1.5.5.7.3.3,表示证书用于代码签名;2.5.29.19={text} 表示该证书非CA 接下来使用 PowerShell 查看证书信息: Set-Location Cert:\CurrentUser\My Get-ChildItem | Format-Table Subject, FriendlyName, Thumbprint 在确认了证书信息后,现在可以将证书导出为 pfx 格式,为此执行: $password = ConvertTo-SecureString -String -Force -AsPlainText Export-PfxCertificate -cert "Cert:\CurrentUser\My\" -FilePath .pfx -Password $password 现在我们拿到了 pfx 就可以用于 MSIX 签名,后续 gOxiA 也会积极分享 MSIX 相关的实践。 参考文档: https://learn.microsoft.com/zh-cn/windows/msix/package/create-certificate-package-signing Generated by Bo-blog 2.1.1 Release