Я использую книгу для обучения по сертификации .NET, и я озадачен вопросом о сертификатах издателя.
Справочная информация:
Windows Vista Home Basic SP2
Visual Studio 2008
.NET 3.5 SP1
Цель:
Напишите простое консольное приложение C #, которое имеет разрешение на чтение из определенного текстового файла, определенного сертификатом приложения.
Симптомы:
Я могу читать из файла, несмотря на назначение набора разрешений Nothing для группы кодов, которая обусловлена сертификатом приложения.
Предпринятые шаги:
- Написал консольное приложение C #, которое использует StreamReader для чтения файла и вывода на консоль. Приложение работает как положено.
- В свойствах приложения я использовал вкладку Подписи, установил флажок «Подписать манифест ClickOnce», нажал кнопку «Создать тестовый сертификат» и ввел пароли.
- Затем я нажал кнопку «Подробнее», перешел на вкладку «Детали», выбрал строку «Открытый ключ» и нажал кнопку «Копировать в файл».
- В мастере экспорта сертификатов я решил не экспортировать закрытый ключ, выбрал двоичный формат DER X.509 в кодировке DER и указал путь к файлу .CER.
- Далее я перестроил приложение.
- Я открыл инструмент настройки .NET Framework 2.0.
- Я перешел к «Мой компьютер»> «Безопасность выполнения»> «Машина»> «Группы кодов»> «All_Code»
- Щелкните правой кнопкой мыши All_Code и выберите New, чтобы запустить мастер создания группы кодов.
- Дали новой группе кодов имя, затем выбрали тип условия Publisher.
- Нажмите кнопку «Импортировать из файла сертификата», затем выберите вновь созданный файл .CER.
- Затем я выбрал набор разрешений Nothing.
- При запуске приложения, которое теперь должно быть членом новой группы кода, оно все равно работает. Я ожидаю, что если он является членом набора разрешений Nothing, он не может прочитать файл.
Спасибо за любую информацию, которую вы можете предоставить. Я, вероятно, упускаю одну маленькую деталь. Интересно, это как-то связано с использованием Vista Home Basic.