我正在创建一个入门套件,可以将开源项目编译后的程序集安装到GAC中,以便更容易地在模板中引用这些程序集。由于它们将被放置在GAC中,因此需要进行签名。
我是否需要密码保护和保护密钥文件,或者将其开放并包含在源代码控制中是否可以?
我正在创建一个入门套件,可以将开源项目编译后的程序集安装到GAC中,以便更容易地在模板中引用这些程序集。由于它们将被放置在GAC中,因此需要进行签名。
我是否需要密码保护和保护密钥文件,或者将其开放并包含在源代码控制中是否可以?
强名称签名有几个目的(尽管常见误解是为了实险防程序篡改)- 在您的情况下,使用强密钥来唯一识别(和验证)特定程序集的特定版本,这是GAC所必需的。另一个用途是防止其他程序集进行欺骗,在这种情况下似乎不是必要的(如果我错了,请纠正我)。因此,我认为将密钥保持开放(不受密码保护)并将文件包含在源代码控制中是完全可以接受的。据我所知,通过对密钥进行密码保护,您无法阻止任何不想要的事情发生。(但是,如果您能提供更详细的安全上下文信息,我可能需要修改这个观点。)
此外,请参考此MSDN文章,深入讨论如何正确地使用强名称签名。