Question

I have a .NET assembly that I am signing. Here is my understanding of the process and related question.

  1. For signing assemly, compiler performs a one way hash of assemnbly and then encrypts the hash with publishers private key. Now this encrypted value of hash must be stored somewhere. When I sign an assemly and run ILDasm to view the IL of assembly I see a .public key section but don't see where this hash is been stored within assemly.

  2. From what I read when runtime loads this signed assembly, it is doing the reverse process which involves generating hash of the assembly and decrypt the "strong name signature". This decrypted strong name signature is compared against the hash from step 1. If these two match the runtime loads it, otherwise refuses to load the assembly. I am not sure what exactly is the "strong name signature" that is been decrypted and again where can I find it.

TIA

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top