![]() |
1
5
在某些情况下,可能需要对程序集进行强名称- more on strong-naming and why you might need it 无论程序集的命名会引入多强 some inconveniences 在你的发展过程中。要对程序集进行强命名,您需要访问公众&在构建期间使用私钥。 像这样的工具 StrongNamer 对你的第三方未签名依赖关系有很大帮助。有助于解决强命名的病毒性特征。 在某些情况下,您只希望组织中的少数个人(企业和OSS中的可能性较小,但仍有可能)能够访问私钥以进行验证 身份 集合的一部分。 如果您不想公开(即在GitHub OSS中)或与整个开发团队(企业环境)共享私钥,但也不想干扰开发过程,那么在公开签名(在VS 2015 Update 2编译器中引入)之前,您只有一个选项—— delay-sign 你们的集会。 延迟对程序集进行签名仍然会在开发过程中引入一些摩擦,比如在对私钥(最终是程序集标识)进行估值时。每个需要构建和运行该程序集的人都必须注册该程序集,以便在运行时跳过程序集验证(使用具有管理员权限的“sn–Ì”Vr myAssembly.dll命令)。 到达终点 Public Signing 方法这似乎是延迟签字的另一种方式。因此,对程序集进行公共签名与延迟签名是一样的,但是开发团队不需要在他们的机器上执行“sn Vr myAssembly.dll”命令。然而,它也有一些局限性:
*关于组装的说明 身份 : 强命名是为了程序集标识,而不是安全性。强命名(完全签名)程序集将经受验证检查(即“sn-vf myAssembly.dll”),这将验证程序集及其所有内容是否与签名时一样。 这不是一个安全问题,因为至少在某些上下文中,绕过运行时程序集加载特定程序集的强名称验证是相当容易的。 |
![]() |
jagberg · C#破坏性更改-在封面下 10 年前 |