Позднее связывание .NET 4.0:Обеспечить подлинность сборки?

StackOverflow https://stackoverflow.com/questions/3769535

  •  04-10-2019
  •  | 
  •  

Вопрос

Мне нужно разработать приложение .NET C#, поддерживающее плагины.Я нашел много информации в Интернете, и это не кажется таким уж сложным.

У меня просто есть спецификация, что сборки модулей должен быть проверены на уровне сборки.Когда происходит позднее связывание и загружается сборка, ведущее приложение должно быть абсолютно уверено в том, что:

  1. Ассамблея не изменилась.
  2. Ассамблея была действительно поставлена ​​компания.

Я читал, что можно подписать сборку ключом, но насколько я понял, это будет лишь удостоверять, что сборка не менялась.

Что необходимо сделать, чтобы быть уверенным в подлинности Ассамблей?

Любая помощь будет принята с благодарностью.

Это было полезно?

Решение

Как я уже сказал в комментарии, об этом уже спрашивали: Можно ли использовать строгое имя сборки для проверки автора сборки?

По этой ссылке приведен пример проверки открытого ключа по известному набору открытых ключей: http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx но он довольно старый, и я не знаю, произошли ли с тех пор существенные изменения.

РЕДАКТИРОВАТЬ:Я вижу, что ответ SO предлагает ту же технику, что и ссылка на блог Шонфы выше, так что, вероятно, он все еще актуален.

Другие советы

Разработчику сборки необходимо подписать сборку с использованием технологии Authenticode и сертификата X.509, полученного от одного из утвержденных центров сертификации (CA).Затем вашему хосту необходимо проверить подпись и сертификаты в подписи загружаемой сборки.

Как один из вариантов, наш продукт, SecureBlackbox, предлагает функции для подписания и проверки Authenticode, а также полной проверки сертификата X.509.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top