Re: Public Key encoding in .NET

From: Michel Gallant (neutron_at_istar.ca)
Date: 07/21/03


Date: Mon, 21 Jul 2003 13:31:51 -0400


The "public key" used by .NET is a "thin wrapper" around the
CryptoAPI PUBLICKEYBLOB:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/security/base_provider_key_blobs.asp
The .NET version (visible via ildasm.exe as .publickey or exported by
sn or secutil) contains 3 extra headers described in strongname.h file
followed by the PUBLICKEYBLOB structure which is formatted like this:

   PUBLICKEYSTRUC publickeystruc ;
   RSAPUBKEY rsapubkey;
   BYTE modulus[rsapubkey.bitlen/8];

For more, see:
   http://pages.istar.ca/~neutron/dotnet/JKeyNet

Not sure exactly why the 3 extra headers were added for .NET usage.

 - Mitch Gallant

"Kapil Sachdeva" <ksachdeva17@hotmail.com> wrote in message
news:%23ty8YW6TDHA.2264@TK2MSFTNGP11.phx.gbl...
> Hi:
>
> If I use AssemblyName.GeyPublicKey() the array returned not only contains
> Public Key but PUBLICKEYSTRUCT (microsoft encoding) ......... I was just
> wondering that this may pose some interoperability problems if somebody
> wants to archive the public key and use it from some other platform or
> non-.NET-specifiic-language.
>
> It will be very nice if some one could explain/verify this behavior and what
> is the reson behind this.
>
> regards & thanks
> Kapil Sachdeva
>
>


Quantcast