PDA

View Full Version : [java] load private key


altropinto
08-03-2008, 19:19
Salve,
devo caricare la chiave privata (hostkey.pem) in formato PEM nel keystore.
Lo devo fare da un programma JAVA.

Se converto la chiave in formato der, non ci sono problemi.....ma se voglio caricare direttamente la chiave in formato PEM non riesco a farlo.

Questo è il pezzo di codice per caricare la chiave in formato DER:

// loading Key
InputStream fl = fullStream(keyfile);
byte[] key = new byte[fl.available()];
KeyFactory kf = KeyFactory.getInstance("RSA");
fl.read(key, 0, fl.available());
fl.close();
PKCS8EncodedKeySpec keysp = new PKCS8EncodedKeySpec(key);
PrivateKey ff = kf.generatePrivate(keysp);

Vorrei fare la stessa cosa però con la chiave in formato pem.
Qualcuno mi può aiutare?????


Inoltre vorrei effettuare, sempre da un programma java, la conversione della chiave dal formato PEM al formato DER. Qualcuno mi sa dire come si fa????

altropinto
09-03-2008, 11:47
nessuna idea?????

altropinto
10-03-2008, 10:07
Il PEMReader è la funzione adatta?????

L'ho provata ma mi dà errore....

PEMReader pemReader = new PEMReader(new FileReader(keyfile));
KeyPair keypair = (KeyPair) pemReader.readObject();
PrivateKey ff = (RSAPrivateKey)keypair.getPrivate();

L'errore è:

java.io.IOException: problem creating RSA private key: java.security.NoSuchProviderException: no such provider: BC
at org.bouncycastle.openssl.PEMReader.readObject(Unknown Source)

Cosa sbaglio?