Net framework 5, а также среды Visual Studio 2012 и C#



Download 6,27 Mb.
Pdf ko'rish
bet76/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   72   73   74   75   76   77   78   79   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C


Глава.3 .Совместно.используемые.сборки.и.сборки.со.строгим.именем
Обнаружив, что подписание сборки откладывается, компилятор или утилита 
AL exe
генерирует в таблице метаданных сборки 
AssemblyDef
запись с открытым 
ключом сборки. Как было сказано ранее, наличие открытого ключа позволяет раз-
местить эту сборку в GAC, а также создавать другие сборки, ссылающиеся на нее, 
при этом у них в записях таблицы метаданных 
AssembyRef
будет верное значение 
открытого ключа. При построении сборки в результирующем PE-файле остается 
место для цифровой подписи RSA. (Программа построения определяет размер не-
обходимого свободного места, исходя из размера открытого ключа.) Кстати, и на 
этот раз хеширование содержимого файлов не производится.
На этом этапе результирующая сборка не имеет действительной цифровой под-
писи. Попытка установки такой сборки в GAС окончится неудачей, так как хеш-код 
содержимого файла не был рассчитан, что создает видимость повреждения файла. 
Для того чтобы установить такую сборку в GAC, нужно запретить системе провер-
ку целостности файлов сборки, вызвав утилиту 
SN exe
с параметром командной 
строки 
–Vr
. Вызов 
SN exe
с таким параметром также вынуждает CLR пропустить 
проверку хеш-кода для всех файлов сборки при ее загрузке во время выполнения. 
С точки зрения внутренней реализации системы параметр 
–Vr
утилиты 
SN exe
обе-
спечивает размещение идентификационной информации сборки в разделе реестра 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification
.
ВниМание
При.использовании.любой.утилиты,.имеющей.доступ.к.реестру,.необходимо.убе-
диться.в.том,.что.для.64-разрядной.платформы.используется.соответствующая.
64-разрядная.утилита .По.умолчанию.утилита.под.32-разрядную.платформу.x86.
установлена.в.каталоге.C:\Program.Files.(x86)\Microsoft.SDKs\Windows\v8 0A\bin\
NETFX.4 0.Tools,.а.утилита.под.64-разрядную.платформу.x64.—.в.каталоге.C:\Program.
Files.(x86)\Microsoft.SDKs\Windows\v8 0A\bin\NETFX.4 0.Tools\x64 
Окончательно протестированную сборку надо официально подписать, чтобы 
сделать возможными ее упаковку и развертывание. Чтобы подписать сборку, снова 
вызовите утилиту 
SN exe
, но на этот раз с параметром 
–R
, указав имя файла, со-
держащего настоящий закрытый ключ. Параметр 
–R
заставляет 
SN exe
хешировать 
содержимое файла, подписать его закрытым ключом и встроить цифровую подпись 
RSA в зарезервированное свободное место. После этого подписанная по всем пра-
вилам сборка готова к развертыванию. Не забудьте снова включить верификацию 
этой сборки на машинах разработки и тестирования, вызвав 
SN exe
с параметром 
–Vu
или 
–Vx
.
Полная последовательность действий по созданию сборки с отложенным под-
писанием выглядит следующим образом.
1. Во время разработки сборки следует получить файл, содержащий лишь от-
крытый ключ компании, и добавить в строку компиляции сборки параметры 
/keyfile
и 
/delaysign
:
csc /keyfile:MyCompany.PublicKey /delaysign MyAssembly.cs


109
Отложенное.подписание
2. После построения сборки надо выполнить показанную далее команду, чтобы 
получить возможность тестирования этой сборки, установки ее в каталог GAC 
и компоновки других сборок, ссылающихся на нее. Эту команду достаточно 
исполнить лишь раз, не нужно делать это при каждой компоновке сборки.
SN.exe -Vr MyAssembly.dll
3. Подготовившись к упаковке и развертыванию сборки, надо получить закрытый 
ключ компании и выполнить приведенную далее команду. При желании можно 
установить новую версию в GAC, но не пытайтесь это сделать до выполнения 
шага 4.
SN.exe -R MyAssembly.dll MyCompany.PrivateKey
4. Для тестирования сборки в реальных условиях снова включите проверку сле-
дующей командой:
SN -Vu MyAssembly.dll
В начале раздела говорилось о хранении ключей организации на аппаратных 
носителях, например на смарт-картах. Для того чтобы обеспечить безопасность 
ключей, необходимо следить, чтобы они никогда не записывались на диск в виде 
файлов. Криптографические провайдеры (Cryptographic Service Providers, CSP) 
операционной системы предоставляют 
контейнеры
, позволяющие абстрагиро-
ваться от физического места хранения ключей. Например, Microsoft использует 
CSP-провайдера, который при обращении к контейнеру считывает закрытый ключ 
с устройства.
Если пара ключей хранится в CSP-контейнере, необходимо использовать другие 
параметры при обращении к утилитам 
CSC exe

AL exe
и 
SN exe
. При компиляции 
(
CSC exe
) вместо 
/keyfile
нужно задействовать параметр 
/keycontainer
, при 
компоновке (
AL exe
) — параметр 
/keyname
вместо 
/keyfile
, а при вызове 
SN exe
для добавления закрытого ключа к сборке, подписание которой было отложено, — 
параметр 
-Rc
вместо 
-R

SN exe
поддерживает дополнительные параметры для 
работы с CSP.

Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   72   73   74   75   76   77   78   79   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish