如何将.snk文件转换为.pfx文件

时间:2011-10-04 04:06:46

标签: .net assembly-signing

如何将.snk文件(用于强名称签名.NET程序集)转换为适合相同目的的受密码保护的.pfx文件?

编辑:澄清一下,假设我在VS和项目属性中创建项目,签名,单击“新强名称密钥文件”,并选择不使用密码保护密钥文件:

CreateStrongKeyVS

现在想象一年后我改变了主意并希望添加密码 - 而不是通过创建新的密钥对来破坏程序集的身份。我该怎么做?

1 个答案:

答案 0 :(得分:4)

您不能使用 Strong Name Tool (Sn.exe) 转换 签署现有的 snk 文件。 (如果 snk 已经受到保护,则需要执行一些步骤,因为您需要从证书中拆分强名称部分。

pfx 是您在选择密码保护选项时在Visual Studio中为您创建的私有证书。您输入的密码用于保护此证书。

这是用于开发还是商业发布?我不建议使用私钥对程序集进行签名以进行开发。

来自CLR Inside Out Article

  

虽然密码保护您的密钥文件是一个更好的解决方案   而不是将它们存放在透明的地方,它仍然不理想。你会的   必须将PFX文件分发给所有开发人员和他们   所有人都必须知道PFX文件的密码。秘密是   像这样广泛分享,不会长时间保密。   理想情况下,您不必分发私钥来构建   并在开发过程中测试您的代码。

Using Strong Name Signatures上阅读CLR Inside Out(MSDN)文章。

HTH,