[英]Authenticating DLLs in C#
我有一个使用Castle Windsor来实现插件机制的exe。 我需要验证我加载的插件是否来自我(不是某些恶意代码)。
我相信我需要使用非对称密钥(可能是SNK?)对exe和dll进行签名。 首先,这是正确的,我该怎么做? 其次,如何在exe中以编程方式验证dll是否来自受信任的来源?
如果您对DLL进行签名,则在运行时可以在加载DLL之前检查其StrongName
。
您还可以检查用于签名的公钥是否符合您的期望。
要获取程序集的公钥,可以执行以下操作:
Assembly assembly = ...
AssemblyName assemblyName = assembly.GetName();
byte[] publicKey = assemblyName.GetPublicKey();
我刚刚检查了一下,这里的StackOverflow已经有一个很好的答案:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.