`
zxs19861202
  • 浏览: 909433 次
  • 性别: Icon_minigender_1
  • 来自: 湖北—》上海
社区版块
存档分类
最新评论

数字证书pfx与jks互转换工具类

阅读更多

转载:http://blog.csdn.net/xieboshi/archive/2009/05/20/4204439.aspx

public class ConventPFX {  
    public static final String PKCS12 = "PKCS12";  
    public static final String JKS = "JKS";  
    public static final String PFX_KEYSTORE_FILE = "c:\\test.pfx";  
    public static final String KEYSTORE_PASSWORD = "123456";  
    public static final String JKS_KEYSTORE_FILE = "c:\\test.jks";  
    public static void coverTokeyStore() {  
        try {  
            KeyStore inputKeyStore = KeyStore.getInstance("PKCS12");  
            FileInputStream fis = new FileInputStream(PFX_KEYSTORE_FILE);  
            char[] nPassword = null;  
            if ((KEYSTORE_PASSWORD == null)  
                    || KEYSTORE_PASSWORD.trim().equals("")) {  
                nPassword = null;  
            } else {  
                nPassword = KEYSTORE_PASSWORD.toCharArray();  
            }  
            inputKeyStore.load(fis, nPassword);  
            fis.close();  
            KeyStore outputKeyStore = KeyStore.getInstance("JKS");  
            outputKeyStore.load(null, KEYSTORE_PASSWORD.toCharArray());  
            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, nPassword);  
                    Certificate[] certChain = inputKeyStore  
                            .getCertificateChain(keyAlias);  
                    outputKeyStore.setKeyEntry(keyAlias, key, KEYSTORE_PASSWORD  
                            .toCharArray(), certChain);  
                }  
            }  
            FileOutputStream out = new FileOutputStream(JKS_KEYSTORE_FILE);  
            outputKeyStore.store(out, nPassword);  
            out.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    public static void coverToPfx() {  
        try {  
            KeyStore inputKeyStore = KeyStore.getInstance("JKS");  
            FileInputStream fis = new FileInputStream(JKS_KEYSTORE_FILE);  
            char[] nPassword = null;  
            if ((KEYSTORE_PASSWORD == null)  
                    || KEYSTORE_PASSWORD.trim().equals("")) {  
                nPassword = null;  
            } else {  
                nPassword = KEYSTORE_PASSWORD.toCharArray();  
            }  
            inputKeyStore.load(fis, nPassword);  
            fis.close();  
            KeyStore outputKeyStore = KeyStore.getInstance("PKCS12");  
            outputKeyStore.load(null, KEYSTORE_PASSWORD.toCharArray());  
            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, nPassword);  
                    Certificate[] certChain = inputKeyStore  
                            .getCertificateChain(keyAlias);  
                    outputKeyStore.setKeyEntry(keyAlias, key, KEYSTORE_PASSWORD  
                            .toCharArray(), certChain);  
                }  
            }  
            FileOutputStream out = new FileOutputStream(PFX_KEYSTORE_FILE);  
            outputKeyStore.store(out, nPassword);  
            out.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
    public static void main(String[] args) {  
        //coverToPfx(); //jks to pfx  
        //coverTokeyStore();    // pfx to jks  
    }  

 

分享到:
评论

相关推荐

    jks与pfx转换工具

    将jks文件生成pfx文件的工具,亲测可以使用。 例如: JKS2PFX server.jks 123456 tomcat exportfile c:\progra~1\Java\jre1.5.0_06\bin 该命令将server.jks中别名为tomcat的SSL证书导出,运行后将产生3个文件 ...

    pfx与jks 互转

    pfx与jks 互转

    JKS2PFX证书转换工具

    JKS2PFX证书转换工具

    SSL转换工具jks2pfx

    由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 将jks文件...

    jks转pfx,jks导出pfx证书

    使用keytool.exe,将jks格式证书转换成pfx格式证书。由于本工具未包括keytool.exe 需要安装jdk 才能够正常运行。 没有积分的用户可以根据以下命令行手动导出(keytool.exe 可以在jdk安装目录中找到): keytool.exe ...

    jks2pfx工具

    jks2pfx jks文件生成pfx文件工具

    Tomcat更换SSL证书方法(jks与pfx转换)

    该文档提供JKS转换为PFX的方法 使用JWSDP工具包中的工具 •安装J2SE 1.5,下载并运行jdk-1_5_0_09-windows-i586-p.exe •下载并安装jave web service develop pack, jwsdp-2_0-windows-i586.exe •创建一个新的...

    创建数字证书并导出为pfx工具源码20130827

    创建数字证书并导出为pfx工具源码 源码描述: 项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解密。为了完成这个安全模块,特写了如下一个DEMO程序,该DEMO...

    pfx2jks(浦发银行接口要用到)

    把这个放在任何位置,cmd窗口cd到存放的位置,就能使用命令pfx2jks,应该是把pfx文件转化成jks

    C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密

    1:调用.NET2.0的MAKECERT创建含有私钥的数字证书,并存储到个人证书区; 2:将该证书导出为pfx文件,并为其指定一个用来打开pfx文件的password; 3:读取pfx文件,导出pfx中公钥和私钥; 4:用pfx证书中的公钥进行...

    JKS2PFX证书转换工具 支持jdk生成证书转换

    JKS2PFX证书转换工具 支持jdk生成证书转换

    jks证书格式转换nginx使用格式

    由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 password:...

    创建数字证书并导出为pfx工具源码

    创建数字证书并导出为pfx工具源码 源码描述: 项目当中,考虑到安全性,需要为每个客户端分发一个数字证书,同时使用数字证书中的公私钥来进行数据的加解密。为了完成这个安全模块,特写了如下一个DEMO程序,该DEMO...

    jks2pfx2.rar

    常用证书格式:JKS(.keystore),微软(.pfx),OPSSL之PEM(.key + .crt),其中tomcat使用JKS格式,nginx使用PEM格式。...由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。

    JKS2PFX转换工具

    ssl证书类型转换工具

    pfx证书生成 工具

    开发技术使用RSA非对称加密,一键生成pfx证书工具,内附 文档说明。

    密钥,密钥对,公钥,pfx,jks/https详解

    密钥,密钥对,公钥,pfx,jks/https

    PFX 证书制作工具(PKCS#12)

    带有私钥的证书,由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以.pfx作为证书文件后缀名。 只有pfx格式的数字证书是包含有私钥的

Global site tag (gtag.js) - Google Analytics