import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PublicKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.RSAPublicKeySpec;
public class CreateRSAKey {
public CreateRSAKey() {
try {
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(1024);
KeyPair kp = keyGen.generateKeyPair();
RSAPublicKey publicKeyGenerated = (RSAPublicKey) kp.getPublic();
System.out.println("\nOrignal Public Key:");
System.out.println(publicKeyGenerated);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
RSAPublicKeySpec rsaPublicKeySpec = new RSAPublicKeySpec(
publicKeyGenerated.getModulus(),
publicKeyGenerated.getPublicExponent());
PublicKey publicKey = keyFactory.generatePublic(rsaPublicKeySpec);
System.out.println("\nRe-built Public Key:");
System.out.println(publicKey.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new CreateRSAKey();
}
}