- feat!: Updates to the AWS Encryption SDK. d60db0b
- AWS KMS KeyIDs must be specified explicitly or Discovery mode explicitly chosen. Key committing suites are now default. CommitmentPolicy requires commitment by default.
See: https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/migration.html
- feat: Updates to the AWS Encryption SDK. bdb31dc
- Validate final frame length does not exceed the frame size in the message header PR #166
- Validate entire ciphertext has been processed before returning PR #191
- Update AWS Java SDK version from 1.11.561 to 1.11.704. PR #186
- Upgrade Bouncy Castle from 1.61 to 1.65 PR #179
-
Deprecated
AwsCrypto.encryptString()
andAwsCrypto.decryptString()
. Replace your calls to these methods with calls to AwsCrypto.encryptData() and AwsCrypto.decryptData(). Unlike the deprecated methods, these methods don't perform any Base64 encoding or decoding, so they are fully compatible with other language implementations of the AWS Encryption SDK.If you need Base64 encoding or decoding for your application, you can add it outside of the AWS Encryption SDK. PR #120
- Add support for standard test vectors via
testVectorZip
system property. PR #127 - Remove all explicit cryptographic dependencies on BouncyCastle. The AWS Encryption SDK for Java still uses Bouncy Castle for other tasks. PRs #128, #129, #130, #131, and #132.
- 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.
- Added 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