签署程序集“<程序集名称>.dll”时加密失败– “提供程序的错误版本”

发布于 2024-08-05 22:33:05 字数 528 浏览 9 评论 0原文

我从知名提供商处购买了身份验证代码证书。

现在我想对程序集进行强命名,然后对其进行数字签名。

这是我到目前为止所做的:

  • 通过运行 sn.exe -p keypair.pfx key.snk 从 pfx 中提取公钥
  • 选中项目属性签名选项卡上的“对程序集进行签名”和“仅延迟签名”复选框
  • 提供的密钥。 snk 作为密钥文件,通过运行 sn.exe -tP key.snk 来使用
  • 提取的公钥令牌
  • 进行签名通过运行 sn -Vr * 在我的 devbox 上禁用强名称验证,

其想法是禁用团队构建上的延迟签名并提供密钥对。 pfx 文件在那里。这样,我可以在访问受限的团队构建服务器上对程序集进行完全签名,同时出于安全原因不在开发盒上提供私钥。

但是,当尝试在本地构建程序集时,出现以下错误:

签名时加密失败 程序集“.dll”-“坏” 提供者的版本'

有人有解决方案吗?

I purchased an authenticode certificate from a well known provider.

Now I want to strong name an assembly and later on digitally sign it.

This is what I've done so far:

  • Extracted public key from pfx by running sn.exe -p keypair.pfx key.snk
  • Checked both "Sign the assembly" and "Delay sign only" checkboxes on project properties signing tab
  • Provided key.snk as keyfile to sign with
  • Extracted public key token by running sn.exe -tP key.snk
  • Disabled strong name verification on my devbox by running sn -Vr *,

The idea is to disable delay signing on the team build and provide the keypair.pfx file there. This way, I can fully sign the assembly on the team build server that has restricted access while not providing the private key on the dev boxes for security reasons.

However, when trying to build the assembly locally, I get the following error:

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

Does anyone have a solution for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

安稳善良 2024-08-12 22:33:05

我收到Comodo的回复:

VS2005/2008 有问题
真实代码证书。 (微软
级别)它们不能用于强
命名程序集。你必须创建
自己的私钥做强者
签名。

I got a reply from 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文