本文概要:在java中从证书库(keystore)文件中直接导出证书文件(.cer)

方法:
1.读取keystore文件
2.使用keystore的getCertificate方法从证书库中读取出证书
3.使用一个writer类,将证书的encoded经过base64编码后存入文件

[code=java]
package cert;

import java.io.FileInputStre

本文概要:在java中从证书库(keystore)文件中直接导出证书文件(.cer)

方法:
1.读取keystore文件
2.使用keystore的getCertificate方法从证书库中读取出证书
3.使用一个writer类,将证书的encoded经过base64编码后存入文件

[java]
package cert;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.util.Enumeration;
import sun.misc.BASE64Encoder;
public class StoreCert {
public static void main(String[] args) throws Exception {
String ks_pwd="ujjickeeqg";
KeyStore ks=KeyStore.getInstance("JKS");
FileInputStream ks_fis=new FileInputStream("mykeystore.ks");
ks.load(ks_fis,ks_pwd.toCharArray());
Enumeration<String> aliases=ks.aliases();
while(aliases.hasMoreElements()){
String alias=aliases.nextElement();
Certificate cert=ks.getCertificate(alias);
byte[] encoded=cert.getEncoded();
Writer writer=new OutputStreamWriter( new FileOutputStream(alias+".cer"));
writer.write( new BASE64Encoder().encode(encoded));
writer.close();
System.out.println("导出"+alias+"证书成功");
}
}
}
[/java]