HOWTO: 为 MSIX 创建自签名证书

[ 2023/01/01 10:06 | by gOxiA ]
| |

Windows_logo_horiz_blue_rgb

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 <Your Password> -Force -AsPlainText
Export-PfxCertificate -cert "Cert:\CurrentUser\My\<Certificate Thumbprint>" -FilePath <FilePath>.pfx -Password $password

image

        现在我们拿到了 pfx 就可以用于 MSIX 签名,后续 gOxiA 也会积极分享 MSIX 相关的实践。

参考文档:

https://learn.microsoft.com/zh-cn/windows/msix/package/create-certificate-package-signing

Windows Deployment | 评论(0) | 引用(0) | 阅读(1052)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我