我直到最近才能够签名可执行文件。现在,我正在尝试在构建/发布过程中建立适当的位置,以对程序集进行签名。
我的第一个本能是尽可能早地签名(在构建后事件中),以确保所签名的内容是构建者想要的。
但这(在我们的情况下)将要求每个开发人员都具有对私钥的完全访问权限,这可能是不可取的。
另一个想法是仅在我们要发布时才进行签名,这样签名很少由少量人执行。但这为时已晚吗?
是否存在最佳做法?
最佳答案
Delay Signing an Assembly:
组织可以拥有开发人员可以做得很严密的密钥对
每天没有访问权限。公钥通常是
可用,但是对私钥的访问仅限于少数几个
个人。在开发具有强名称的程序集时,每个
引用强命名目标程序集的程序集包含
用于赋予目标程序集强大功能的公钥令牌
名称。这就要求在
开发过程。
您可以在构建时使用延迟或部分签名来保留空间
在可移植可执行文件(PE)文件中用于强名称签名,
但将实际签名推迟到以后的某个阶段(通常只是
在运输组件之前)。