java中怎么读取.pem格式文件中的 PrivateKey
在网上找了很久,发现以下代码:
BufferedReader br = new BufferedReader(new FileReader("my-prvkey.pem"));
String s = br.readLine();
String str = "";
s = br.readLine();
while (s.charAt(0) != ’-’){
str += s + "\r";
s = br.readLine();
}
//编码转换,进行BASE64解码
BASE64Decoder base64decoder = new BASE64Decoder();
byte[] b = base64decoder.decodeBuffer(str);
//生成私匙
KeyFactory kf = KeyFactory.getInstance("RSA");
//X509EncodedKeySpec keySpec = new X509EncodedKeySpec(b);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(b);
//PublicKey privateKey = kf.generatePublic(keySpec);
PrivateKey privateKey = kf.generatePrivate(keySpec);
-----------------------------------------------------
上面的代码好像不行,哪们大歌大姐看看代码有什么问题,或者有更好的办法,不胜感激