我正在尝试签署一个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计算机(用于dev)和Win2008服务器(构建机器)上运行它,并在这两台机器上获得相同的行为。
编辑:
如果我验证签名的DLL的证书,就会得到以下信息:
SignTool Error: A certificate chain processed, but terminated in a root
certificate which is not trusted by the trust provider.所以看起来我需要安装一些根证书。
但是,我不确定这解释了为什么XAP文件没有报告任何正在添加的证书。
发布于 2010-09-29 07:33:45
您是否尝试过通过Silverlight项目的Properties中的签名选项卡对应用程序进行签名?如果您的项目属性与我的类似,那么其中可能有两个签名选项卡(一个用于强命名程序集)--您想要的那个可能是第二个。这里有一个链接,解释了签署XAP:http://blogs.infosupport.com/blogs/alexb/archive/2010/05/10/silverlight-4-digitally-signing-a-xap.aspx的步骤。看看这是否有助于解决问题。
还请记住,仅仅签署XAP是不够的--您必须将证书导入可信的根存储区(它看起来并不像您正在做的那样)。点击更多细节..。按钮在签名选项卡中。它可能会声明此CA根证书不受信任。做以下工作:
应该会出现另一个对话框,说明它已经安装。现在,重新编译您的应用程序,它应该可以正常工作。
希望这能帮上忙。
克里斯
https://stackoverflow.com/questions/3814849
复制相似问题