我正在使用Blackbox保护存储库中的敏感文件,但是突然,对我来说莫名其妙的是,它只是停止了工作。
我正在运行GitLab CI部署脚本,并且blackbox_postdeploy
失败,并显示消息gpg: [don't know] ctb=00
。
我已经发现ctb=00
通常与损坏的钥匙串(keychain)有关,但是由于我是在干净的Docker容器上(通过GitLab CI)运行它的,所以我不知道如何解决它。
这是GitLab CI脚本的输出:
$ gpg -v --import <(echo "$GPG_PRIVATE_KEY")
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: pub 4096R/ABC1234 2017-04-28 Bot <[email protected]>
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: using PGP trust model
gpg: key ABC1234: public key "Bot <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
$ which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
/usr/bin/ssh-agent
$ eval $(ssh-agent -s)
Agent pid 72
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
Identity added: /dev/fd/63 (rsa w/o comment)
$ mkdir -p ~/.ssh
$ [[ -f /.dockerenv ]] && echo "$SSH_SERVER_HOSTKEYS" > ~/.ssh/known_hosts
$ git config --global url."[email protected]:".insteadOf "https://gitlab.com/"
$ ln -s /builds /go/src/gitlab.com
$ cd /go/src/gitlab.com/me/mysystem
$ blackbox_postdeploy
========== Importing keychain: START
gpg: [don't know]: invalid packet (ctb=00)
gpg: key export failed: invalid packet
ERROR: Job failed: exit code 1
我尝试过的事情:
/root/.gnupg
-folder。 有人可以帮我吗?这偶尔会破坏我的存储库,这对我的开发过程是一个巨大的痛苦。
谢谢你。
最佳答案
确保同时安装了gpg2和gpg2。
$ gpg2 -v --import <(echo "$GPG_PRIVATE_KEY")
该问题已在黑盒HEAD中修复。拉取最新的黑盒版本,并使用环境变量调用黑盒命令。
$ GPG=gpg2 blackbox_deploy
关于gnupg - 黑盒: GPG decrypt fails (don't know ctb=00),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44247308/