В дополнение к тому, что сказал Ричард, необходимо различать строгие имена (подпись сборки с помощью «сырого» закрытого ключа) и подпись Authenticode. Строгое присвоение присуще сборкам .NET, а Authenticode используется для подписи любого PE-файла (а также некоторых других типов файлов).
Также, если вы подписываете сборку с использованием Authenticode, будьте готовы к задержкам при загрузке сборки. Это связано с тем, что .NET Framework проверяет подпись и при необходимости извлекает CRL и выполняет проверки OCSP при каждой загрузке сборки. Поэтому, если вы не должны подписать сборку, по соображениям производительности вы можете пропустить этот шаг.
В нашем продукте Secureblackbox у нас были подписаны все сборки, но затем некоторые клиенты сообщили, что сборки просто не будут загружаться, и это оказалось связано с проверкой подписи. Таким образом, мы удалили подписи authenticode и сохранили только сильные имена .NET.