如何非交互地加密文件(使用存储的私钥)

如何非交互地加密文件(使用存储的私钥)

我不想运行类似的程序,gpg -c因为它会提示我输入密码。我将有一个 cron 作业来备份和加密一些文件。我想将一个位置传递给一个私钥(通过参数)到一个可以加密流的应用程序(即:它可以使用管道字符 ,|作为输入,而不是只加密一个文件)。

优先使用 AES 之类的对称加密。

还有一件事,我希望它是存储在文件系统某处的私钥。而不是由密钥服务器或某种特定于应用程序的密钥容器管理的私钥。

答案1

然后使用gpg -c --passphrase-file=...gpg -c --passphrase-fd=...。例如:

dmesg | gpg -c --passphrase-fd=3 --batch > dmesg.txt.gpg 3< zombies.key

解密:

gpg --batch --passphrase-fd=3 3< zombies.key --output decrypted.txt --decrypt dmesg.txt.gpg

(不过我认为gpg默认为 CAST,所以也添加--cipher-algo AES256。)

或者,openssl cipher -aes256

相关内容