Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > параметры в web.config


Автор: Экскалупатор 15.2.2010, 13:34
всем доброго дня. в файле web.config(да и в других местах) часто встречаю такой параметр: "PublicKeyToken=b12f5f7f11d50a3a", значение его часто изменяется. но никак не могу понять для чего он нужен и самое главное откуда он берется. откуда берется значение для этого ключа. их надо самому придумывать или они где то прописаны? объясните мне плиз.

и еще параметры 
Код

<machineKey
validationKey="287C5D1JH409JHFOLJ9E1F719E3D967703017E1BB6C4501E910C7E59800B5D4C2EDD5B0ED98874A3E952D60BAF260D9D374A74C76CB741803"
decryptionKey="5CAWEFW321DF3E1B4E1D01132F234266616E0D5EF772FE80AB" validation="SHA1" /> 

откуда берутся эти значения для этих ключей? самому придумать или где то в системе посмотреть? или как то сгенерировать?

Автор: A5uKa 19.2.2010, 14:38
хеш не нужен

Автор: WarHog 19.2.2010, 14:40
Привет,
1) в web.config ты референсишь внешние сборки, а publicKeyToken - это маркер открытого ключа, которым подписана эта сборка, т.е. это просто хеш ключа.
2) <machineKey> нужен, если ты энкриптишь данные, asp.net юзает этот раздел, чтобы заэнкриптить аутентификационные куки или если ты выставишь шифрование вьюстейтов. Вообще-то, насколько я знаю, рекомендуется использовать автоматически генерируемые ключи, а тот случай, о котором пишешь ты, используется только тогда, когда application хостится на нескольких серверах. в таком случае возникают понятные проблемы smile 
генерировать их нужно c использованием классов из System.Security.Cryptography.

Автор: Экскалупатор 21.2.2010, 00:41
Цитата(WarHog @  19.2.2010,  13:40 Найти цитируемый пост)
1) в web.config ты референсишь внешние сборки, а publicKeyToken - это маркер открытого ключа, которым подписана эта сборка, т.е. это просто хеш ключа.


если я правильно понял то:
Код

<assemblies>
  <add assembly="System.Transactions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
  </assemblies>


тут внешней сборкой будет System.Transactions? и для нее прописывается PublicKeyToken=B77A5C561934E089? а где посмотреть этот параметр?
я просто разбираю чужой пример. и по этому возникают такие вопросы.

Автор: WarHog 24.2.2010, 11:12
Экскалупатор,
если сборка в GAC'е, то PublicKeyToken ты можешь посмотреть прямо проводником smile А вообще - используй reflector. Загрузишь свою сборку, внизу увидишь информацию о ней, в т.ч. и PublicKeyToken

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)