如果员工离开公司并在 Github 上删除了 GPG 密钥,如何验证已签名的提交?
How to keep signed commits verified if an employee leaves the company and deleted the GPG key on Github?
该组织使用 GPG 密钥签署提交。每个员工都有自己的签名,验证签名的密钥已添加到用户的 github 帐户中。如果员工从帐户中删除他的 GPG 密钥,他之前所做的所有提交都将变为未验证状态。
问题是——组织如何确保没有员工从他们的 GPG 帐户中删除密钥?或者应该怎么做,他可以删除它,但之前做出并认可的提交并没有失去验证状态?
组织离职手续的问题比较实际
无法阻止用户像这样添加或删除 public 密钥,因为他们控制着自己的帐户。如果他们删除密钥,则 GitHub 将不再将它们列为已验证。
但是,已提交的提交将保持签名状态,并且可以使用 git verify-commit
(或者,对于标签,git verify-tag
)从命令行进行验证。如果您有一个受信任的密钥数据库,您甚至可以使用 git verify-commit --raw
并从 GnuPG 输出中验证该密钥是否供预期用户使用。
如果您需要通过 GitHub 为您的组织签署提交,那么无论它们是否被列为已验证,您都会知道它们在合并到分支之前已经过有效签名,因此状态不会那么重要。
该组织使用 GPG 密钥签署提交。每个员工都有自己的签名,验证签名的密钥已添加到用户的 github 帐户中。如果员工从帐户中删除他的 GPG 密钥,他之前所做的所有提交都将变为未验证状态。 问题是——组织如何确保没有员工从他们的 GPG 帐户中删除密钥?或者应该怎么做,他可以删除它,但之前做出并认可的提交并没有失去验证状态? 组织离职手续的问题比较实际
无法阻止用户像这样添加或删除 public 密钥,因为他们控制着自己的帐户。如果他们删除密钥,则 GitHub 将不再将它们列为已验证。
但是,已提交的提交将保持签名状态,并且可以使用 git verify-commit
(或者,对于标签,git verify-tag
)从命令行进行验证。如果您有一个受信任的密钥数据库,您甚至可以使用 git verify-commit --raw
并从 GnuPG 输出中验证该密钥是否供预期用户使用。
如果您需要通过 GitHub 为您的组织签署提交,那么无论它们是否被列为已验证,您都会知道它们在合并到分支之前已经过有效签名,因此状态不会那么重要。