簡體   English   中英

在C#中驗證DLL

[英]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已經有一個很好的答案:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM