In my Java application (which use StandardPBEStringEncryptor
by jasypt), when I use the PBEWITHSHA256AND128BITAES-CBC-BC
algorithm instead of something weaker such as PBEWithMD5AndDES
, I get an exception saying I need to install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files.
But, as far as I know, AES 128 bit on it's own is always allowed since the export law limit for AES is 128 bit keys (for example if I use it in javax.crypto.Cipher
). SHA256 is also allowed on it's own...
Why is password based encryption of kind "SHA256 AND 128 BIT AES-CBC" not allowed? Does that use a longer key than 128 bit? (AES128 should use a 128 bits key by definition, so if the SHA256 makes it use a longer key it... makes no sense.)