- Remove dependency on Apache Commons Codec 1.12.
- Use Base64 encoder from Bouncy Castle.
- Introduce and use utility methods for Base64 encoding/decoding so that switching the codec provider needs to be done only in one place next time.
- Add dependency on Apache Commons Codec 1.12.
- Use org.apache.commons.codec.binary.Base64 instead of java.util.Base64 so that the SDK can be used on systems that do not have java.util.Base64 but support Java 8 language features.
- Upgrade AWS Java SDK version from 1.11.169 to 1.11.561.
- Upgrade Mockito from 2.23.4 to 2.28.1.
- Upgrade Apache Commons Lang from 3.4 to 3.9.
- Cast ByteBuffer to Buffer prior to using some methods so that it works properly in Java 8.
- Increased BouncyCastle dependency version to 1.61
- Removed explicit use of BouncyCastle from all cryptography except for EC key generation and RSA encryption/decryption
- Increased Mockito test dependency version to 2.23.4
- Fixed typos in Exception messages (excryption -> encryption) #78
- Fixed DecryptionMaterialsRequest.Builder to copy EncryptionContext #77
- JML Specifications for CipherBlockHeaders #74
- Minor Java code cleanup #73
- Added JML specs in #72
- Ensure that KeyBlob treats field lengths as unsigned shorts #71
- Restored the KMS client cache with a fix for the memory leak.
- When using a master key provider that can only service a subset of regions (e.g. using the deprecated constructors), and requesting a master key from a region not servicable by that MKP, the exception will now be thrown on first use of the MK, rather than at getMasterKey time.
- Removed the KMS client cache, which could result in a memory leak when decrypting certain malformed ciphertexts. This may reduce performance slightly in some scenarios.
- Move the
aws-encryption-sdk-java
repository fromawslabs
toaws
. - Log a warning when an unsupported asymmetric algorithm is used with
JceMasterKey
- Make
JceMasterKey
case insensitive - Fix bare aliases not using default region
- Frame size restriction removed again
- Support Builders for use with AWS KMS
- Fix estimateCipherText when used with cached data keys
- Do not automatically set a default region in KmsMasterKeyProvider
- Frame sizes are once again required to be aligned to 16 bytes This restriction was relaxed in 1.3.0, but due to compatibility concerns we'll put this restriction back in for the time being.
- Synchronized version numbers with the Python release
- Added cryptographic materials managers
- Added data key caching
- Moved to deterministic IV generation
- Added changelog
- Made elliptic curve signatures length deterministic
- Various minor improvements