GPG加密,求助
发表于 : 2009-08-25 11:10
用java做个东西,需要用gpg对一个文件加密,但加密的过程中会提示:
这把密钥并不一定属于用户标识声称的那个人。如果您真的知道自
己在做什么,您可以在下一个问题回答 yes。
无论如何还是使用这把密钥吗?(y/N)
导致java无法调用,大家帮忙看看,是不算给GPG加上什么参数或者java里怎么输入这个yes?java 代码如下:
package com.yeepay.gpg;
import java.io.BufferedInputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args){
String cmd="gpg --encrypt -a --yes -o /home/minqf/pandingfile_20090824.asc --recipient 'keyName' /home/minqf/pandingfile_20090824.csv";
try {
Process ps = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",cmd});
BufferedInputStream bis = new BufferedInputStream(ps.getInputStream());
BufferedInputStream bes=new BufferedInputStream(ps.getErrorStream());
int i=ps.waitFor();
if(i==0){
System.out.println("运行加密命令成功!");
}else{
System.out.println("运行加密命令失败 返回code为"+i);
}
System.out.println("return code"+i);
System.out.println("InputStream:");
int ch=-1;
while((ch=bis.read())!=-1){
System.out.print((char)ch);
}
System.out.println("ErrorStream:");
while((ch=bes.read())!=-1){
System.out.print((char)ch);
}
} catch (IOException e) {
System.out.println("加密命令运行失败!");
} catch (InterruptedException e) {
System.out.println("加密命令运行失败!");
}
}
}
这把密钥并不一定属于用户标识声称的那个人。如果您真的知道自
己在做什么,您可以在下一个问题回答 yes。
无论如何还是使用这把密钥吗?(y/N)
导致java无法调用,大家帮忙看看,是不算给GPG加上什么参数或者java里怎么输入这个yes?java 代码如下:
package com.yeepay.gpg;
import java.io.BufferedInputStream;
import java.io.IOException;
public class Test {
public static void main(String[] args){
String cmd="gpg --encrypt -a --yes -o /home/minqf/pandingfile_20090824.asc --recipient 'keyName' /home/minqf/pandingfile_20090824.csv";
try {
Process ps = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",cmd});
BufferedInputStream bis = new BufferedInputStream(ps.getInputStream());
BufferedInputStream bes=new BufferedInputStream(ps.getErrorStream());
int i=ps.waitFor();
if(i==0){
System.out.println("运行加密命令成功!");
}else{
System.out.println("运行加密命令失败 返回code为"+i);
}
System.out.println("return code"+i);
System.out.println("InputStream:");
int ch=-1;
while((ch=bis.read())!=-1){
System.out.print((char)ch);
}
System.out.println("ErrorStream:");
while((ch=bes.read())!=-1){
System.out.print((char)ch);
}
} catch (IOException e) {
System.out.println("加密命令运行失败!");
} catch (InterruptedException e) {
System.out.println("加密命令运行失败!");
}
}
}