### Question:
JCECrypto implements Crypto { @Override public String getRsaPublicKeyFingerprint(RSAPublicKey key) throws IllegalArgumentException { return getRsaPublicKeyFingerprint(provider, key); } JCECrypto(Provider provider); @Override byte[] encryptRSA(byte[] message, PublicKey publicKey); @Override byte[] decryptRSA(byte[] message, PrivateKey privateKey); @Override RSAPublicKey getRSAPublicKeyFromPEM(String publicKey); @Override byte[] sha256(byte[] input); @Override byte[] sha384(byte[] input); @Override byte[] sha512(byte[] input); @Override String getRsaPublicKeyFingerprint(RSAPublicKey key); @Override String getRsaPublicKeyFingerprint(RSAPrivateKey key); static RSAPrivateKey getRSAPrivateKeyFromPEM(Provider provider, String pem); static RSAPublicKey getRSAPublicKeyFromPEM(Provider provider, String pem); static String getRsaPublicKeyFingerprint(Provider provider, RSAPrivateKey key); static String getRsaPublicKeyFingerprint(Provider provider, RSAPublicKey key); static String getPEMFromRSAPublicKey(RSAPublicKey publicKey); static String getPEMFromRSAPrivateKey(RSAPrivateKey privateKey);  }### Answer:
@Test public void testGetRsaPublicKeyFingerprintWithPrivateKeyReturnsProperFingerprint() throws Exception { assertEquals(PUBLIC_KEY_FINGERPRINT, crypto.getRsaPublicKeyFingerprint(rsaPrivateKey)); }
@Test public void testGetRsaPublicKeyFingerprintWithPublicKeyReturnsProperFingerprint() throws Exception { assertEquals(PUBLIC_KEY_FINGERPRINT, crypto.getRsaPublicKeyFingerprint(rsaPublicKey)); }