Сертификация сборки
При наличии пары ключей в виде файла .snk можно сертифицировать сборку закрытым ключом. При этом .NET включает открытый ключ в манифест сборки [ Точнее говоря, в манифест включается хэшированная версия ключа, которая в .NET называется образцом (token) открытого ключа. Вероятно, хэширование применяется для экономии места, хотя нам кажется, что в манифесте следовало бы просто опубликовать открытый ключ. ] и вычисляет хэш-код всех данных сборки по закрытому ключу. Результат тоже включается в манифест. По этим данным другие сборки, использующие ваш код, смогут убедиться в том, что сборка не подверглась постороннему вмешательству. Для этого открытый ключ применяется к зашифрованному хэш-коду, а результат сравнивается с приведенным в манифесте.
Чтобы сертифицировать сборку, включите в программу атрибут AssemblyKeyFile-Attribute с именем файла .snk после всех команд импортирования или же воспользуйтесь вкладкой Sharing диалогового окна Project Settings. Пример:
Imports System.Reflection
<Assembly:AssemblyKeyFi1eAttribute("c:\keys\pai r. snk")> \
Многие компании не предоставляют своим работникам доступа к закрытому ключу, поэтому в .NET была предусмотрена возможность отложить сертификацию сборки (за дополнительной информацией обращайтесь к документации).