Advertisement
Guest User

Load private & public key

a guest
Dec 29th, 2014
410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.16 KB | None | 0 0
  1. import java.security.KeyFactory;
  2. import java.security.KeyPair;
  3. import java.security.KeyPairGenerator;
  4. import java.security.NoSuchAlgorithmException;
  5. import java.security.PrivateKey;
  6. import java.security.PublicKey;
  7. import java.security.SecureRandom;
  8. import java.security.Signature;
  9. import java.security.spec.InvalidKeySpecException;
  10. import java.security.spec.PKCS8EncodedKeySpec;
  11. import java.security.spec.X509EncodedKeySpec;
  12.  
  13. class parseKey{
  14.     public void parsekey(String serialzed_keyPrivate, String serialzed_keyPub) throws NoSuchAlgorithmException,  InvalidKeySpecException{
  15.        
  16.          byte[] encod_Private = serialzed_keyPrivate.getBytes();
  17.          byte[] encod_kPub = serialzed_keyPub.getBytes();
  18.          
  19.          PKCS8EncodedKeySpec formatted_private = new PKCS8EncodedKeySpec(encod_Private);
  20.          X509EncodedKeySpec formatted_public = new X509EncodedKeySpec(encod_kPub);
  21.          
  22.          KeyFactory kf = KeyFactory.getInstance("EC");
  23.          
  24.          PublicKey pub = kf.generatePublic(formatted_public);
  25.          PrivateKey priv = kf.generatePrivate(formatted_private);
  26.       }
  27. }
  28.  
  29. /*
  30. Error says: `Exception in thread "main" java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: invalid key format
  31.     at sun.security.ec.ECKeyFactory.engineGeneratePublic(ECKeyFactory.java:162)
  32.     at java.security.KeyFactory.generatePublic(KeyFactory.java:334)
  33.     at cobaECDSA.parseKey.parsekey(Sign.java:152(this is the "PublicKey pub = kf.generatePublic(formatted_public);" line))
  34.     at cobaECDSA.Sign.main(Sign.java:98 (this line is the method which called from the main class the line is "parseKey Parsekey = new parseKey(); Parsekey.parsekey(serialzed_keyPrivate, String serialzed_keyPub)" the method on string parameter  ))
  35. Caused by: java.security.InvalidKeyException: invalid key format
  36.     at sun.security.x509.X509Key.decode(X509Key.java:387)
  37.     at sun.security.x509.X509Key.decode(X509Key.java:403)
  38.     at sun.security.ec.ECPublicKeyImpl.<init>(ECPublicKeyImpl.java:68)
  39.     at sun.security.ec.ECKeyFactory.implGeneratePublic(ECKeyFactory.java:224)
  40.     at sun.security.ec.ECKeyFactory.engineGeneratePublic(ECKeyFactory.java:158)
  41.     ... 3 more`
  42. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement