2.4.0 (2022-03-09)
- AWS SDK v2 support (006cdc4)
- Revert "AWS Encryption SDK 2.4.0 Release -- $(date +%Y-%m-%d)" (7563a95)
- Add back removed CiphertextHeaders.deserialize method (#382) (c1f3e63)
- add build to support uploading artifacts (#379) (69e7914)
- Add CODEOWNERS file (#406) (b9adf9f)
- add javadoc update to batch build (#376) (d88190b)
- Adding semantic release config file (#346) (6201c1a)
- ci: change release vars (#578) (de99b56)
- deps-dev: bump junit-jupiter-api from 5.7.2 to 5.8.0 (#339) (6dfaef9)
- deps-dev: bump junit-jupiter-api from 5.8.0 to 5.8.1 (#347) (7d3bb0a)
- deps-dev: bump junit-jupiter-api from 5.8.1 to 5.8.2 (#427) (7de569a)
- deps-dev: bump junit-vintage-engine from 5.7.2 to 5.8.0 (#337) (2338b92)
- deps-dev: bump junit-vintage-engine from 5.8.0 to 5.8.1 (#348) (d0221cf)
- deps-dev: bump junit-vintage-engine from 5.8.1 to 5.8.2 (#426) (065ab94)
- deps-dev: bump mockito-core from 3.12.3 to 3.12.4 (#323) (0208d0d)
- deps-dev: bump mockito-core from 4.0.0 to 4.1.0 (#441) (8dfda1a)
- deps-dev: bump mockito-core from 4.1.0 to 4.2.0 (#458) (a1b1885)
- deps-dev: bump mockito-core from 4.2.0 to 4.3.1 (#500) (a709e69)
- deps: bump aws-java-sdk from 1.12.102 to 1.12.105 (#404) (b87d8c6)
- deps: bump aws-java-sdk from 1.12.105 to 1.12.106 (#405) (dd633c0)
- deps: bump aws-java-sdk from 1.12.106 to 1.12.127 (#436) (91f6ffc)
- deps: bump aws-java-sdk from 1.12.127 to 1.12.128 (#437) (37078ec)
- deps: bump aws-java-sdk from 1.12.128 to 1.12.129 (#447) (6872c63)
- deps: bump aws-java-sdk from 1.12.129 to 1.12.131 (#463) (a98a321)
- deps: bump aws-java-sdk from 1.12.131 to 1.12.150 (#508) (433dc1b)
- deps: bump aws-java-sdk from 1.12.150 to 1.12.151 (#510) (70257a5)
- deps: bump aws-java-sdk from 1.12.151 to 1.12.162 (#541) (22abc6c)
- deps: bump aws-java-sdk from 1.12.54 to 1.12.68 (#341) (291be0a)
- deps: bump aws-java-sdk from 1.12.68 to 1.12.73 (#350) (153a0b3)
- deps: bump aws-java-sdk from 1.12.73 to 1.12.74 (#351) (e5f3962)
- deps: bump aws-java-sdk from 1.12.74 to 1.12.75 (#353) (3339c20)
- deps: bump aws-java-sdk from 1.12.75 to 1.12.102 (#400) (98b079c)
- deps: bump bcprov-ext-jdk15on from 1.69 to 1.70 (#439) (969852a)
- deps: bump build-helper-maven-plugin from 3.2.0 to 3.3.0 (#473) (4f7d08c)
- deps: bump fmt-maven-plugin from 2.12 to 2.13 (#429) (e5d8c32)
- deps: bump maven-compiler-plugin from 3.8.1 to 3.9.0 (#481) (369a049)
- deps: bump maven-javadoc-plugin from 3.3.0 to 3.3.1 (#333) (693e43f)
- deps: bump nexus-staging-maven-plugin from 1.6.11 to 1.6.12 (#546) (6fa782b)
- deps: bump nexus-staging-maven-plugin from 1.6.8 to 1.6.11 (#535) (0ab1db0)
- docs: update README get started example (#423) (da0fe89)
- docs: updating broken javadoc link (#366) (487be4b)
- moving and renaming buildspec.yml (#360) (e259caf)
- release updates (#369) (4b9d932)
- source controlling cfn templates that will be used for our release process (#345) (456dda0)
- update dependabot to update mainline-1.x (#440) (960f3e5)
- update gh token (#412) (f8ada9b)
- update release process (#396) (c0ff093)
- update releaserc to include pom.xml file (#357) (63e2f05)
- update token name and timeout (#411) (c0d5a0e)
- updating prod template to remove resources and abstract ones (#354) (ecc17a6)
- Upgrade mockito to 4.0.0 (#438) (629dbfd)
- chore(deps): bump aws-java-sdk from 1.12.26 to 1.12.54 (#299) (#301) (#302) (#301) (#311) (#312) (#315) (#317) (#319) (#321)
- chore: Bump fmt-maven-plugin from 2.11 to 2.12 (#318)
- chore: Bump mockito-core from 3.11.2 to 3.12.3 (#316) (#320)
- CI: Compilation with OpenJDK11 and validation with other JDKs (#293)
- Bump maven-gpg-plugin from 1.6 to 3.0.1 (#259)
- chore(deps): bump aws-java-sdk from 1.11.704 to 1.12.26 (#284) (#281) (#280) (#278)
- Bump maven-javadoc-plugin from 3.0.1 to 3.3.0 (#267)
- chore: Bump maven-compiler-plugin from 3.8.0 to 3.8.1 (#276)
- chore: Bump fmt-maven-plugin from 2.10 to 2.11 (#275)
- chore: Bump junit-vintage-engine from 5.7.1 to 5.7.2 (#268)
- chore: Bump mockito-core from 3.8.0 to 3.11.2 (#270)
- chore: Add support policy (#274)
- fix: read project properties from package's own ClassLoader (PR #269)
-
feat: AWS KMS multi-Region Key support
Added new the master key AwsKmsMrkAwareMasterKey and the new master key provider AwsKmsMrkAwareMasterKeyProvider that support AWS KMS multi-Region Keys.
See https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html for more details about AWS KMS multi-Region Keys.
See https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/configure.html#config-mrks for more details about how the AWS Encryption SDK interoperates with AWS KMS multi-Region keys.
-
feat: Improvements to the message decryption process.
See https://github.com/aws/aws-encryption-sdk-java/security/advisories/GHSA-55xh-53m6-936r
- feat!: Updates to the AWS Encryption SDK. 4678ffa
- 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. a6be12a
- 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