ASP.Net, MVC, MEF и загрузка одобренных плагинов (т.е. плагинов с известным подписывающим лицом) - PullRequest
1 голос
/ 01 декабря 2011

Я работаю над проектом на основе ASP.Net MVC / MEF.

Можно ли построить каталог таким образом, чтобы добавленные в приложение библиотеки DLL были одобрены с использованием известного подписывающего лица?Мы не хотим загружать какие-либо старые подключаемые модули, которые соответствуют - только те, которые были утверждены (утверждение модуля означает его подпись с известным ключом).

Jeff

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

Необходимо выполнить фильтрацию, как это, прежде чем инициализировать каталог 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) { ... }
1 голос
/ 01 декабря 2011
var c = X509Certificate.CreateFromSignedFile(assemblyFile);
if (c.Issuer = "Joe") ...

просто идея, не пытался :) дайте нам знать, если это работает ..

...