public static KeyPairHolder createKeyPair()

in src/main/java/org/apache/fineract/cn/lang/security/RsaKeyPairFactory.java [62:83]


  public static KeyPairHolder createKeyPair() {
    try {
      final KeyFactory keyFactory = KeyFactory.getInstance("RSA");

      final KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
      keyPairGenerator.initialize(2048);
      final KeyPair keyPair = keyPairGenerator.genKeyPair();

      final RSAPublicKeySpec rsaPublicKeySpec =
          keyFactory.getKeySpec(keyPair.getPublic(), RSAPublicKeySpec.class);
      final RSAPrivateKeySpec rsaPrivateKeySpec =
          keyFactory.getKeySpec(keyPair.getPrivate(), RSAPrivateKeySpec.class);

      final String keyTimestamp = createKeyTimestampNow();
      final RSAPublicKey publicKey = (RSAPublicKey) keyFactory.generatePublic(rsaPublicKeySpec);
      final RSAPrivateKey privateKey = (RSAPrivateKey) keyFactory.generatePrivate(rsaPrivateKeySpec);

      return new KeyPairHolder(keyTimestamp, publicKey, privateKey);
    } catch (final NoSuchAlgorithmException | InvalidKeySpecException e) {
      throw new IllegalStateException("RSA problem.");
    }
  }