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.");
}
}