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