splitshade
Mitglied
Hi Leute,
ich spiele z.Zt etwas mit Verschlüsselung in Java. Hierbei ist mir ein Problem aufgefallen.
Wie in aller Welt importiere ich einen Public Key z.B. von einem Public-Key-Server?
Ich habs folgendermassen probiert (Key liegt in einem File lokal auf der Platte).
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[bis.available()];
bis.read(buffer,0,bis.available());
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKey pubKey = (RSAPublicKey)keyFactory.generatePublic(keySpec);
Was ich aber statt meinem PublicKey bekomme ist:
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: invalid key format
at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:163)
at java.security.KeyFactory.generatePublic(KeyFactory.java:304)
at edu.fhm.cs.vss5chat.rsafactory.ChatServerLocalKeyFactoryImpl.loadKeys(ChatServerLocalKeyFactoryImpl.java:41)
at edu.fhm.cs.vss5chat.TestMain.main(TestMain.java:22)
Der Key ist in Ordnung, das ist also auf keinen Fall das Problem.
Irgendwelche Tipps?
Danke euch
Gruss
Martin
ich spiele z.Zt etwas mit Verschlüsselung in Java. Hierbei ist mir ein Problem aufgefallen.
Wie in aller Welt importiere ich einen Public Key z.B. von einem Public-Key-Server?
Ich habs folgendermassen probiert (Key liegt in einem File lokal auf der Platte).
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[bis.available()];
bis.read(buffer,0,bis.available());
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(buffer);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKey pubKey = (RSAPublicKey)keyFactory.generatePublic(keySpec);
Was ich aber statt meinem PublicKey bekomme ist:
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: invalid key format
at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:163)
at java.security.KeyFactory.generatePublic(KeyFactory.java:304)
at edu.fhm.cs.vss5chat.rsafactory.ChatServerLocalKeyFactoryImpl.loadKeys(ChatServerLocalKeyFactoryImpl.java:41)
at edu.fhm.cs.vss5chat.TestMain.main(TestMain.java:22)
Der Key ist in Ordnung, das ist also auf keinen Fall das Problem.
Irgendwelche Tipps?
Danke euch
Gruss
Martin