【问题标题】:ASP.Net, MVC, MEF and loading approved plugins (ie, plugins with known signer)ASP.Net、MVC、MEF 和加载批准的插件(即,具有已知签名者的插件)
【发布时间】:2011-12-05 00:13:37
【问题描述】:

我正在开发一个基于 ASP.Net MVC/MEF 的项目。

是否可以构建目录以使添加到应用程序的 DLL 使用已知签名者获得批准?我们不想加载任何符合要求的旧插件 - 只是那些已被批准的插件(批准插件意味着它使用已知密钥签名)。

杰夫

【问题讨论】:

    标签: asp.net-mvc plugins mef digital-signature


    【解决方案1】:

    在初始化 MEF 目录之前,您需要执行这样的过滤。即,如果您使用的是AssemblyCatalog

    var assemblies = // all assemblies
    var catalog = new AggregateCatalog(
        assemblies
            .Where(a => IsAcceptable(a))
            .Select(a => new AssemblyCatalog(a))
    );
    

    您需要提供IsAcceptable 方法来执行适当的程序集过滤:

    bool IsAcceptable(Assembly a) { ... }
    

    【讨论】:

      【解决方案2】:
      var c = X509Certificate.CreateFromSignedFile(assemblyFile);
      if (c.Issuer = "Joe") ...
      

      只是一个想法,没有尝试过 :) 让我们知道它是否有效..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        • 2012-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-11
        相关资源
        最近更新 更多