You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用.crt格式EV代码签名证书为MSIX Bundle包完成签名

Visual Studio 2019 使用EV代码签名证书签名MSIX Bundle解决方案

问题1:.crt格式证书无法通过「从文件选择」导入

VS打包项目仅支持携带私钥的PFX格式证书,你拿到的.crt文件仅包含公钥信息,需要和对应私钥合并生成PFX后使用:

  • 确认你已经留存了证书申请时生成的私钥文件(通常为.key格式)
  • 打开PowerShell或命令提示符,执行如下命令生成PFX文件:
    openssl pkcs12 -export -in 你的证书文件路径.crt -inkey 你的私钥文件路径.key -out 生成的PFX证书路径.pfx
  • 按提示设置PFX的保护密码,生成完成后即可通过「从文件选择」导入使用。如果提示找不到openssl命令,可在已部署openssl环境的终端中执行该操作。

问题2:「从存储区选择」无法识别已导入的EV证书

该问题通常由证书存储位置错误、硬件证书驱动未正确加载导致,按以下步骤排查:

  • 确认证书导入路径:通过MMC导入证书时,必须选择「当前用户-个人」存储区,不要选择本地计算机存储区,VS默认仅读取当前用户个人存储区下携带私钥的代码签名证书
  • 如果你使用YubiKey存储EV证书:
    • 先安装YubiKey对应的智能卡驱动、Minidriver组件,确保系统可以正常识别硬件存储的证书
    • 打开Visual Studio之前先插入YubiKey,确认证书已被加载到当前用户的个人存储区
    • 重启Visual Studio后再进入证书选择页面,即可识别到硬件存储的EV证书,签名时按提示输入YubiKey的PIN码即可
  • 如仍无法识别,可手动修改打包项目配置绑定证书:
    右键Windows Application Packaging项目,选择「卸载项目」,再次右键选择「编辑项目文件」,找到证书配置节点,直接填写EV证书的SHA1指纹(指纹可在MMC证书详情页查看,填写时去掉所有空格):
    <PackageCertificateThumbprint>你的EV证书SHA1指纹</PackageCertificateThumbprint>
    <PackageCertificateKeyVaultCertificateUrl />
    <PackageCertificateKeyVaultClientId />
    <PackageCertificateKeyVaultClientSecret />
    
    保存后重新加载项目即可,VS会自动匹配存储区中对应指纹的证书完成签名。

注意事项

  • 硬件存储的EV代码签名证书不要导出为PFX使用,否则会丢失EV级别的信任状态,直接通过硬件存储区调用签名即可
  • 签名时如果出现权限相关报错,尝试以管理员身份运行Visual Studio后再执行打包操作

内容的提问来源于stack exchange,提问作者ShanieMoonlight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:39:00