假设我的签名密钥已被泄露,我必须撤销它。
已经签名的变更集和标签会发生什么?我应该用新的签名密钥重写它们吗?
假设我的签名密钥已被泄露,我必须撤销它。
已经签名的变更集和标签会发生什么?我应该用新的签名密钥重写它们吗?
已经签名的变更集和标签会发生什么?
他们不会发生任何事情 - 他们仍然签名,但使用已撤销的密钥。撤销的密钥保留在密钥服务器上(以及人们的磁盘上,如果他们有本地副本),因此仍然可以验证签名。
我应该用新的签名密钥重写它们吗?
这取决于您想要实现的目标,但可能是的。签署标签的全部目的是证明“我(更确切地说:私钥的所有者)确实创建了这个标签。”
通过撤销您的密钥,您实际上是在说:“不要相信任何带有此密钥的签名,它们可能是伪造的。” 因此,如果您想为您的存储库的用户提供一种验证标签真实性的方法,您应该重新签名。
技术说明:
您不能在 Git 中重新签署标签,因为签名是(已签名)标签的组成部分。有关详细信息,请参见示例我可以在创建 git 标签后对其进行签名吗?在 stackoverflow.com 上。
您将必须创建一个新标签,并使用您的新密钥对其进行签名。另请注意有关更改/替换标签的一般注意事项:您必须使用新名称创建标签,或替换现有标签。如果你做后者,之前获取旧标签的人将不得不手动删除它们,否则他们将无法获取新标签。