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