Quantcast
Channel: InvalidKeyException Illegal key size - Stack Overflow
Viewing all articles
Browse latest Browse all 7

InvalidKeyException Illegal key size

$
0
0

I have a test which runs great on my development MacBook Pro, but fails to run in continuous integration TeamCity server.

The error is following:

java.security.InvalidKeyException: Illegal key size    at javax.crypto.Cipher.a(DashoA13*..)    at javax.crypto.Cipher.init(DashoA13*..)    at javax.crypto.Cipher.init(DashoA13*..)

Both development box and TeamCity uses Java 1.6 and I use BouncyCastle library for the need of special AES encryption.

The code is following:

private byte[] aesEncryptedInfo(String info) throws UnsupportedEncodingException, IllegalBlockSizeException, BadPaddingException, InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidParameterSpecException, InvalidAlgorithmParameterException, NoSuchProviderException {    Security.addProvider(new BouncyCastleProvider());    SecretKey secret = new SecretKeySpec(CUSTOMLONGSECRETKEY.substring(0, 32).getBytes(), "AES");    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC");    cipher.init(Cipher.ENCRYPT_MODE, secret, new IvParameterSpec(VECTOR_SECRET_KEY.getBytes()));    return cipher.doFinal(info.getBytes("UTF-8"));}

UPDATE

Looks like according to the selected answer I have to modify something on my TeamCity installation and it will possibly affect some user installations - so its not a good choice I have to switch to another crypto library to do that without limitations. So probably bouncy castle will help.

UPDATE 2

I actually switched to use BouncyCastle to avoid this limitation. Note this only works if you use own BC classes directly, not the BC provider.


Viewing all articles
Browse latest Browse all 7

Latest Images

Trending Articles



Latest Images