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

如何使用Azure Trusted Signing账户证书签名.taco(Tableau)及.jar文件?

使用Azure Trusted Signing签名.jar与.taco文件的解决方案

问题根源

SignTool仅原生支持Windows PE格式(.exe、.dll)、目录签名文件(.cat)等特定类型,无法直接识别.jar(Java归档)或自定义.taco格式,因此直接调用SignTool会触发「格式不被识别」的错误。


针对.jar文件的签名流程

1. 导出Azure Trusted Signing证书

从Azure Trusted Signing账户导出带私钥的PFX格式代码签名证书,可通过Azure CLI执行:

az trusted-signing certificate-profile export --account-name <你的账户名> --profile-name <你的证书配置文件名> --output-file codesign.pfx --password <证书保护密码>

2. 使用jarsigner完成签名

Java官方的jarsigner工具支持用代码签名证书签名.jar文件,命令示例:

# 基础签名
jarsigner -keystore codesign.pfx -storetype pkcs12 -storepass <证书密码> -digestalg SHA-256 -sigalg SHA256withRSA "agent-sql.jar" <证书别名>

# 添加Azure时间戳(可选,确保签名长期有效)
jarsigner -keystore codesign.pfx -storetype pkcs12 -storepass <证书密码> -digestalg SHA-256 -sigalg SHA256withRSA -tsa http://timestamp.acs.microsoft.com "agent-sql.jar" <证书别名>

3. 验证签名有效性

jarsigner -verify -verbose -certs "agent-sql.jar"

针对.taco文件的签名流程

.taco多为自定义归档格式,需先处理内部可执行内容,再重新打包:

1. 解压.taco文件

用7-Zip等工具将文件解压到临时目录:

7z x "agent-sql.taco" -otemp_taco_dir

2. 签名内部可执行文件

对解压目录中的.exe、.dll等SignTool支持的文件,用你已配置的命令签名:

signtool.exe sign /v /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "Azure.CodeSigning.Dlib.dll" /dmdf "C:\Users\csbis\Downloads\Trusted-Signing\metadata.json" "temp_taco_dir\*.exe" "temp_taco_dir\*.dll"

3. 重新打包为.taco格式

使用与原文件一致的打包工具和参数,将签名后的文件重新打包为.taco格式。

4. 可选:为整个.taco文件添加哈希签名

若需验证整个.taco文件的完整性,可生成文件哈希并通过Azure Trusted Signing签名:

# 生成SHA256哈希
certutil -hashfile "agent-sql.taco" SHA256 > taco_hash.txt

# 通过Azure Trusted Signing API或CLI对哈希值签名,将结果保存为agent-sql.taco.sig

注意事项

  • 导出证书时必须包含私钥,且密码需妥善保管。
  • 自定义.taco格式打包时,需严格遵循原文件的结构与参数,避免重新打包后文件失效。
  • 时间戳优先使用Azure提供的服务器,确保签名在证书过期后仍可验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:42:09