it-swarm.com.de

Wie kann ein öffentlicher RSA-Schlüssel aus einem Byte [] - Array wiederhergestellt werden?

Ich frage mich, ob es möglich ist, einen öffentlichen RSA-Schlüssel wiederherzustellen, den ich zuvor in ein Byte-Array konvertiert habe.

byte[] keyBytes = publicKey.getEncoded();

Danke für die Hilfe.

43
kiewic
PublicKey publicKey = 
    KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(bytes));

Weitere Informationen siehe dieses Tutorial

85
Bozho

Für andere, die anstelle eines öffentlichen Schlüssels einen privaten Schlüssel vom Byte-Array erhalten möchten:

PrivateKey privateKey = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(privateKeyBytes));
33
Marko Kotar

Gute Antwort. Danke für den Link. Nur zur Vervollständigung fand ich diesen Konvertierten geheimen Schlüssel in Bytes, wie kann ich ihn zurück in einen sicheren Schlüssel konvertieren?

SecretKey key2 = new SecretKeySpec(data, 0, data.length, "DES");

und hat sehr gut funktioniert.