java读取pfx或P12格式的个人交换库公私钥
生活随笔
收集整理的這篇文章主要介紹了
java读取pfx或P12格式的个人交换库公私钥
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用的是CFCA簽發的用于銀行間交換數據的證書,下載后直接添加到瀏覽器中
1、導出
從瀏覽器導出p12文件(包含私鑰)
2、驗證
兩種方式:
openssl
代碼(請注意alias別名是如何獲取的):
package com.shengpay.mas.demo.cert;import org.apache.commons.codec.binary.Base64;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.security.*; import java.security.cert.*; import java.security.cert.Certificate; import java.util.Enumeration;/*** Description: 讀取P12格式的個人交換庫* <p>* User: lishaohua* Date: 2017/12/27 12:51*/ public class P12Demo {public static void main(String[] args) throws KeyStoreException, IOException, CertificateException, NoSuchAlgorithmException, UnrecoverableKeyException {String keyStorePath = "D:/123456.pfx";String password = "123456";// 實例化密鑰庫,默認JKS類型KeyStore ks = KeyStore.getInstance("PKCS12");// 獲得密鑰庫文件流FileInputStream is = new FileInputStream(keyStorePath);// 加載密鑰庫ks.load(is, password.toCharArray());// 關閉密鑰庫文件流is.close();//私鑰Enumeration aliases = ks.aliases();String keyAlias = null;if (aliases.hasMoreElements()){keyAlias = (String)aliases.nextElement();System.out.println("p12's alias----->"+keyAlias);}PrivateKey privateKey = (PrivateKey) ks.getKey(keyAlias, password.toCharArray());String privateKeyStr = Base64.encodeBase64String(privateKey.getEncoded());System.out.println("私鑰------------->" + privateKeyStr);//公鑰Certificate certificate = ks.getCertificate(keyAlias);String publicKeyStr = Base64.encodeBase64String(certificate.getPublicKey().getEncoded());System.out.println("公鑰------------->"+publicKeyStr);} }
3、使用
發布公鑰或者雙向認證等。
具體代碼略...
轉載于:https://www.cnblogs.com/huahua035/p/8125311.html
總結
以上是生活随笔為你收集整理的java读取pfx或P12格式的个人交换库公私钥的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 595. 大的国家
- 下一篇: 坑爹的去哪儿网订酒店经历