java中从keystore里导出证书
本文概要:在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]