我们正在建立第一个依赖于使用OpenPGP进行传入和传出文件加密的EDI系统。使用我们的公钥加密的传入文件,我们可以使用Gpg4win的命令行选项使用我们的私钥成功解密:
gpg --batch --passphrase "SOME_KEY" --decrypt-files "%decryptingdir%\*.pgp"
我现在需要做的是反过来,并使用我们的合作伙伴公钥加密传出文件。
我无法使用公钥找到有关批量加密的任何命令行文档。我认为这将是以下的顺序:
gpg --batch --encrypt-files "%encryptingfir%\*.pgp" --key "SOME_KEY_PATH"
有人可以建议我如何通过命令行实现这种加密吗?
答案 0 :(得分:4)
使用--recipient
选项表示要加密的密钥。 GnuPG区分了选项和命令,而选项最好先行。
gpg --batch --recipient [key-id] --encrypt-files "%encryptingfir%\*.pgp"
GnuPG希望将密钥导入到钥匙串中,因此首先gpg --import [key-file]
。有使用--keyring [your-key-file]
的黑客,但只是导入密钥文件是更安全的方式。
对于脚本/编程操作,最佳做法是始终表示完整指纹。阅读key ID collisions以了解短密钥ID的问题。