`
jrails
  • 浏览: 100858 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

证书格式转换

 
阅读更多

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.security.Key;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.util.Enumeration;

import org.apache.commons.lang.ArrayUtils;

/**
 * jks pfx 证书转换
 * @author HEQIANG537
 * @date 2011.02.18
 * 
 */
public class ConventPFX {
	public static final String PKCS12 = "PKCS12";

	public static final String JKS = "JKS";

//	public static final String PFX_KEYSTORE_FILE = "D:/BIS工作记录/bis1.2.1/EXV_BIS_IFRONT_PCIS_XYZ_001_PRD.pfx";
	public static final String PFX_KEYSTORE_FILE = "EXV_BIS_IFRONT_PCIS_XINGLI_001_STG.pfx";

	public static final String KEYSTORE_PASSWORD = "XXXXXX";

	public static final String JKS_KEYSTORE_FILE = "EXV_BIS_IFRONT_PCIS_PTPTAOBAO_001_STG.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();
		}
	}
	private static String[] idtypes = {"1","2","3","5","6","7","8","A","B","C","D","E","F","G","H","I","J","K","L"};
	private static String[] sexcodes = {"F","M"};
	public static void main(String[] args) {
		System.out.println("hello");
		//coverToPfx(); // jks to pfx
		 coverTokeyStore(); // pfx to jks
		//System.out.println(ArrayUtils.contains(idtypes, "1"));
		 
	}
}

分享到:
评论

相关推荐

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

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

    portecle 证书格式转换

    **SSL证书格式转换详解** 在数字证书领域,SSL(Secure Sockets Layer)证书是用于确保网站数据传输安全的重要工具。SSL证书通过加密通信,保护用户的敏感信息不被窃取,通常用于电子商务、登录验证等场景。然而,...

    利用OpenSSL命令进行SSL证书格式转换(Certificates Formats).docx

    OpenSSL 命令进行 SSL 证书格式转换 在本文中,我们将探索使用 OpenSSL 命令进行 SSL 证书格式转换的方法。SSL 证书格式转换是网站管理员和开发者经常遇到的一个问题,无论是从商家购买的 SSL 证书还是自己免费获取...

    SSL证书格式转换工具

    SSL证书格式转换工具,图形界面,简洁方便

    pvk程序用于证书格式转换

    本文将详细讲解"pvk程序用于证书格式转换"这一主题,包括X509PEM证书、PVK和SPC格式,以及如何使用pvk.exe工具进行转换。 首先,X509PEM证书是一种常见的数字证书格式,广泛应用于互联网和企业环境中。PEM(Privacy...

    SSL证书生成软件、包括转换证书格式

    SSL证书生成软件、包括转换证书格式

    portecle工具

    Portecle是一款强大的密钥管理和SSL/TLS证书处理工具,尤其在进行数字证书格式转换时非常有用。在HTTPS通信中,安全是至关重要的,而证书是保障这种安全性的基础。本文将详细介绍如何使用Portecle工具进行不同类型的...

    keystoke证书转换nginx证书工具

    标题提到的"keystoke证书转换nginx证书工具"是一个帮助管理员处理SSL/TLS证书的实用程序,特别针对从Java的`keytool.exe`生成的`.keystore`格式证书进行转换。`keytool`是Java Development Kit (JDK) 自带的一个...

    自动化脚本一键生成Nginx https证书证书格式为pem

    总结,本文介绍了自动化脚本生成Nginx HTTPS PEM证书的方法,涉及了生成RSA密钥对、创建CSR、获取证书、配置Nginx以及证书格式转换等关键步骤。了解并掌握这一过程,对于管理和维护安全的Web服务至关重要。

    证书格式转化pfx转化为pem

    ### 证书格式转换:PFX转PEM #### 前言 在处理数字证书时,经常需要在不同的格式之间进行转换,以便适应各种应用场景的需求。例如,在使用PHP中的`openssl_pkcs7_sign()`函数进行签名操作时,该函数只接受PEM格式...

    pfx证书安装

    3. openssl命令行工具:openssl是常用的命令行工具,可以完成证书格式转换、证书生成等操作。 4. Tomcat服务器:Tomcat是流行的Web服务器软件,支持JKS和PFX格式证书。 5. HTTPS协议:HTTPS协议是安全的HTTP协议,...

    自签证书制作

    3.证书格式转换操作记录 openssl生成的pem格式证书转换为p12(pfx/pkcs12)、jks格式证书 keytool生成的jks证书转换为 p12(pfx/pkcs12)、pem格式证书 4。证书安全说明 常用crt/cer、pem、p12/pfx、jks解释说明

    证书转换生成工具protecle

    2. **证书格式**:常见的证书格式有PEM(Privacy Enhanced Mail)、DER(Distinguished Encoding Rules,二进制格式)和PKCS#12(Public Key Cryptography Standards #12)。每种格式都有其特定的应用场景和优势。 ...

    [PKI]常见证书格式和转换

    ### 常见证书格式与转换详解 #### PKI与证书格式概述 公钥基础设施(Public Key Infrastructure,简称PKI)是一种基于公钥加密技术的安全框架,它通过一系列的策略和技术来确保数字通信的安全性。在PKI体系中,证书...

    SSL中各证书的转换

    本文将详细介绍如何在不同的证书格式之间进行转换,包括从`.cer`到`.jks`、从`.jks`到`.cer`、从`.p12`到`.pem`以及从`.cer`到`.pem`的过程。 ### 1. `.cer`格式转换至`.jks`格式 #### 背景介绍 `.cer`文件通常...

    数字证书格式详细说明

    数字证书格式详细说明 数字证书是公钥加密系统中不可或缺的一部分,它用于身份验证、数据加密和数字签名。常见的数字证书格式有 X.509,它定义了两种证书:公钥证书和属性证书。 X.509 证书格式由以下部分组成: ...

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

    本文将深入探讨“数字证书查看、拆分和格式转换工具”这一主题,涉及的关键词包括“SSL”、“keystore”、“crt”和“key”。 首先,让我们了解SSL(Secure Sockets Layer)和它的升级版TLS(Transport Layer ...

    用OpenSSL把二进制的Cer证书转换程Base64格式的PEM格式的证书.docx

    常见的证书格式有DER(二进制编码的X.509)、PEM(Privacy Enhanced Mail)和Base64编码。其中,PEM格式的证书通常是以Base64编码的文本形式...同时,了解这些基本的证书格式和转换方法也是提升IT安全素养的重要一环。

    p12证书转换

    转换p12证书可能有多种原因,例如,用户可能需要将证书导入到不支持PKCS#12格式的应用中,或者需要将其转换为其他类型的证书格式,如PEM或DER。转换过程通常涉及到解密p12文件,提取其中的私钥和证书,然后根据需求...

    超星pdz格式转换pdf方法

    超星pdz格式转换pdf方法 超星pdz格式转换pdf方法是指将超星pdz格式的文件转换为pdf格式的文件,这种方法主要应用于数字出版领域,旨在解决超星pdz格式文件的兼容性问题。下面将详细介绍超星pdz格式转换pdf方法的...

Global site tag (gtag.js) - Google Analytics