/** * 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"));