有人可以帮我解决如何使用Runtime.getRuntime()。exec()从java程序运行gpg加密命令吗?
我想要运行的示例命令如下所示:
gpg -u'accepter'-r KeyID --armor --output /home/myuser/tmp/check.pgp --sign --passphrase'& sw @ 217 '--batch --encrypt /home/myuser/tmp/check.txt *
当我尝试从我的Java程序执行此操作时,它会出现“usage:gpg [options] [filename]”这样的错误
请帮助解决此错误并从java程序运行上面的gpg命令。
答案 0 :(得分:0)
如果您的主机上正确安装了gpg
二进制文件,则以下代码可以解决您的问题。
Process p = new ProcessBuilder("gpg -u 'receipient' -r KeyID --armor --output /home/myuser/tmp/check.pgp --sign --passphrase '&sw@217' --batch --encrypt /home/myuser/tmp/check.txt*".split(" "))
.inheritIO()
.start();
p.waitFor();
我没有正确的设置,但此代码按预期运行。你可以在这里试试:https://tech.io/snippet/VzJtME0