Giriş
Bu sınıf PKCS 8 private key formatından PrivateKey nesnesine geçiş için kullanılır. PKCS 8 formatı RSA tarafından geliştirilmştir.
Şöyle yaparız.
Örnek
Şöyle yaparız. Dosya encode edilmemiş PKCS 8 bilgisi içerir.
Eğer dosya PEM olarak encode edilmiş ise şöyle yaparız. PEM'in başındaki string atılır, Base64 veri binary hale çevrilir ve kullanılır.
Bu sınıf PKCS 8 private key formatından PrivateKey nesnesine geçiş için kullanılır. PKCS 8 formatı RSA tarafından geliştirilmştir.
Şöyle yaparız.
byte[] keyBytes = Files.readAllBytes(new File(filename).toPath());
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey pk = kf.generatePrivate(spec);
constructorÖrnek
Şöyle yaparız. Dosya encode edilmemiş PKCS 8 bilgisi içerir.
byte[] keyBytes = Files.readAllBytes(new File(filename).toPath());
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(keyBytes);
ÖrnekEğer dosya PEM olarak encode edilmiş ise şöyle yaparız. PEM'in başındaki string atılır, Base64 veri binary hale çevrilir ve kullanılır.
public PrivateKey getPemPrivateKey(String filename, String algorithm) throws Exception {
File f = new File(filename);
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
byte[] keyBytes = new byte[(int) f.length()];
dis.readFully(keyBytes);
dis.close();
String temp = new String(keyBytes);
String privKeyPEM = temp.replace("-----BEGIN PRIVATE KEY-----\n", "");
privKeyPEM = privKeyPEM.replace("-----END PRIVATE KEY-----", "");
Base64 b64 = new Base64();
byte [] decoded = b64.decode(privKeyPEM);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(decoded);
KeyFactory kf = KeyFactory.getInstance(algorithm);
return kf.generatePrivate(spec);
}
Hiç yorum yok:
Yorum Gönder