Windows 使用Gpg4win命令行使用公钥进行批加密

Windows 使用Gpg4win命令行使用公钥进行批加密,windows,batch-file,encryption,gnupg,openpgp,Windows,Batch File,Encryption,Gnupg,Openpgp,我们正在建立我们的第一个EDI系统,该系统依赖于使用OpenPGP的传入和传出文件加密。对于使用公钥加密的传入文件,我们可以使用Gpg4win的命令行选项使用私钥成功解密: gpg --batch --passphrase "SOME_KEY" --decrypt-files "%decryptingdir%\*.pgp" 我现在需要做的是相反的,使用我们的合作伙伴公钥加密传出的文件 我找不到任何关于使用公钥进行批量加密的命令行文档。我假设它的顺序是:

我们正在建立我们的第一个EDI系统,该系统依赖于使用OpenPGP的传入和传出文件加密。对于使用公钥加密的传入文件,我们可以使用Gpg4win的命令行选项使用私钥成功解密:

gpg --batch --passphrase "SOME_KEY" --decrypt-files "%decryptingdir%\*.pgp"
我现在需要做的是相反的,使用我们的合作伙伴公钥加密传出的文件

我找不到任何关于使用公钥进行批量加密的命令行文档。我假设它的顺序是:

gpg --batch --encrypt-files "%encryptingdir%\*.pgp" --key "SOME_KEY_PATH"
有人能告诉我如何通过命令行实现这种加密吗?

使用
--recipient
选项表示要加密的密钥。GnuPG在选项和命令之间有区别,而选项最好先执行

gpg --batch --recipient [key-id] --encrypt-files "%encryptingdir%\*.pgp"
GnuPG希望将密钥导入到密钥链中,因此
gpg--import[key file]
。使用
--keyring[您的密钥文件]
有黑客攻击,但简单地导入密钥文件是更安全的方法


对于脚本/编程操作,最佳实践是始终表示完整指纹。阅读了解有关短密钥ID的问题。

谢谢您的建议。导入后,encrypt命令会显示错误:“无法保证此密钥属于指定用户”。是否可以按照这个问题的答案进行操作:并添加选项--trust model always?这是一条消息,通知您无法通过信任网验证密钥。如果您指定了至少长密钥ID或甚至更好的完整指纹,那么您已经选择了特定的密钥,并且可以安全地省略使用“代码”>信任模型——信任模型总是(但一般不为所有操作这样做,在这样做之前考虑两次)。