.net Snk文件及;延迟签字
我正在使用一组延迟签名的程序集,在跳过验证(sn-Vr*)后,我可以从GAC安装和加载这些程序集 因为延迟签名作为一个进程只需要公钥文件.net Snk文件及;延迟签字,.net,snk,sn.exe,.net,Snk,Sn.exe,我正在使用一组延迟签名的程序集,在跳过验证(sn-Vr*)后,我可以从GAC安装和加载这些程序集 因为延迟签名作为一个进程只需要公钥文件 sn-k keys.snk(公钥和私钥) sn-p keys.snk pkey.snk(仅公钥) 将pkey.snk添加到项目属性并选中“仅限延迟符号” 序列号-v(显示程序集延迟签名) sn-e(提取pkey) fc(未找到差异) 我发现第一个…和其余436字节代表私钥 虽然出于开发目的,sn-Vr或sn-R keys.snk(新的公钥/私钥对,用于替换已签
是否有一个地方可以保存整个SNK文件结构(文件格式)是否有文档记录?这种方法通常有效吗?您认为如何?您似乎担心有人会生成一个随机密钥对,将密钥对中的公钥替换为来自不同程序集的公钥,然后对自己的程序集进行签名以获得该公钥 这行不通。
密钥对中的公钥以加密方式从私钥派生,程序集使用只能使用正确私钥计算的值进行签名。
每个私钥将生成不同的签名,并且它们不可互换
有关更多信息,请参阅。安全漏洞到底是什么?您的描述不清楚。我说的是“潜在的”…不是专家…我的头像:你可以假装其他人的公钥是你的…而你的公钥令牌将匹配..如果我有基于公钥令牌分配的安全权限/跳过验证,你可能会利用…@SLaks:谢谢你的回答…好吧,这不是安全问题:)或者至少不是故意的。。。您只需“公钥”即可延迟签名。。。我没有访问“生产”私钥的权限。。。为了让我能够加载延迟签名的程序集,我需要跳过验证和其他东西。。。我只是想知道我是否可以使用一个具有“release”公钥和我自己的自制私钥的SNK文件对程序集重新签名。。。换句话说,我在寻找替换SNK文件中同时包含两个密钥的公钥的方法…@SLaks:当您直接签名时,这是正确的。。。因为编译器使用您的私钥计算哈希。。。不是当你延迟签字的时候。。。你不需要私钥。。。此外,sn还可以选择重新计算哈希sn-Ra。。。我理解这一点,因为你也可以用新的散列替换程序集中的散列。正如我所解释的,不可以。你不能像那样混合和匹配关键部分。如果你问你是否可以用生产私钥对程序集重新签名,是的,你可以。