GPG加密工作从mac终端,但不是从java Runtime.getRuntime()。exec()

时间:2016-11-23 05:47:07

标签: java encryption gnupg

正确地从mac终端加密文件运行gpg加密,下面的语句工作正常:

gpg --homedir /Users/schoudhary5/.gnupg/  -i --yes -o /Users/schoudhary5/Documents/testpgp/pgp_1_out.txt -r "test_gpg@gmail.com"  --batch --encrypt --armour --sign --passphrase skch_123! /Users/schoudhary5/Documents/testpgp/pgp_1.txt

但是当我使用下面的语句从java运行相同的命令时会出现错误:

    Runtime.getRuntime().exec( "gpg --homedir /Users/schoudhary5/.gnupg/  -i --yes -o /Users/schoudhary5/Documents/testpgp/pgp_1_out.txt -r \"test_gpg@gmail.com\"  --batch --encrypt --armour --sign --passphrase skch_123! /Users/schoudhary5/Documents/testpgp/pgp_1.txt")
  

gpg:“test_gpg@gmail.com”:跳过:没有公钥gpg:   /Users/schoudhary5/Documents/testpgp/pgp_1.txt:签名+加密失败:   没有公钥

从java中搜索相同的密钥时,可搜索:

Runtime.getRuntime().exec( "gpg --list-keys test_gpg@gmail.com");

输出:

  

pub 4096R / 5056535C 2016-11-23 [expires:2020-11-23] uid
  [终极] test_gpg sub 4096R / 8ABE5AD1   2016-11-23 [到期日:2020-11-23]

坚持下去,任何帮助都很受欢迎,已经谢谢了。

0 个答案:

没有答案