Ключ не туда-обратно - иначе вы сможете взломать чью-либо сборку и выдать ее за оригинал.
Чтобы подписать сборку в вашей ситуации, вам понадобится ключ.После того, как вы декомпилировали свою сборку, исправьте ее - это проще всего, если вы продолжите и добавите следующую строку в область, где находятся другие атрибуты Assmbly:
.custom instance void [mscorlib]System.Reflection.AssemblyDelaySignAttribute::.ctor(bool) = ( 01 00 00 00 00 )
Этот атрибут говорит ilasm оставить место для ключа,После добавления этого атрибута и повторной сборки кода с помощью ilasm вам необходимо использовать утилиту sn, чтобы отложить ее подпись.Синтаксис должен выглядеть примерно так:
sn /R myreassembled.dll originalassemblykey.snk
Это должно привести к отставке сборки.
На какую версию файла вы ссылаетесь?Это должен быть атрибут сборки в IL, но в противном случае вам может понадобиться утилита al.exe для этого.