2010-08-22 4 views
17

В моей организации мы используем файлы snk с сильными именами. Мы сами генерируем snk.snk против сертификата подписи кода

Кроме того, мы используем подпись подписи кода в двоичных файлах. Мы получаем pfx из Verisign.

  • В чем разница между этими двумя процессами?
  • Не проблема, что snk также не получил от Verisign?

ответ

20

Snk и pfx используются для двух разных целей. Snk используется для сильного именования, которое использует пару ключей для уникальной идентификации сборки. Pfx предназначен для подписи кода, который представляет собой аналогичный процесс, но тот, который предназначен для предотвращения вредоносного вмешательства со сборками, которые распространяются публично. Используя как на сборке как сильные имена, так и знаки.

Это нормально, чтобы сгенерировать собственный файл SNK, если вы храните секретный ключ в безопасности. Файл PFX, который вы получаете от Verisign, позволяет вам подписывать сборку, используя ключ, защищенный третьей стороной. Это дополнительный уровень безопасности, который позволяет пользователям вашей сборки знать, что она не была подделана.

+1

Таким образом, snk просто связывает частно-открытую пару ключей с сборкой независимо от идентификатора владельца ключа, чтобы обеспечить надежную ссылку? Это означает, что если я (пользователь) доверяю exe, я могу доверять всем ссылкам. И как я могу доверять exe, именно там, где происходит подписание кода? В этом случае я должен только подписывать exe, а не другие сборки, потому что я знаю, что они не были подделаны. Это верно? –

+3

Основное отличие заключается в том, что подписывание SNK выполняется отдельным пользователем и поддерживает добавление сборки в GAC. Подписание кода осуществляется доверенным сторонним третьим лицом, как и с SSL. Закрытый ключ хранится, а открытый ключ публикуется Verisign (в вашем случае.) В любом случае сборка «подписана» с закрытым ключом и проверяется с помощью открытого ключа. –

+7

Я бы сказал, что подписание с помощью snk дает гарантию отсутствия подделки (в силу хеш-чеков), тогда как подписание с pfx дает уверенность, что код действительно пришел из данного источника (как было проверено Verisign при покупке сертификата). Более того (я мог ошибаться здесь), я думаю, что подписание с pfx делает подписание с snk излишним. –

Смежные вопросы