Нет никакого управляемого способа проверить подпись блока и проверки, что открытый ключ оставляет Вас уязвимыми для спуфинга. Необходимо будет использовать P/Invoke и звонить функция StrongNameSignatureVerificationEx для проверки подписи
[DllImport("mscoree.dll", CharSet=CharSet.Unicode)]
static extern bool StrongNameSignatureVerificationEx(string wszFilePath, bool fForceVerification, ref bool pfWasVerified);
Существует мало точки в тестировании строгого имени после того, как блок был загружен. Взломщик мог просто ввести конструктора модуля в блоке и выполнить любой желаемый код..NET 3,5 версии SP1 платформы следовали примеру и больше не проверяют строгое имя блоков, которые загружаются из доверяемых местоположений. Времена запуска улучшаются приблизительно на 40%.
ключевой пункт: после того как взломщик ставит под угрозу машину к точке, где он может ввести блок в пути зондирования Вашего приложения, он не потрудится делать его твердый путь. Он просто заменил бы Ваш EXE-файл.