Hi,
This post is more to do with my curiosity than anything.
Does anyone know why the mscorlib public key is so short?
It is only 16 bytes long, and on top of that only has 1 byte that is
non-zero.
Does this not make it 'weak'?
Simon
Valery Pryamikov - 25 Mar 2004 09:30 GMT
Hi,
00000000000000000400000000000000 is ECMA key and just a place holder. It
simply means that dll is signed with some real key that is known to CLR
implementation and which this CLR implementation maps to ECMA key -
002400000480000094000000060200000024000052534131
000400000100010007D1FA57C4AED9F0A32E84AA0FAE
FD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79A
D9D5DCC1DD9AD236132102900B723CF980957FC4E177
108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F16
45C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F
2DE5F17E5EAF0FC4963D261C8A12436518206DC093344
D5AD293 for Microsoft.Net.
This is done for allowing .Net program compiled against one CLR
implementation to run (without recompile) on another CLR implementation. For
example - you compile your program with Microsoft .Net, and then you just
run it on Mono or Rotor. Without invention of ECMA key recompilation would
be required for allowing this.
-Valery.
See my blog at:
http://www.harper.no/valery
> Hi,
> This post is more to do with my curiosity than anything.
[quoted text clipped - 5 lines]
>
> Simon
The public key that is stored in mscorlib.dll is called
the ECMA key. The ECMA key is not a real key pair. It's
an "alias" that is used to mean the Microsoft key in the
case of the current implementation of the CLR (similarly,
other implementations could replace their own keys when
they see the ECMA key).
Thanks,
--Tarik
>-----Original Message-----
>Hi,
[quoted text clipped - 8 lines]
>
>.