java pfx 证书_Java将pfx证书转换为jks

packagecom.yangangus.util;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.security.Key;importjava.security.KeyStore;importjava.security.cert.Certificate;importjava.util.Enumeration;public classConventPFXToJKS {public static final String PKCS12 = "PKCS12";public static final String JKS = "JKS";public static final String PFX_KEYSTORE_FILE = "D:\\temp\\certs\\wildcard_test_com.pfx";//pfx文件位置

public static final String PFX_PASSWORD = "pfx_password";//导出为pfx文件的设的密码

public static final String JKS_KEYSTORE_FILE = "D:\\temp\\certs\\keystore.jks"; //jks文件位置

public static final String JKS_PASSWORD = "jks_password";//JKS的密码

public static voidcoverTokeyStore() {

FileInputStream fis= null;

FileOutputStream out= null;try{

KeyStore inputKeyStore= KeyStore.getInstance("PKCS12");

fis= newFileInputStream(PFX_KEYSTORE_FILE);char[] pfxPassword = null;if ((PFX_PASSWORD == null) || PFX_PASSWORD.trim().equals("")) {

pfxPassword= null;

}else{

pfxPassword=PFX_PASSWORD.toCharArray();

}char[] jksPassword = null;if ((JKS_PASSWORD == null) || JKS_PASSWORD.trim().equals("")) {

jksPassword= null;

}else{

jksPassword=JKS_PASSWORD.toCharArray();

}

inputKeyStore.load(fis, pfxPassword);

fis.close();

KeyStore outputKeyStore= KeyStore.getInstance("JKS");

outputKeyStore.load(null, jksPassword);

Enumeration enums=inputKeyStore.aliases();while (enums.hasMoreElements()) { //we are readin just one//certificate.

String keyAlias =(String) enums.nextElement();

System.out.println("alias=[" + keyAlias + "]");if(inputKeyStore.isKeyEntry(keyAlias)) {

Key key=inputKeyStore.getKey(keyAlias, pfxPassword);

Certificate[] certChain=inputKeyStore.getCertificateChain(keyAlias);

outputKeyStore.setKeyEntry(keyAlias, key, jksPassword, certChain);

}

}

out= newFileOutputStream(JKS_KEYSTORE_FILE);

outputKeyStore.store(out, jksPassword);

out.close();

}catch(Exception e) {

e.printStackTrace();

}finally{if (fis != null) {try{

fis.close();

}catch(IOException e) {

e.printStackTrace();

}

}if (out != null) {try{

out.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}

}public static voidmain(String[] args) {//TODO Auto-generated method stub

coverTokeyStore(); //pfx to jks

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值