Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is strong signed the same as strong named for an assembly?

Is there a difference between a strongly signed and a strongly named .NET assembly?

If yes, how can I determine whether a assembly is strongly signed using Visual Studio (I know how check if it is strongly named)?

Thanks for your help

EDIT

Background: In the book WiX: A Developer's Guide to Windows Installer XML is says you need to have a strongly-signed assembly in order to install it into the GAC.

So what do I need to install an assembly in the GAC: strong name or signed assembly?

like image 679
nabulke Avatar asked Jul 13 '11 11:07

nabulke


2 Answers

Signing an assembly makes it strongly named. See Strong-named assemblies.

To be able to instal it into the GAC, an assembly needs to be strong-named and, therefor, signed.

like image 107
Rik Avatar answered Sep 22 '22 17:09

Rik


There is no strongly signed. There is only signed and strongly named.

In order to find out if it is signed on not (i.e. strongly named or not), open it with ildasm.exe and click manifest on the tree and look for public key token. if there is one then it is signed.

For example, opening castle.core.dll shows this (proving it is strongly named):

 .publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00   // .$..............
                00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00   // .$..RSA1........
                77 F5 E8 70 30 DA DC CC E6 90 2C 6A DA B7 A9 87   // w..p0.....,j....
                BD 69 CB 58 19 99 15 31 F5 60 78 5E AC FC 89 B6   // .i.X...1.`x^....
                FC DD F6 BB 2A 00 74 3A 71 94 E4 54 C0 27 34 47   // ....*.t:q..T.'4G
                FC 6E EC 36 47 4B A8 E5 A3 82 31 47 D2 14 29 8E   // .n.6GK....1G..).
                4F 9A 63 1B 1A FE E1 A5 1F FE AE 46 72 D4 98 F1   // O.c........Fr...
                4B 00 0E 3D 32 14 53 CD D8 AC 06 4D E7 E1 CF 4D   // K..=2.S....M...M
                22 2B 7E 81 F5 4D 4F D4 67 25 37 0D 70 2A 05 B4   // "+~..MO.g%7.p*..
                87 38 CC 29 D0 92 28 F1 AA 72 2A E1 A9 CA 02 FB ) // .8.)..(..r*.....
  .hash algorithm 0x00008004
  .ver 2:5:1:0
}
like image 38
Aliostad Avatar answered Sep 22 '22 17:09

Aliostad