正确地从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]
坚持下去,任何帮助都很受欢迎,已经谢谢了。