簡體   English   中英

C#、MEF - 簽署受信任的插件以減少濫用

[英]C#, MEF - Sign trusted plugins for abuse reduction

我有一個程序可以通過使用 Microsoft 可擴展性框架的插件進行擴展。 但我不希望不受信任的來源發布可能不安全的插件。 所以我想對插件進行簽名(可能使用 Visual Studio 的內置簽名)並在程序啟動時檢查插件是否值得信賴。

我沒有找到從 C# 內部檢查 DLL 簽名的方法。 還有一個問題,我用 DirectoryCatalog 加載插件。 無法判斷哪個插件來自哪個文件。 有人知道這樣做的方法嗎?

感謝您的幫助,馬克

您將無法使用 DirectoryCatalog。 您需要根據程序集是否正確簽名來自己過濾程序集。 您可以遍歷目錄中的文件,並為每個文件調用AssemblyName.GetAssemblyName 然后查看 AssemblyName 的KeyPair屬性以確定程序集是否使用您信任的密鑰進行簽名。 如果是,則為該類創建一個AssemblyCatalog並將其添加到您將傳遞給容器的AggregateCatalog中。

這是一篇博客文章,其中包含如何執行此操作的示例: 如何控制誰可以為您的 MEF 應用程序編寫擴展

暫無
暫無

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

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