我正在尝试签署 Silverlight 4 OOB 应用程序(XAP 文件)。
我使用以下命令:
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\signtool.exe" sign /v /f path\to\FILENAME.pfx /p PWD path\to\FILENAME.xap
我得到了回应:
The following certificate was selected:
Issued to: COMPANY NAME
Issued by: Thawte Code Signing CA
Expires: Wed Dec 01 00:59:59 2010
SHA1 hash: AE57AF01180BF995C7C5B01E235F296CCF611111
Done Adding Additional Store
Successfully signed: FILENAME.xap
Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0
但是 XAP 文件没有签名。
如果我在资源管理器中查看属性,则没有列出“数字签名”。如果我尝试安装它,我会得到未经验证的对话框。
如果我对 dll 文件使用完全相同的命令,则签名工作正常,我可以看到应用于文件的数字签名。
这可能是什么原因?
我需要不同的版本signtool.exe
吗?
如果重要的话,PFX 最初是从 XP 机器导出的,我试图在 Win7 机器(用于开发)和 Win2008 服务器(构建机器)上运行它,并在两者上获得相同的行为。
编辑:
如果我验证签名 DLL 的证书,我会得到以下信息:
SignTool Error: A certificate chain processed, but terminated in a root
certificate which is not trusted by the trust provider.
所以看起来我需要安装一些根证书。
但是,我不确定这解释了为什么 XAP 文件不报告任何正在添加的证书。