如何将.snk文件(用于强名称签名.NET程序集)转换为适合相同目的的受密码保护的.pfx文件?
编辑:澄清一下,假设我在VS和项目属性中创建项目,签名,单击“新强名称密钥文件”,并选择不使用密码保护密钥文件:
现在想象一年后我改变了主意并希望添加密码 - 而不是通过创建新的密钥对来破坏程序集的身份。我该怎么做?
答案 0 :(得分:4)
您不能使用 Strong Name Tool (Sn.exe) 转换 签署现有的 snk 文件。 (如果 snk 已经受到保护,则需要执行一些步骤,因为您需要从证书中拆分强名称部分。
pfx 是您在选择密码保护选项时在Visual Studio中为您创建的私有证书。您输入的密码用于保护此证书。
这是用于开发还是商业发布?我不建议使用私钥对程序集进行签名以进行开发。
虽然密码保护您的密钥文件是一个更好的解决方案 而不是将它们存放在透明的地方,它仍然不理想。你会的 必须将PFX文件分发给所有开发人员和他们 所有人都必须知道PFX文件的密码。秘密是 像这样广泛分享,不会长时间保密。 理想情况下,您不必分发私钥来构建 并在开发过程中测试您的代码。
在Using Strong Name Signatures上阅读CLR Inside Out(MSDN)文章。
HTH,