Для чего нужен .snk?

Я тестирую все, что я нашел, и ничего не работает, единственный способ, которым я нашел, - проверить dbutil, если база данных существует.

$this->load->database();
$this->load->dbutil();

// check connection details
if( !$this->dbutil->database_exists('myDatabase'))
    echo 'Not connected to a database, or database not exists';
147
задан oɔɯǝɹ 6 October 2014 в 20:31
поделиться

5 ответов

.snk файл используется для применения строгое имя к блоку.NET . такое строгое имя состоит из

простое текстовое название, номер версии и информация о культуре (если обеспечено) — плюс открытый ключ и цифровая подпись.

SNK содержит пару уникального ключа - и открытый ключ с закрытым ключом, который может использоваться, чтобы гарантировать, чтобы у Вас было уникальное строгое имя для блока. Когда блок сильно назван, "хеш" создается из контента блока, и хеш шифруется с закрытым ключом. Тогда этот хеш со знаком помещается в блок наряду с открытым ключом от .snk.

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

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

статья" Секреты Строгого именования ". Делает превосходное задание объяснения этих понятий более подробно. С изображениями.

208
ответ дан Cody Gray 6 October 2014 в 20:31
поделиться

.snk файл является сохраненной версией Вашего "Ключа", произведенного sn утилитой в наборе утилиты платформы. Вы тогда используете этот файл для 'снабжения цифровой подписью' блоков. Это - ключ с 2 частями.. комбинация частная с открытым ключом. Общедоступная часть ключа публикуется т.е. известна всем. Половой орган известен только Вам, компоненту/разработчику приложения и предназначается, чтобы быть сохраненным тем путем.

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

4
ответ дан Gishu 6 October 2014 в 20:31
поделиться

.snk файл используется для подписания блоков, чтобы быть в состоянии добавить их к Глобальному кэшу сборок (GAC).

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

можно читать больше о шифровании с открытым ключом в http://en.wikipedia.org/wiki/Public-key_cryptography .

7
ответ дан Franci Penov 6 October 2014 в 20:31
поделиться

.snk файл используется, чтобы гарантировать, что кто-то еще не может подсунуть собственный блок вместо Вашего. Это обеспечивает пару шифрования/ключей расшифровки.

, Когда .snk файл используется для подписания блока, значение хэш-кода вычисляется из файла блока и зашифровало использование закрытого ключа. Тот зашифрованный "обзор" тогда прикрепляется на блоке вместе с открытым ключом из .snk файла.

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

В контексте Сервера BizTalk, кто бы ни создает любые пользовательские блоки, которые используются Вашим решением BizTalk, должен будет использовать .snk файл для подписания блока так, чтобы сервер BizTalk мог загрузить его в GAC и использовать его.

3
ответ дан Michael Lang 6 October 2014 в 20:31
поделиться

В. Сетевой мир файл SNK используется для подписания скомпилированных двоичных файлов. Это позволяет пару вещей произойти:

  1. можно зарегистрировать блок в (глобальный кэш сборок) GAC . В основном, таким образом, можно сослаться на него от многих мест на той же машине, не имея необходимость поддерживать несколько копий).
  2. можно использовать Двоичные файлы из других двоичных файлов, которые также подписываются (это - странный вирусный вид поведения относительно блоков со знаком).
  3. Ваш блок не может (легко) быть изменен [1 110] третьи стороны , у кого нет доступа к файлу SNK, обеспечивая, по крайней мере, небольшое количество безопасности.

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

Hope это было несколько полезно.

22
ответ дан Zubair Saif 6 October 2014 в 20:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: