Чтение онлайн

на главную - закладки

Жанры

C# для профессионалов. Том II

Ватсон Карли

Шрифт:

 1.6. StrongName —

02400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32

E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723

CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622

CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293:

FullTrust

 1.7. StrongName - 00000000000000000400000000000000: FullTrust

1.8. StrongName -

00240000048000009400000006020000002400005253413100040000010001007508D0780C56AF85BA

1BAD6D88E2C653E0A836286682C18134CC989546C1143252795A791F042238040F5627CCC1590ECEA3

0A9CD4780F5F0B29B55C375D916A33FD46B14582836E346A316BA27CD555B8F715377422EF589770E5

A5346A00BAABB70EF36774DFBCB17A30B67C913384E62A1C762CF40AFE6F1F605CCF406ECF:

FullTrust

Success

Для

доступа к строгому имени в сборке можно применить утилиту
secutil.exe
с файлом манифеста сборки. Воспользуемся
secutil.exe
для просмотра данных устойчивого имени нашей сборки. Мы добавим параметр
– hex
, чтобы открытый ключ был показан в шестнадцатеричном представлении (как в
caspol.exe
), и аргумент
strongname
, определяющий, что мы хотим увидеть строгое имя. Введите эту команду, и появится листинг, содержащий открытый ключ устойчивого имени, имя сборки и версию сборки.

secutil.exe -hex -strongname securityapp10.exe

Microsoft (R) .NET Framework SecUtil 1.0.xxxx.x

Copyright (c) Microsoft Corp 1999-2001. All rights reserved.

Public Key =

0x002400000480000094000000060200000024000052534131000400000100010x7508D0780C56AF85BAl

BAD6P88E2C653E0A836286682C18134CC988546C1143252795A791F042238040F5627CCC1590ECE

A30A9CD4780F5F0B29B55C375D916A33FD46B14582836E346A316BA27CD555B8F715377422EF589770

E5A5346AOOBAABB70EF36774DFBCB17A30B67C913384E62A1C762CF40AFE6F1F605CCF406ECF

Name = SecurityApp10

Version = 1.0.513.28751

Success

Можно заметить, что по умолчанию устанавливаются два строгих имени групп кода. Одно из них является ключом устойчивого имени кода Microsoft, а второй ключ устойчивого имени предназначен для частей .NET, представленных для стандартизации в ЕСМА, над которыми Microsoft имеет значительно меньший контроль.

Распространение кода с помощью сертификатов

В последнем разделе было рассмотрено, как можно применять уникальное устойчивое (строгое) имя к сборке, чтобы системный администратор мог явно предоставить сборкам полномочия, которые соответствуют этому устойчивому имени с помощью группы доступа к коду. Этот метод управления политикой системы безопасности может быть весьма эффективным, но иногда необходимо работать на более

высоком уровне, где администратор политики системы безопасности предоставляет полномочия на основе издателя программного обеспечения, а не каждого отдельного программного компонента.

Чтобы предоставить информацию об издателе программного обеспечения, мы используем цифровые сертификаты и подписываем сборки, чтобы потребители программного обеспечения могли проверить идентичность издателя программного обеспечения. В коммерческой среде мы получаем сертификаты от таких компаний как Verisign или Thawte.

Преимущество покупки сертификата от внешнего поставщика перед созданием своего собственного состоит в том, что он предоставляет высокие уровни надежности в своей идентичности; поставщик действует как надежная третья сторона. Однако в целях тестирования .NET включает утилиту командной строки, которую можно использовать для создания тестового сертификата. Процесс создания сертификатов и их использование для публикации программного обеспечения является сложным, но чтобы дать представление о том, что сюда вовлечено, мы разберем пример, не вдаваясь в подробности.

Представим, что мы являемся компанией ABC Corporation, и создадим сертификат для нашего программного продукта "ABC Suite". Прежде всего необходимо создать тестовый сертификат, для чего вводим команду:

makecert -sk ABC -n "CN=ABC Corporation" abccorptest.cer

Эта команда создает тестовый сертификат с именем "ABC Corporation" и сохраняет его в файле

abccorptest.cer
. Аргумент
– sk
ABC создает расположение контейнера ключа, который используется криптографией с открытым ключом.

Чтобы подписать сборку с помощью сертификата, применяется утилита

signcode.exe
с файлом сборки, содержащим манифест сборки. Часто простейшим способом подписать сборку является использование утилиты
signcode.exe
в ее режиме мастера. Для запуска мастера введите
signcode.exe
без параметров:

Если нажать кнопку Next, вам будет предложено определить, где находится файл, который надо подписать. Для сборки подписывается файл, содержащий манифест.

Если нажать кнопку Next и выбрать режим Custom в следующем окне, будет предложено определить сертификат, который должен использоваться для подписи сборки. Нажав Select from File и указав файл

abccorptest.cer
, увидите экран подтверждения:

Появится окно, которое запросит файл с закрытым ключом. Этот файл с ключом был создан утилитой

makecert
, поэтому мы можем выбрать параметры, как показано на следующем снимке экрана. Поставщик криптографической службы является приложением, которое реализует криптографические стандарты. Криптография с открытым ключом была рассмотрена в главе 10.

Поделиться:
Популярные книги

Измена. За что ты так со мной

Дали Мила
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. За что ты так со мной

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Большие дела

Ромов Дмитрий
7. Цеховик
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Большие дела

Эксклюзив

Юнина Наталья
Любовные романы:
современные любовные романы
7.00
рейтинг книги
Эксклюзив

И только смерть разлучит нас

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
И только смерть разлучит нас

Черкес. Дебют двойного агента в Стамбуле

Greko
1. Черкес
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черкес. Дебют двойного агента в Стамбуле

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Ваше Сиятельство 8

Моури Эрли
8. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Ваше Сиятельство 8

Третье правило дворянина

Герда Александр
3. Истинный дворянин
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третье правило дворянина

Ваантан

Кораблев Родион
10. Другая сторона
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Ваантан

Невеста

Вудворт Франциска
Любовные романы:
любовно-фантастические романы
эро литература
8.54
рейтинг книги
Невеста

Романов. Том 1 и Том 2

Кощеев Владимир
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25
рейтинг книги
Романов. Том 1 и Том 2

Кодекс Крови. Книга ХII

Борзых М.
12. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Кодекс Крови. Книга ХII

Бальмануг. (Не) Любовница 2

Лашина Полина
4. Мир Десяти
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Бальмануг. (Не) Любовница 2