1. 程式人生 > >Java程式設計: 從KeyStore中獲取私鑰與證書

Java程式設計: 從KeyStore中獲取私鑰與證書

用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());   
}