Java程式設計: 從KeyStore中獲取私鑰與證書
阿新 • • 發佈:2019-02-08
用keytool可以生成JSK型別的keystore,其中可以存放很多個Key(私鑰和對應的證書)。
import java.io.*; import java.security.*; import java.security.cert.*; import java.util.*; import java.math.*; import sun.security.x509.*; import javax.crypto.*; public static void Test1() throws Exception { //讀取keystore檔案到KeyStore物件 FileInputStream in = newFileInputStream("d:/.keystore"); KeyStore ks= KeyStore.getInstance("JKS");// JKS: Java KeyStoreJKS,可以有多種型別 ks.load(in,"123456".toCharArray()); in.close(); //從keystore中讀取證書和私鑰 String alias= "orbitca"; // 記錄的別名 String pswd= "111111"; // 記錄的訪問密碼 java.security.cert.Certificate cert =ks.getCertificate(alias); PublicKeypublicKey = cert.getPublicKey(); PrivateKeyprivateKey = (PrivateKey) ks.getKey(alias,pswd.toCharArray()); }