0

我需要帮助。我有一个 java 程序,它可以在命令行中运行 gpg 解密。它在我的 Windows 电脑上完全独立运行。然后我从一个容器(Weblogic)中运行它,它仍然可以在我的 Windows PC 上完美运行。当我将它移到我们的 Linux 服务器时...gpg 错误。它说“gpg 无法打开文件...”,然后是我的文件名(带有通配符)。我在命令执行之前打印出命令。如果我完全复制这个命令,我可以在 linux 上运行它。为了完整起见,我什至打印出应用程序运行的确切位置并从那里运行解密命令 - 也可以。请 - 任何想法都会非常受欢迎。为什么它不能在容器内工作?

String command = "gpg --batch --allow-multiple-messages --decrypt-files --passphrase " + passPhrase + " " + filePathName + "/" + fileName + ".pgp";
  logInfo(this.getClass().getSimpleName() + " Executing command : [" + command + "]");
  Process p = Runtime.getRuntime().exec(command);

这是打印出来的命令的样子:

gpg --batch --allow-multiple-messages --decrypt-files --passphrase mypassphrase /usr/local/applications/mybatch/dataImportFiles/*_REW_BAL.txt.pgp

4

0 回答 0