【发布时间】:2011-03-25 19:08:58
【问题描述】:
我有一个正在签名的 .NET 程序集。这是我对过程和相关问题的理解。
为了对组装进行签名,编译器执行组装的单向散列,然后使用发布者私钥对散列进行加密。现在这个加密的哈希值必须存储在某个地方。当我签署一个程序集并运行 ILDasm 以查看程序集的 IL 时,我看到了一个 .public key 部分,但看不到这个散列在程序集中的存储位置。
根据我在运行时加载此签名程序集时所读到的内容,它正在执行相反的过程,包括生成程序集的哈希并解密“强名称签名”。将此解密的强名称签名与步骤 1 中的散列进行比较。如果这两者匹配,则运行时加载它,否则拒绝加载程序集。我不确定被解密的“强名称签名”到底是什么,我在哪里可以找到它。
TIA
【问题讨论】:
标签: .net assemblies assembly-signing