Guest User

Untitled

a guest
Jul 22nd, 2015
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. package com.direnode.forgevotifier.cryptography;
  2.  
  3. import javax.xml.bind.DatatypeConverter;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.security.KeyFactory;
  7. import java.security.KeyPair;
  8. import java.security.PrivateKey;
  9. import java.security.PublicKey;
  10. import java.security.spec.PKCS8EncodedKeySpec;
  11. import java.security.spec.X509EncodedKeySpec;
  12.  
  13. public class RSARead{
  14.  
  15. public static KeyPair load(String directory) throws Exception {
  16. // Read the public key file.
  17. File publicKeyFile = new File(directory + "/PublicKey.key");
  18. FileInputStream in = new FileInputStream(directory + "/PublicKey.key");
  19. byte[] encodedPublicKey = new byte[(int) publicKeyFile.length()];
  20. in.read(encodedPublicKey);
  21. encodedPublicKey = DatatypeConverter.parseBase64Binary(new String(encodedPublicKey));
  22. in.close();
  23.  
  24. // Read the private key file.
  25. File privateKeyFile = new File(directory + "/PrivateKey.key");
  26. in = new FileInputStream(directory + "/PrivateKey.key");
  27. byte[] encodedPrivateKey = new byte[(int) privateKeyFile.length()];
  28. in.read(encodedPrivateKey);
  29. encodedPrivateKey = DatatypeConverter.parseBase64Binary(new String(encodedPrivateKey));
  30. in.close();
  31.  
  32. // Instantiate and return the key pair.
  33. KeyFactory keyFactory = KeyFactory.getInstance("RSA");
  34. X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(encodedPublicKey);
  35. PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
  36. PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(encodedPrivateKey);
  37. PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);
  38. return new KeyPair(publicKey, privateKey);
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment