我的方案是我们有一个程序(EXE),将启动其他程序,如果在一个特定的文件夹中找到。我想确保它只启动与我们的公司证书(Verisign批准等)签署的程序。从本质上讲,它只会启动与自身具有相同证书的程序。我不想出示证书本身。如何以编程方式验证程序集是否使用特定的证书进行签名?
我一直在寻找网络和系统命名空间,并没有发现一个明显的例子是从文件中读取证书数据,也验证了它,可查看与另一个文件。我发现的最接近的是Signtool,并且在单独的exe文件中进行验证可能会少点。我知道强命名的东西不会帮助,因为数字签名的文件是不同的有帮助地解释在这里(http://blog.codingoutloud.com/2010/03/13/three-ways-to-tell-whether-an-assembly- dl-is-strong-named /)还有一些其他示例显示了原始数据的加密和验证,但不是以某种方式将它们打包在一起的程序集。
任何想法或建议吗?
为什么downvote? _阅读我链接到的博客文章,您将看到它确实显示了强大的命名链接到程序集签名中,并且您可以使用它来验证程序集是否已使用特定证书签名。 – KristoferA 2011-02-17 02:59:48