我有一个客户端和服务器系统,它们定期运行计划任务并通过已由 gpg 加密的 xml 文件进行通信。所有必需的公钥已在客户端和服务器之间成功交换。加密和解密调用是从批处理文件中完成的。
加密语法
gpg.exe --batch --yes --recipient %1 --output %4 --passphrase %5 --local-user %2 --sign --encrypt %3
解密语法
gpg.exe --batch --yes --output %3 --passphrase %4 --decrypt %2 2>%1
客户端创建一个 xml 文件,使用 gpg 使用服务器公钥对其进行加密,使用私钥签名并将其上传到服务器的 ftp 站点。服务器定期检查 ftp 文件夹中的新文件。对于任何新文件,它使用 gpg 解密,然后处理文件中的 xml。
对于服务器尝试解密的一些 xml 文件,我收到如下错误:
gpg: block_filter 00AA8400: 读取错误 (size=7841,a->size=395)
gpg: 编码无效的 mdc_packet
gpg:解密失败:无效数据包
gpg:block_filter:待处理字节!
需要注意的是,并非所有文件都发生这种情况,而只有一些文件会发生这种情况。我无法找到它失败的文件之间的任何共性。
有人熟悉这个错误的含义吗?欢迎任何有助于追踪此问题的建议。