Skip to content

Commit 701f811

Browse files
robin-awslavaleri
andauthored
feat: AWS KMS multi-Region Key support (#631)
Added new two new keyrings AwsKmsMrkAwareSymmetricKeyringNode and AwsKmsMrkAwareSymmetricDiscoveryKeyringNode that support AWS KMS multi-Region Keys. Added the helpers buildAwsKmsMrkAwareStrictMultiKeyringNode and buildAwsKmsMrkAwareDiscoveryMultiKeyringNode that compose the above keyring together to handle multiple CMKs. 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. Co-authored-by: Valerie Lambert <[email protected]>
1 parent fa1db60 commit 701f811

File tree

82 files changed

+6882
-296
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+6882
-296
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ package.json.decrypt
4040

4141
# local npx cache
4242
/verdaccio/.npx
43+
/specification_compliance_report.html
4344

4445
# These version files are build by genversion
4546
# they track the package.json version

.gitmodules

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
[submodule "aws-encryption-sdk-test-vectors"]
22
path = aws-encryption-sdk-test-vectors
33
url = https://github.com/awslabs/private-aws-encryption-sdk-test-vectors-staging.git
4-
branch = known-invalid-test-vectors
4+
[submodule "aws-encryption-sdk-specification"]
5+
path = aws-encryption-sdk-specification
6+
url = https://github.com/awslabs/private-aws-encryption-sdk-specification-staging.git

buildspec.yml

+20-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,25 @@ version: 0.2
33
batch:
44
fast-fail: false
55
build-list:
6-
- identifier: nodejs10
6+
- identifier: testNodejs10
77
buildspec: codebuild/nodejs10.yml
8-
- identifier: nodejs12
8+
- identifier: testNodejs12
99
buildspec: codebuild/nodejs12.yml
10+
- identifier: testNodejs14
11+
buildspec: codebuild/nodejs14.yml
12+
env:
13+
image: aws/codebuild/standard:5.0
14+
- identifier: testBrowser
15+
buildspec: codebuild/browser.yml
16+
- identifier: compliance
17+
buildspec: codebuild/compliance.yml
18+
- identifier: testVectorsNodejs10
19+
buildspec: codebuild/test_vectors/nodejs10.yml
20+
- identifier: testVectorsNodejs12
21+
buildspec: codebuild/test_vectors/nodejs12.yml
22+
- identifier: testVectorsNodejs14
23+
buildspec: codebuild/test_vectors/nodejs14.yml
24+
env:
25+
image: aws/codebuild/standard:5.0
26+
- identifier: testVectorsBrowser
27+
buildspec: codebuild/test_vectors/browser.yml

codebuild/browser.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: latest
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run coverage-browser

codebuild/compliance.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: latest
11+
commands:
12+
- npm ci --unsafe-perm
13+
build:
14+
commands:
15+
- npm run lint
16+
- npm run test_conditions

codebuild/nodejs10.yml

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
version: 0.2
22

33
env:
4-
variables:
5-
NODE_OPTIONS: "--max-old-space-size=4096"
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
66

77
phases:
8-
install:
9-
runtime-versions:
10-
nodejs: 10
11-
commands:
12-
- npm ci --unsafe-perm
13-
- npm run build
14-
build:
15-
commands:
16-
- npm test
17-
- npm run test_conditions
18-
- npm run verdaccio
8+
install:
9+
runtime-versions:
10+
nodejs: 10
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run coverage-node

codebuild/nodejs12.yml

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
version: 0.2
22

33
env:
4-
variables:
5-
NODE_OPTIONS: "--max-old-space-size=4096"
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
66

77
phases:
8-
install:
9-
runtime-versions:
10-
nodejs: 12
11-
commands:
12-
- npm ci --unsafe-perm
13-
- npm run build
14-
build:
15-
commands:
16-
- npm test
17-
- npm run test_conditions
18-
- npm run verdaccio
8+
install:
9+
runtime-versions:
10+
nodejs: 12
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run coverage-node

codebuild/nodejs14.yml

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: 14
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run coverage-node

codebuild/test_vectors/browser.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: latest
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run verdaccio-publish
17+
- npm run verdaccio-publish-browser-decrypt
18+
- npm run verdaccio-publish-browser-encrypt

codebuild/test_vectors/nodejs10.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: 10
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run verdaccio-publish
17+
- npm run verdaccio-publish-node-decrypt
18+
- npm run verdaccio-publish-node-encrypt

codebuild/test_vectors/nodejs12.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: 12
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run verdaccio-publish
17+
- npm run verdaccio-publish-node-decrypt
18+
- npm run verdaccio-publish-node-encrypt

codebuild/test_vectors/nodejs14.yml

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 0.2
2+
3+
env:
4+
variables:
5+
NODE_OPTIONS: "--max-old-space-size=4096"
6+
7+
phases:
8+
install:
9+
runtime-versions:
10+
nodejs: 14
11+
commands:
12+
- npm ci --unsafe-perm
13+
- npm run build
14+
build:
15+
commands:
16+
- npm run verdaccio-publish
17+
- npm run verdaccio-publish-node-decrypt
18+
- npm run verdaccio-publish-node-encrypt

0 commit comments

Comments
 (0)