首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改git-crypt密钥

如何更改git-crypt密钥
EN

Stack Overflow用户
提问于 2017-11-28 04:45:27
回答 2查看 6.5K关注 0票数 4

我使用隐窝进行了回购,我需要更新git-crypt密钥,这样上游的git-crypt密钥就不能解密新的回购协议。

git-crypt help文档和自述文件似乎没有解释如何更改git-crypt密钥。

我尝试过各种方法来擦除git-crypt配置和重新初始化。不幸的是,所有这样做的尝试似乎都打破了各种东西,比如git,显示了像smudge filter git-crypt failed这样的错误。在已初始化的存储库上,数据不可读。记录了其中的一些行为。https://github.com/AGWA/git-crypt/issues/47评论中的任何建议都无法防止git致命错误。(我不介意git显示未加密二进制文件历史记录的无用输出,但git diff在某些提交中不允许出现致命错误,以防止甚至未加密的文件扩散。)

这似乎是git-crypt的一个主要要求,所以我不敢相信这是不支持的,例如,如果您需要旋转一个git-crypt键,因为有人离开了公司。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-28 20:26:43

正如https://github.com/AGWA/git-crypt/issues/61明确指出的那样,git-crypt不支持旋转的git-crypt密钥.

最后,我重写了git历史记录,删除了旧git加密密钥的所有历史记录(我从git历史记录中完全删除了加密文件),然后创建了一个新密钥并签入了加密文件。这既费时又痛苦。

https://github.com/AGWA/git-crypt/#limitations记录了这一限制。如果您需要旋转键,您可能需要考虑不使用git-crypt。

票数 3
EN

Stack Overflow用户

发布于 2019-05-15 14:41:50

只要做一点工作,你就可以旋转一个中央键(不是gpg,我不知道)

  1. 删除.gitattributes文件。这会解开你的秘密。
  2. 保存更改(在本地存储未加密的机密)
  3. 删除.gitattributes和所有机密文件。提交。( 2+3操作是这样的,因为您不必提交任何明文秘密)
  4. 做“git-crypt lock”,在这种情况下,它只是丢弃了您的密钥。
  5. 做'git-crypt init‘来创建一个新的密钥。
  6. 卸载存储的文件并重新创建.gitattributes
  7. 提交

请注意,协作者需要在提取新更改之前执行“git -crypt锁”,以便丢弃旧密钥,并在纯git模式下处理文本文件(尽管秘密仍然加密)。

更新后,用新的密匙解锁。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47524175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档