### Question:
JCECrypto implements Crypto { @Override public byte[] encryptRSA(byte[] message, PublicKey publicKey) { return processRSA(message, publicKey, Cipher.ENCRYPT_MODE); } 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 testEncryptRSA() throws Exception { String expected = "This is the expected unencrypted value"; String actual = new String(crypto.decryptRSA(crypto.encryptRSA(expected.getBytes(), rsaPublicKey), rsaPrivateKey)); assertEquals(expected, actual); }