1 package civitas.crypto.rsapublickey;
2
3 import java.security.PrivateKey;
4
5 import javax.crypto.Cipher;
6
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.stereotype.Controller;
9
10 import civitas.crypto.Constants;
11 import civitas.crypto.CryptoBase;
12 import civitas.crypto.publickeyciphertext.PublicKeyCiphertext;
13
14 @Controller
15 public class DecryptPublic implements Constants {
16 @Autowired
17 CryptoBase cryptoBase;
18
19 public String apply(final PrivateKey key, final PublicKeyCiphertext ciphertext) {
20 byte[] plaintext = cryptoBase.doCrypto(
21 PUBLIC_KEY_CIPHER_ALG, PUBLIC_KEY_PROVIDER, key, Cipher.DECRYPT_MODE, ciphertext.encryptedBytes);
22 return new String(plaintext, CHARSET);
23 }
24 }