Advertisement
andgau

KeyPairFactory

Apr 23rd, 2018
2,614
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.38 KB | None | 0 0
  1. package es.sinjava.cifrando;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.nio.file.Files;
  6. import java.nio.file.StandardOpenOption;
  7. import java.security.Key;
  8. import java.security.KeyPair;
  9. import java.security.KeyPairGenerator;
  10. import java.security.NoSuchAlgorithmException;
  11. import java.security.PrivateKey;
  12. import java.security.PublicKey;
  13.  
  14. // Esta clase se encarga de generar un par de clave publicas y privada
  15. // Y las vuelca en dos archivos
  16.  
  17. public class KeyPairFactory {
  18.  
  19.     public static void main(String... args) throws NoSuchAlgorithmException, IOException {
  20.         System.out.println("Generamos el par de claves");
  21.         generateKeys();
  22.         System.out.println("Generadas con éxito");
  23.     }
  24.  
  25.     private static void generateKeys() throws IOException, NoSuchAlgorithmException {
  26.         KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
  27.         KeyPair keyPair = keyPairGenerator.generateKeyPair();
  28.         PublicKey publicKey = keyPair.getPublic();
  29.         PrivateKey privateKey = keyPair.getPrivate();
  30.         // Volcamos las dos claves
  31.         saveKey(publicKey, publicKey.getAlgorithm() + ".pub");
  32.         saveKey(privateKey, privateKey.getAlgorithm() + ".pri");
  33.  
  34.     }
  35.  
  36.     private static void saveKey(Key key, String fileName) throws IOException {
  37.         byte[] publicKeyBytes = key.getEncoded();
  38.         Files.write(new File(fileName).toPath(), publicKeyBytes, StandardOpenOption.CREATE);
  39.     }
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement