Is the below java code valid:
public static boolean matchKeys(PrivateKey privKey, X509Certificate c1)
{
try {
RSAPrivateCrtKey privk = (RSAPrivateCrtKey)privKey;
RSAPublicKeySpec publicKeySpec = new RSAPublicKeySpec(
privk.getModulus(), privk.getPublicExponent());
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);
System.out.println("MATCH ?"+publicKey.equals(c1.getPublicKey()));
return publicKey.equals(c1.getPublicKey());
} catch (NoSuchAlgorithmException | InvalidKeySpecException |
IllegalArgumentException e)
{
e.printStackTrace();
return false;
}
}