gpt4 book ai didi

c# - 在 C# 中验证 DLL

转载 作者:太空狗 更新时间:2023-10-29 23:15:42 28 4
gpt4 key购买 nike

我有一个使用 CaSTLe Windsor 实现插件机制的 exe。我需要验证我加载的插件是否来 self (而不是一些恶意代码)。

我认为我需要使用非对称 key (可能是 SNK?)对 exe 和 dll 进行签名。首先这是正确的,我该怎么做?其次,我如何在 exe 中以编程方式验证 dll 来自受信任的来源?

最佳答案

如果您签署 DLL,那么在运行时您可以检查 StrongName在加载 DLL 之前。

您还可以检查用于签署它的公钥是否是您期望的那个。

要获取程序集的公钥,您可以这样做:

Assembly assembly = ...
AssemblyName assemblyName = assembly.GetName();
byte[] publicKey = assemblyName.GetPublicKey();

我刚刚查了一下,StackOverflow 上已经有一个很好的答案:

https://stackoverflow.com/a/1350012/106159

关于c# - 在 C# 中验证 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163481/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com