Parse Private and PublicKey in java

This is a code to generate RSA keyPair and then Extract the component from This public and private Key. It will use who are interested to work with security related task in java.
  KeyPairGenerator generator =KeyPairGenerator.getInstance("RSA");
        RSAKeyGenParameterSpec spec = new RSAKeyGenParameterSpec(1024,new BigInteger("03"));
        generator.initialize(spec, new SecureRandom());

        KeyPair keyPair = generator.generateKeyPair();

        System.out.println("Testing Public Key");
        RSAPublicKey pubKey = (RSAPublicKey)keyPair.getPublic();
        RSAPrivateCrtKey rsaPrivateCrtKey = (RSAPrivateCrtKey) keyPair.getPrivate();
        System.out.println("PARSED Property.................................Public Key..........................................");

        System.out.println("Public Key "+pubKey);
        System.out.println();
        System.out.println("Public Key in HEX format  \n"+DatatypeConverter.printHexBinary(pubKey.getEncoded()));

        System.out.println("Public key Modulus "+ pubKey.getModulus());
        System.out.println("Public key Exponent "+pubKey.getPublicExponent());

        System.out.println("PARSED Property.................................Private Key..........................................");

        System.out.println("Private Key "+rsaPrivateCrtKey);
        System.out.println();
        System.out.println("Private Key in HEX format  \n"+ DatatypeConverter.printHexBinary(keyPair.getPrivate().getEncoded()));

        System.out.println("P = "+DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getPrimeP().toByteArray()));
        System.out.println("Q = "+DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getPrimeQ().toByteArray()));
        System.out.println("CRT_DP1 = " + DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getPrimeExponentP().toByteArray()));
        System.out.println("CRT_DQ1 = "+DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getPrimeExponentQ().toByteArray()));
        System.out.println("CRT_PQ1 = "+DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getCrtCoefficient().toByteArray()));
        System.out.println("MOD_EXP = "+DatatypeConverter.printHexBinary(rsaPrivateCrtKey.getPrivateExponent().toByteArray()));

Reactions

Post a Comment

0 Comments