GPG 相关简单笔记

发布时间 2023-11-22 13:21:58作者: ligiggy
工作中接触到GPG相关,特此记录下一些简单的用法和需求。

使用

加密

加密是采用公钥进行加密,通常情况下,加密需要指定USER,或者USER-ID
指令通常是:
gpg -u user -o encrypted.txt -e origin.txt

签名

签名只是让接受者判断,这个文件是不是让你接受的,实际上即使不是以你的用户签名的文件,一样可以解开。
指令通常是:
gpg -u user -o origin_signed.txt -s origin.txt

加密+签名

显而易见,加密+签名就是将二者组合起来,同时具有加密和签名的功能。
指令通常是:
gpg -u user -o encrypted_singed.txt -s -e origin.txt

解密

通常情况下的解密手段都是一致的,调用本地的私钥进行解密。
指令通常是:
gpg -o decrypted.txt -d encrypted.txt

常见解密问题

找不到dev/tty文件

解决方案: 解密前添加 --use-agnet即可。
gpg --use-agent -o decrypted.txt -d encrypted.txt
补充说明:使用--no-tty 可能会导致其他报错

使用签名提示time warp没通过Verify

解决方案:--ignore-time-conflict
gpg --ignore-time-conflict -o decrypted.txt -d encrypted.txt
补充说明:通常情况下是因为公钥私钥的产生时间比签名的时间晚导致(时间正确的情况下,肯定不会有这种问题),这个时候想解压不报错,最好的方案就是跳过时间冲突。