首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git-crypt明文保护?

git-crypt明文保护?
EN

Stack Overflow用户
提问于 2014-02-07 02:11:56
回答 1查看 551关注 0票数 5

真是爱死人了。可爱的git-crypt。

很久很久以前,有一个用git-crypt保护的repo,并且有一群程序员在这个repo上工作。不知何故,让我们归咎于外星人,一个文件是以未加密的形式提交的。

这个错误很早就被发现了,没有造成任何危害,但这引出了我的问题:

在半集中式设置中(gitlab,一个受信任的存储库...)在您控制服务器的位置(因此不包括github),您会使用什么保护措施(如果有)来确保机密文件不会以未加密的形式提交?

EN

回答 1

Stack Overflow用户

发布于 2017-07-22 14:07:25

正如您在git-crypt issue 104中看到的,当尝试解密实际上未加密的文件时,会出现一个警告:

代码语言:javascript
复制
git-crypt: Warning: file not encrypted

这来自smudge() function,它读取文件的前几个字符:

代码语言:javascript
复制
// Read the header to get the nonce and make sure it's actually encrypted
unsigned char       header[10 + Aes_ctr_decryptor::NONCE_LEN];
std::cin.read(reinterpret_cast<char*>(header), sizeof(header));
if (std::cin.gcount() != sizeof(header) || std::memcmp(header, "\0GITCRYPT\0", 10) != 0) {

这意味着您可以编写pre-receive hook which will unpack the pushed files并读取第一个NONCE (12) characters,以检查文件是否以"\0GITCRYPT\0"开头。

如果其中一个推送文件没有被推送(并且是.gitattributes file引用的文件之一),则返回1:推送将被拒绝。

重点是:server-side hook (因为您控制服务器端)是执行策略的最可靠方式(就像这里,仅加密文件)。

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

https://stackoverflow.com/questions/21610728

复制
相关文章

相似问题

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