【发布时间】:2011-08-04 15:26:28
【问题描述】:
当在 .net 中强输入程序集时,我可以像这样创建密钥对(私有):
sn -k keypair.snk
然后像这样从中提取公钥:
sn -p keypair.snk public.snk
但是一旦我进入项目的属性,在签名选项卡下选择签名密钥,
我选择哪个键?密钥对还是公钥?
在我的组织内的哪些情况下我需要公钥?
非常感谢,
【问题讨论】:
当在 .net 中强输入程序集时,我可以像这样创建密钥对(私有):
sn -k keypair.snk
然后像这样从中提取公钥:
sn -p keypair.snk public.snk
但是一旦我进入项目的属性,在签名选项卡下选择签名密钥,
我选择哪个键?密钥对还是公钥?
在我的组织内的哪些情况下我需要公钥?
非常感谢,
【问题讨论】:
但是一旦我在一个项目的属性中,在签名选项卡下选择签名密钥,我应该选择哪个密钥?
您需要包含公钥和私钥的原始文件(使用-k 选项生成的文件)。
在我的组织内的哪些情况下我需要公钥?
引用自documentation:
此公钥可用于延迟签署程序集,使用 程序集链接器 (Al.exe) 的 /delaysign+ 和 /keyfile 选项。什么时候 程序集是延迟签名的,只有公钥在编译时设置 文件中为要添加的签名保留时间和空间 以后知道私钥的时候。
这是 MSDN 上的 another article 解释此过程。
【讨论】:
密钥对是您所需要的,因为密钥对包含私钥。
私钥用于生成程序集的加密哈希。然后,当公共语言运行时加载您的程序集时,它使用公钥来验证程序集的内容,以确保它没有被篡改。
【讨论】: