java pfx 证书_Java将pfx证书转换为jks[通俗易懂]

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.Certifica…

大家好,又见面了,我是你们的朋友全栈君。

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

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134608.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 104规约 scada

    104规约 scada104规约的报文帧分为三类:I帧、S帧和U帧。I帧称为信息帧,长度一定大于6个字节,被称作长帧,用于传输数据;S帧称为确认帧,长度只有6个字节,被称作短帧,用于确认接收的I帧;U帧称为控制帧,长度只有6个字节,也被称作短帧,用于控制启动/停止/测试。长帧报文分为APCI和ASDU两个部分,而短帧报文只有APCI部分。APCI的6个字节是这样构成的:起动字符68H,1个字节;后面的报文长

    2022年6月20日
    72
  • PHP 发邮件_php发送邮件带附件

    PHP 发邮件_php发送邮件带附件
    测试Linux邮件服务器是否可用
    #mailaaa@163.com
    subject:helloworld
    ctrl+d
     
    服务器设置
    php.ini
    sendmail_path=/usr/sbin/sendmail-t-i
     
    php测试
    $message=”Line11/nLine21/nLine31″;
    //1行が70文字を超える場合のため、wo

    2022年10月20日
    0
  • mac idea永久激活码【永久激活】

    (mac idea永久激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

    2022年3月21日
    297
  • win10鼎信诺为什么安装不了_阳光系统 win10显卡驱动安装失败怎么办

    win10鼎信诺为什么安装不了_阳光系统 win10显卡驱动安装失败怎么办win10显卡驱动安装失败怎么办呢?很多朋友反映在安装完win10系统后,更新了一下显卡驱动就出现蓝屏,黑屏现象,老是安装不成功。今天,我就将win10显卡驱动安装失败的处理方法分享给你们win10系统虽然发布了4年时间,但是还是有很多不完善的地方,比如win10系统更新显卡驱动的时候老是失败,这是win10的一大bug。下面,我就给大家介绍一下win10显卡驱动安装失败的解决方法驱动电脑图解1w…

    2022年6月12日
    45
  • 软件安装管家(2021年4月15更新)

    软件安装管家(2021年4月15更新)在网上看到许多小伙伴在问软件安装管家公众号为什么不能用了,在这里就把他们的一些资源整理出来分享给大家啦!各位观众老爷赶紧点赞收藏吧!软件导航①电脑系统 ②办公软件③图像处理④影视动画⑤AutoCAD⑥3D设计⑦机械设计⑧建筑设计⑨网页设计⑩开发编程⑪数据分析⑫仿真模拟⑬行业软件软件目录①电脑系统 安装环境PE工具箱Vmware(虚拟机)Windows10U盘安装win10直接安装win10虚拟机装win10Win10官方原版镜像文件下载地址汇总Windows7U盘安装win7直接安装

    2022年6月4日
    92
  • 【zTree】zTree根据后台数据生成树并动态设置前面的节点复选框的选中状态

    【zTree】zTree根据后台数据生成树并动态设置前面的节点复选框的选中状态

    2022年3月8日
    131

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号