题
我必须开发一个支持插件的.NET C#应用程序。我在互联网上找到了很多信息,而且似乎并不难。
我只有一个规范说明模块的组装 必须 在组装级别进行验证。当发生较晚的绑定和组装负载时,主机应用程序必须绝对确定:
- 大会没有改变。
- 大会确实由公司提供。
我读到可以使用钥匙签署组件,但据我了解,这只会证明该组件没有更改。
为了确定集会的真实性,必须怎么办?
任何帮助将不胜感激。
解决方案
就像我在评论中所说的那样,以前曾被问到过: 可以使用强烈的命名组件来验证大会作者吗?
此链接提供了一个示例,说明如何针对已知的公共密钥验证公钥: http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx 但这有点老了,我不知道此后是否发生了重大变化。
编辑:我看到SO答案暗示了与肖恩法博客上面的链接相同的技术,因此它可能仍然存在。
其他提示
大会的开发商需要使用Authenticode技术和X.509证书签署大会,该证书是从批准的证书机构(CAS)中获得的。然后,您的主机需要验证签名并在加载组件的签名中验证证书。
作为一种选择,我们的产品, SecureBlackBox, ,提供执行AuthenTicode签名和验证以及完整X.509证书验证的功能。
不隶属于 StackOverflow