У меня есть требование ограничить сборку, чтобы ее могли использовать только сборки, которые подписываются с заданным ключом. Я неопытен, но я понимаю, что подписание выполняется, чтобы определить, кто создал сборку. Следовательно, просто подписать эту сборку не должно быть достаточно, чтобы гарантировать, что все вызывающие сборки будут подписаны. Вероятно, обратное верно, т. Е. Если сборка подписана, все ее сборки должны быть подписаны (возможно, одним и тем же ключом). Каким будет способ удовлетворить это требование?Ограничение использования сборки из сборок, которые не подписаны
ответ
Вы можете использовать PublisherIdentityPermissionAttribute.
Если вы примените PublisherIdentityPermissionAttribute к классу MyClass, то только классы в сборках, подписанные сертификатом mycert.cer
, могут использовать ваш класс. Вам нужно положить SecurityAction.Demand
Все абоненты выше в стеке вызовов обязаны были предоставлены разрешения, указанного в текущем объекта разрешения
Используйте как
[PublisherIdentityPermission(SecurityAction.Demand, CertFile = "mycert.cer")]
public class MyClass
Вы можете также используйте его на уровне сборки для защиты всей сборки (однако безопасность уровня сборки не будет работать с .Net 4.0, если вы не установили <NetFx40_LegacySecurityPolicy enabled="true"/>
в конфигурации).
Пожалуйста, не просто ответьте по ссылке. Дайте некоторое объяснение и пример того, как использовать его для решения проблемы OP. – Rawling
@ Rawling Я редактировал свой ответ. –
- 1. Неисправность сборки сборок сборки Gearvr
- 2. BizTalk 2010 скриптовый комплекс компоновки сборок сборки сборок не найден
- 3. Ограничение AppDomain сборок
- 4. Импорт сборок в IronPython из другой сборки
- 5. Все внутренние сборки против сборок, которые имеют внешние зависимости
- 6. Выполняет ли сравнение открытых ключей двух сборок, чтобы они были подписаны с тем же закрытым ключом?
- 7. Ошибка сборки Appharbor Github: сборок не существует
- 8. Опустить локализованные версии сборок с выхода сборки
- 9. Найти ссылочные сборки сборки, которые указаны в проекте расширения
- 10. «Нет готовых сборок», отображаемых для конфигурации сборки
- 11. сопоставление из нескольких сборок
- 12. Ошибка сборки после подписания ссылочных сборок
- 13. Предотвращение выполнения сборки привязки к старым сборок
- 14. типов нагрузок, которые наследуют определенный интерфейс из сборок в бункере
- 15. Какова польза от превращения сборок сборки Serialization?
- 16. Подписаны .net-сборки, когда-либо полностью проверенные при загрузке, чтобы проверить, что они не были изменены?
- 17. Поиск того, какой из наборов сборок зависит от сборки X
- 18. Автоматизация сборок из тегов subversion
- 19. Использование gdb для сравнения сборок сборки
- 20. Как предотвратить шаги сборки для личных сборок
- 21. Автоматическое обновление пакетов nuget - перенаправление сборок сборки
- 22. результата сборки ссылочные сборок в подпапку
- 23. InternalsVisibleTo для всего набора сборок возможно?
- 24. Создание нескольких сборок, подписанных разными ключами из одного типа сборки
- 25. нагрузки сборок из другого места
- 26. Ограничение использования памяти .Net CLR
- 27. TeamCity: как получить список последних сборок для каждой конфигурации сборки, которые в настоящее время не работают?
- 28. определить, если ссылки сборки других сборок
- 29. Python 3 - Ограничение использования памяти из скрипта
- 30. applicationId манифест заполнителя для нескольких сборок сборки не работает
Вы имеете в виду что-то вроде этого http://blogs.msdn.com/b/shawnfa/archive/2004/06/07/150378.aspx? – V4Vendetta