`

Java 操作PFX JKS keystore

阅读更多

Java中默认keystore类型是JKS格式,CA签发设备证书和个人证书通常是PFX格式,有时需要相互转换。

可以用于转换的工具有keytool或者openssl命令行工具,另外JDK自身也提供了一组API,可以实现各类型相互转换;

以下代码时间将JKS读取为PFX格式到内存:

 

public String readJKSAsPfx(String JKSPath,String pwd){
        String default_pfx_site_certificate_pwd = "11111111";
	StringBuffer b64pfxBuf = new StringBuffer();

	KeyStore keyStore = KeyStore.getInstance("JKS");
	File file = new File(keyStorePath);
	keyStore.load(JKSPath, pwd);

	Enumeration<String> emuAlias = keyStore.aliases();
	KeyStore.Entry jentry = null;

	while (emuAlias.hasMoreElements()) {
		String alias = (String) emuAlias.nextElement();
		if (keyStore.isKeyEntry(alias)) {
			jentry = keyStore.getEntry(alias, new PasswordProtection(pwd.toCharArray()));
			//转换为pfx
			KeyStore p12 = KeyStore.getInstance("PKCS12");
			p12.load(null);//初始化keystroe
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			//输出到字节数组
			p12.setEntry("p12", jentry, new PasswordProtection(pwd.toCharArray()));
			p12.store(baos, default_pfx_site_certificate_pwd.toCharArray());
			
			b64pfxBuf.append(java.util.Base64.getEncoder().encodeToString(baos.toByteArray()));
			break;
		}
	}
	return b64pfxBuf.toString();
}


 

分享到:
评论

相关推荐

    java keystore导出.pfx .key .crt 私钥

    Java KeyStore文件转换为微软的.pfx文件和OpenSSL的PEM格式文件(.key + .crt) 运行方式: JKS2PFX &lt;KeyStore文件&gt; &lt;KeyStore密码&gt; 别名&gt; &lt;导出文件名&gt; [Java Runtime的目录] Java Runtime的目录,指包含Java.exe和...

    SSL转换工具jks2pfx

    jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 将jks文件生成pfx文件的工具,亲测可以使用。 例如: 1、利用java自带命令生成密钥: keytool -genkey -v -...

    JKS2PFX证书转换工具

    本工具——JKS2PFX,专注于帮助用户将Java KeyStore(JKS)格式的证书转换为Microsoft的Personal Information Exchange(PFX)格式,这种格式在Windows系统及IIS服务器中更为常见。以下将详细介绍该工具的功能、使用...

    对密钥,密钥对,公钥,证书,私钥,jks,keystore,truststore,cer,pfx

    密钥、密钥对、公钥、证书、、私钥、jks、keystore、truststore、cer、pfx 等概念是信息安全领域中密钥管理和加密技术的重要组成部分。下面对这些概念进行详细的解释和说明: 1. 密钥:指的是公钥和私钥的统称。...

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

    ### Tomcat更换SSL证书方法(JKS与PFX转换) 在IT行业中,为了保障网络通信的安全性,使用SSL证书加密已经成为了一种标准做法。对于使用Tomcat作为应用服务器的企业或个人来说,有时候会遇到需要更换SSL证书的情况,...

    jks2pfx2.rar

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

    javakeytool支持的类型及如何将证书导入jks中.docx

    BKS 来自 BouncyCastle Provider,它使用的也是 TripleDES 来保护密钥库中的 Key,它能够防止证书库被不小心修改(Keystore 的 keyentry 改掉 1 个 bit 都会产生错误),BKS 能够跟 JKS 互操作,读者可以用 Keytool ...

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

    jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件绝对路径 password:KeyStore文件对应的密码 alias:生成证书CSR时,所起的Alias别名 exportname:准备导出的文件名称 ...

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

    **JKS** (Java Keystore)是一种特定于Java平台的密钥和证书存储格式,主要用于存储Java应用程序所需的密钥对和证书。 **特点**: - 可以存储多个密钥对和证书。 - 提供了密码保护机制,确保密钥的安全性。 - JKS文件...

    JavaKeyStore文件查看器

    Java KeyStore(简称JKS)是Java平台提供的一种安全服务,用于存储用户的证书或密钥对,主要用于身份验证和加密操作。它是一个安全容器,可以理解为一个密码管理器,包含私钥、公钥以及相应的数字证书。在Java应用...

    kestore-export

    c:\temp\kestore-export\kestore-export&gt;JKS2PFX c:\temp\kestore-export\.keystore changeit tomcat c:\temp\kestore-export C:\Program Files (x86)\Java\jdk1.7.0_17\jre\bin Generating new PFX Key/Certificate...

    jks转pfx工具,用于nginx配置https

    jks2pfx -src keystore.jks -srcstorepass password -dest certificate.pfx ``` 其中,`-src`参数是jks文件路径,`-srcstorepass`是jks的密码,`-dest`是目标pfx文件路径。 4. **导入到Nginx**:生成pfx文件后,...

    pfx证书安装

    1. 证书格式:JKS和PFX是两种常见的证书格式,JKS格式证书是Java密钥库格式,PFX格式证书是PKCS#12格式。 2. 证书安装:证书安装是指将证书安装到服务器中,以便启用HTTPS协议。 3. openssl命令行工具:openssl是...

    jks转为bks

    BKS来自BouncyCastleProvider,它使用的也是TripleDES来保护密钥库中的Key,它能够防止证书库被不小心修改(Keystore的keyentry改掉1个bit都会产生错误),BKS能够跟JKS互操作。 JKS和JCEKS是Java密钥库(KeyStore)的...

    PKCS12与JKS格式转换器

    这里我们关注的是两种常见的密钥库格式:PKCS12(Personal Certificate Security Standard 12)和JKS(Java Key Store)。本文将深入探讨这两种格式,以及如何进行相互转换。 PKCS12是一种由RSA Security开发的标准...

    数字证书查看、拆分和格式转换工具

    例如,当需要将一个Java应用部署到支持不同类型的keystore格式的服务器时,或者在跨平台的环境中,可能需要将JKS格式的keystore转换为PKCS#12(PFX或P12)格式,然后从中提取crt和key。这通常涉及到使用OpenSSL或...

    ftps和https双向认证demo

    1. **导入PFX证书到JKS**:使用`keytool`命令行工具,将`.pfx`文件导入到Java的`jks` keystore中,设置相应的密码。 2. **配置Keystore和Truststore**:在Java应用程序中,通过`System.setProperty`设置`javax.net....

Global site tag (gtag.js) - Google Analytics