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

如何使用mage.exe结合Azure可信代码签名服务重新签名清单

解决ClickOnce清单重签对接Azure可信代码签名的方案

方案1:使用SignTool对接Azure Key Vault(推荐)

mage.exe本身不支持云端证书,但可以先通过mage.exe生成修改部署URL后的未签名清单,再用支持Azure Key Vault的SignTool完成签名,步骤如下:

  • 先用mage.exe处理部署URL并生成未签名清单:
    mage.exe -Update YourApp.application -AppManifest YourApp.exe.manifest -ProviderUrl "新的部署URL" -Sign false
    
  • 用最新版SignTool(来自Windows SDK 10.0.22621及以上)调用Azure Key Vault签名清单:
    signtool sign /fd SHA256 /a /kvc "你的Azure密钥库名称" /kyv "你的可信签名证书名称" /d "ClickOnce应用清单签名" /du "你的应用官网URL" "YourApp.exe.manifest"
    
  • 最后再用mage.exe确认签名并更新部署文件(可选,确保部署文件和清单签名匹配):
    mage.exe -Update YourApp.application -AppManifest YourApp.exe.manifest -Sign false
    

方案2:调用Azure可信代码签名REST API手动签名

如果不想依赖SignTool,可直接调用Azure的代码签名服务API完成签名:

  • 先通过mage.exe生成修改URL后的未签名清单文件
  • 构造API请求,将清单文件上传至Azure可信代码签名服务,请求签名
  • 下载签名后的清单文件,替换原文件
  • 此方案完全基于云端操作,无需本地持有证书,符合Azure可信签名的设计理念,适合自动化脚本集成

方案3:临时导出证书(应急方案,不推荐)

若上述方案暂时无法落地,可临时将Azure可信签名证书导出到本地(需在Azure控制台操作,设置导出权限),然后给mage.exe使用:

mage.exe -Update YourApp.application -AppManifest YourApp.exe.manifest -ProviderUrl "新的部署URL" -CertFile "本地导出的证书.pfx" -Password "证书密码"

注意:此方案会失去证书云端存储的安全优势,使用后需立即删除本地证书文件,仅作为临时应急手段

内容的提问来源于stack exchange,提问作者Davy de Kerf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 04:27:03