使用Visual Studio 2012签署Clickonce应用程序程序集

时间:2013-02-16 17:58:10

标签: visual-studio-2012 certificate code-signing assembly-signing


我想使用Microsoft的Click-Once技术部署Visual Studio 2012项目。为了开发,我使用Windows 7机器并以正常用户身份运行Visual Studio(而不是root用户)。对于部署,我也使用Visual Studio 2012。

我的问题是当用户执行Click Once部署文件时,PC上的安全软件会将我的软件标记为未知,并要求用户停止执行。为了避免这种情况,我订购了一个Trustcenter Cerificate并将其用于签署Click Once文件,该文件运行良好。直到下载程序集的安装过程中。 Visual Studio还有一个用于签署程序集的选项,但最初它给出了一个导入错误。在我修复它之后,它在编译过程中给了我一个错误,它无法签署程序集。因此我使用了post-build-option。在那里我插入了一个signtool命令,它工作得很好。但是在部署方面,签名丢失了。

我已经三次打电话给Trustcenter支持,他们在对证书进行分析后告诉我这看起来很不错。但是当我想将它导入Visual Studio时,由于程序集签名选项,Visual Studio警报,无法找到证书。

有没有人有想法,如何使用签名的程序集部署Click Once Applications? (Visual Studio 2012的最佳案例)

最好的问候,克莱门斯

1 个答案:

答案 0 :(得分:0)

经过几个小时的try-error-methode之后,我解决了这个问题。 基本上不应该设置“在路径中导出所有证书”选项(就像Trustcenter支持告诉我的那样)。没有这个选项,我从Visual Studio得到了一个错误,可以用一些OpenSSL命令解决:
openssl pkcs12 -in cert.pfx -out backup.key
openssl pkcs12 -export -out out.pfx -keysig -in backup.key
out.pfx可以毫无问题地使用。