1 package civitas.crypto.publickeyciphertext;
2
3 import java.security.PublicKey;
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
13 @Controller
14 public class EncryptPublic implements Constants {
15 @Autowired
16 CryptoBase cryptoBase;
17
18 public PublicKeyCiphertext apply(final PublicKey key, final String msg) {
19 byte[] encrypted = cryptoBase.doCrypto(
20 PUBLIC_KEY_CIPHER_ALG, PUBLIC_KEY_PROVIDER, key, Cipher.ENCRYPT_MODE, msg.getBytes());
21 return new PublicKeyCiphertext(encrypted);
22 }
23 }