当Strong在.net中键入程序集时,我可以像这样创建密钥对(私有):
sn -k keypair.snk
从中提取公钥,如下:
sn -p keypair.snk public.snk
但是一旦我进入项目的属性,在Signing选项卡下选择Sign key,
我选择哪个键?密钥对还是公钥?
在我的组织中哪些情况下我需要公钥?
非常感谢,
答案 0 :(得分:2)
但是一旦我进入项目的属性,在Signing选项卡下选择Sign键,我选择哪个键?
您需要包含公钥和私钥的原始文件(使用-k
选项生成的文件)。
的引用在我的组织中哪些情况下我需要公钥?
此公钥可用于延迟使用标记对程序集进行签名 程序集链接器(Al.exe)的/ delaysign +和/ keyfile选项。什么时候 程序集是延迟签名的,只有公共密钥在编译时设置 文件中保留时间和空间以添加签名 稍后当私钥被知道时。
MSDN上的another article解释了这个过程。
答案 1 :(得分:1)
密钥对是您所需要的,因为密钥对包含私钥。
私钥用于生成程序集的加密哈希。然后,当Common Language Runtime加载程序集时,它使用公钥来验证程序集的内容,以确保它没有被篡改。