1

我必须开发一个支持插件的 .NET C# 应用程序。我在网上查了很多资料,好像没那么难。

我只有一个规范,模块的程序集必须在程序集级别上进行验证。当后期绑定发生并加载程序集时,宿主应用程序必须绝对确定:

  1. 大会没有改变。
  2. 该组件确实是由该公司提供的。

我读到可以使用密钥对程序集进行签名,但据我所知,这只能证明程序集没有更改。

必须做什么才能确定大会的真实性?

任何帮助将不胜感激。

4

2 回答 2

1

就像我在评论中说的那样,之前有人问过这个问题:可以使用强命名程序集来验证程序集作者吗?

此链接提供了一个示例,说明如何根据一组已知的公钥验证公钥:http: //blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx但它有点旧,我不知道从那以后是否发生了重大变化。

编辑:我看到 SO 答案建议与上面 shawnfa 博客的链接相同的技术,所以它可能仍然存在。

于 2010-09-22T13:17:54.920 回答
0

程序集的开发人员需要使用 Authenticode 技术和从批准的证书颁发机构 (CA) 之一获得的 X.509 证书对程序集进行签名。然后您的主机需要验证签名并验证正在加载的程序集签名中的证书。

作为选项之一,我们的产品SecureBlackbox提供执行 Authenticode 签名和验证以及完整 X.509 证书验证的功能。

于 2010-09-22T13:18:35.710 回答