View Javadoc
1   package civitas.crypto.rsapublickey;
2   
3   import java.security.PublicKey;
4   import java.security.spec.InvalidKeySpecException;
5   import java.security.spec.X509EncodedKeySpec;
6   import java.util.Base64;
7   
8   import org.bouncycastle.crypto.CryptoException;
9   import org.springframework.beans.factory.annotation.Autowired;
10  import org.springframework.stereotype.Service;
11  
12  import civitas.crypto.CryptoBase;
13  
14  @Service
15  public class ConvertStringToPublicKey {
16  
17  	@Autowired
18  	CryptoBase cryptoBase;
19  
20  	public PublicKey apply(final String publicK) throws CryptoException {
21  		byte[] publicBytes = Base64.getDecoder().decode(publicK);
22  		X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicBytes);
23  		try {
24  			return cryptoBase.publicKeyFactory.generatePublic(keySpec);
25  		} catch (InvalidKeySpecException e) {
26  			throw new CryptoException("cannot convert", e);
27  		}
28  	}
29  }