2009-09-29 37 views
3

我从知名供应商处购买了authenticode证书。签署程序集'<assemblyname> .dll'时出现密码失败 - '提供程序的错误版本'

现在我想强烈地指定一个程序集并稍后对其进行数字签名。

这是我迄今所做的:

  • 运行摘自PFX公钥SN.EXE -p keypair.pfx key.snk
  • 经过双方“签订集结号”和“延迟签署项目属性只有”复选框由运行在我devbox SN.EXE -TP key.snk
  • 禁用强名称验证登录选项卡
  • 提供key.snk作为密钥文件与
  • 提取公钥标记签名runni ng sn -Vr *,

这个想法是在团队构建中禁用延迟签名并在那里提供keypair.pfx文件。这样,出于安全原因,我可以在团队构建服务器上完全签署受限访问的组件服务器上的程序集,但由于安全原因未在开发框中提供私钥。

然而,试图建立本地组装的时候,我得到以下错误:

Cryptographic failure while signing assembly '.dll' – 'Bad Version of Provider'

有没有人有一个解决方案?

+2

难道你不能强名称与官方验证码证书的组件?即你需要使用sn -k生成一个密钥对? – Mephisztoe 2009-09-30 07:11:04

回答

1

我从Comodo的答复:

There's problem with VS2005/2008 and authenticode certificates. (Microsoft level) They can't be used for Strong Named Assemblies. You have to create your own private key to do the strong name signing.

相关问题