Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Imabhichow/hv 2 smithy changes #1363

Draft
wants to merge 75 commits into
base: hv-2/hv-2
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
11687e8
chore(Java): version by properties file only
texastony Nov 14, 2024
e4b5a58
feat: Adding a storage option to the KeyStore (#594)
seebees Sep 18, 2024
d1c3075
chore(KSA-Model): more Mutation Operation changes (#955)
texastony Sep 18, 2024
c4af12f
fix(Mutations): KMS Exception improvements
texastony Nov 12, 2024
f8e91e7
feat(KSA): Describe Mutation
texastony Nov 13, 2024
8795bf5
feat(KSA): KMS Decrypt/Encrypt Strategy (#1020)
texastony Nov 25, 2024
0f0ede0
feat(KSA): System Key (#1021) (#1055)
texastony Nov 25, 2024
c44f328
chore: percolate changes from HEAD to mutations branch
texastony Nov 26, 2024
5896cf8
fix(KS-Smithy): explicit error for tampered Branch Key (#1058)
texastony Nov 26, 2024
621116e
chore: fix decrypt encrypt strategy (#1059)
josecorella Nov 26, 2024
34683eb
fix(KSA): Describe Mutation bugs (#1062)
texastony Nov 27, 2024
9d66289
chore: error refinement improvements decrypt/encrypt strategy (#1061)
josecorella Nov 27, 2024
63fa534
fix(KSA-Dafny): break up Mutations, other fixes, more tests (#1069)
texastony Dec 2, 2024
5b2f851
fix: use correct client depending on operation (#1084)
josecorella Dec 4, 2024
6714c65
test(KSA-Java): assert deletion of Index/Commitment at end of Mutatio…
texastony Dec 4, 2024
42149ec
docs: update documentation for Key Store Admin Errors (#1086)
josecorella Dec 5, 2024
b26fbb3
test(KSA): Utilize Limit KMS Clients in Mutation D/E test (#1089)
texastony Dec 5, 2024
a914309
feat(KSA): DoNotVersion for Initialize Mutation (#1082)
texastony Dec 6, 2024
15f1cf0
feat(KSA): require System Key + doc polish + tests (#1092)
texastony Dec 9, 2024
3f9f7d7
fix(MPL): remove un-used imports (#1103)
texastony Dec 10, 2024
180a7d8
chore(Rust): fix Rust import of the KSA (#1110)
texastony Dec 11, 2024
528d8f0
docs(KSA): clarify mutation behvior (#1112)
texastony Dec 12, 2024
90a390e
chore(Smithy): remove Smithy trait un-supported by Smithy-Dafny (#1134)
texastony Dec 17, 2024
2fc52ac
test: add concurrency testing for storage operations (#1132)
josecorella Dec 23, 2024
af0078d
fix(KeyStoreAdmin): Go support (#1242)
texastony Jan 22, 2025
eb56365
fix(GHW): Library Example (#1269)
texastony Jan 31, 2025
0c5cfa7
fix(KeyStoreAdmin): Exceptions for Mutations when KMS Key is Disabled…
texastony Feb 16, 2025
53abc2c
Add GetEncryptionContextHV1 and GetEncryptionContextHV2
rishav-karanjit Mar 18, 2025
64f45de
Add INVALID_HIERARCHY_VERSION error message
rishav-karanjit Mar 18, 2025
c769619
Add need for H version check
rishav-karanjit Mar 18, 2025
5d59de7
Revert "Add GetEncryptionContextHV1 and GetEncryptionContextHV2"
rishav-karanjit Mar 18, 2025
d29744f
hv2 changes
rishav-karanjit Mar 18, 2025
0f05c52
add constant for HIERARCHY_VERSION number
rishav-karanjit Mar 18, 2025
44cfb48
ToHV2EC method
rishav-karanjit Mar 18, 2025
ef18557
rough sha impl
rishav-karanjit Mar 19, 2025
bcd0a8c
hv2 getkey rought sketch
rishav-karanjit Mar 19, 2025
108284c
Some clean ups
rishav-karanjit Mar 19, 2025
02c3898
formatting
rishav-karanjit Mar 19, 2025
e1db473
Add HierarchicalVersionUtils utils
rishav-karanjit Mar 19, 2025
304c832
refactoring
rishav-karanjit Mar 19, 2025
11e266a
revert storage helper
rishav-karanjit Mar 19, 2025
dfac4ae
fix GetMdDigestFromEC
rishav-karanjit Mar 19, 2025
c8052ba
MD_DIGEST_LENGTH and AES_256_LENGTH
rishav-karanjit Mar 20, 2025
d80676a
chores in get key
rishav-karanjit Mar 20, 2025
7dbeabb
rename to DecryptKeyForHV1
rishav-karanjit Mar 20, 2025
1aa9758
rename predicate AttemptKmsOperation? to AttemptKmsOperationForHV1?
rishav-karanjit Mar 20, 2025
35333e1
rename AttemptKmsOperation? to AttemptKmsOperationForHV1?
rishav-karanjit Mar 20, 2025
045a853
Revert "rename AttemptKmsOperation? to AttemptKmsOperationForHV1?"
rishav-karanjit Mar 20, 2025
aa6e810
Revert "rename predicate AttemptKmsOperation? to AttemptKmsOperationF…
rishav-karanjit Mar 20, 2025
d0c1f23
Add DecryptKeyForHV2
rishav-karanjit Mar 20, 2025
84a5829
use DecryptKeyForHV2
rishav-karanjit Mar 20, 2025
8c53237
Add Hv2EncryptionContext?
rishav-karanjit Mar 20, 2025
9348860
fix path to predicates
rishav-karanjit Mar 20, 2025
45efb9c
Update AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStor…
rishav-karanjit Mar 20, 2025
da2be20
Add KMS_DECRYPT_INVALID_KEY_LENGTH_HV2
rishav-karanjit Mar 20, 2025
af9c4a5
Add INVALID_BRANCH_KEY_CONTEXT
rishav-karanjit Mar 20, 2025
af4bdeb
feat: Smithy Model for HV-2
texastony Mar 18, 2025
0492ac6
chore: revise HV-2 Smithy for PR Feedback
texastony Mar 18, 2025
02215b3
fix: enum names must start with a letter
texastony Mar 18, 2025
92500b7
fix: typo = -> :
texastony Mar 18, 2025
7b6307a
chore(BKS): polymorph
texastony Mar 18, 2025
52a0316
fix: WIP but some dafny resolve and verify issues
texastony Mar 19, 2025
7a66a6c
WIP: create key
imabhichow Mar 19, 2025
b64c9f8
remove table name from EC
imabhichow Mar 20, 2025
bbfab39
refactoring for verification
rishav-karanjit Mar 21, 2025
6cd7f44
Add AwsKmsBranchKeyHV2Decryption?
rishav-karanjit Mar 21, 2025
ce4782c
WIP: Encrypt
imabhichow Mar 21, 2025
8beafe4
WIP: Encrypt
imabhichow Mar 21, 2025
159aaa9
Add ValidateMdDigest
rishav-karanjit Mar 21, 2025
020fd10
WIP
imabhichow Mar 21, 2025
67de9db
beacon and branch key version
rishav-karanjit Mar 21, 2025
32df5db
fix
rishav-karanjit Mar 21, 2025
e4f812c
Merge remote-tracking branch 'origin/rishav/hv2Changes' into imabhich…
imabhichow Mar 22, 2025
0654db4
feat: Create Key and Write a HappyCase Test to verify
imabhichow Mar 22, 2025
13984d6
format
imabhichow Mar 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
116 changes: 116 additions & 0 deletions .github/workflows/library_concurrency_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# This workflow performs Concurrency tests of the MPL in Java.
name: Library Concurrency Tests

on:
workflow_call:
inputs:
dafny:
description: "The Dafny version to run"
required: true
type: string
regenerate-code:
description: "Regenerate code using smithy-dafny"
required: false
default: false
type: boolean

jobs:
generateEncryptVectors:
strategy:
matrix:
library: [AwsCryptographicMaterialProviders]
os: [
# https://taskei.amazon.dev/tasks/CrypTool-5283
# windows-latest,
ubuntu-latest,
macos-13,
]
language: [
java,
# net,
# python,
# rust
]
# https://taskei.amazon.dev/tasks/CrypTool-5284
java-versions: [8, 17]
runs-on: ${{ matrix.os }}
permissions:
id-token: write
contents: read
steps:
- name: Support longpaths on Git checkout
run: |
git config --global core.longpaths true

# Test Vectors need to call KMS
- name: Configure AWS Credentials for Tests
uses: aws-actions/configure-aws-credentials@v2
with:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-MPL-Dafny-Role-us-west-2
role-session-name: ConcurrencyTests

- uses: actions/checkout@v3
# Not all submodules are needed.
# We manually pull the submodule we DO need.
- run: git submodule update --init libraries
- run: git submodule update --init --recursive smithy-dafny

# Setup Java in Rust is needed for running polymorph
- name: Setup Java 17
if: matrix.language == 'java' || matrix.language == 'rust'
uses: actions/setup-java@v3
with:
distribution: "corretto"
java-version: 17

- name: Setup .NET Core SDK '6.0.x'
uses: actions/setup-dotnet@v3
with:
dotnet-version: "6.0.x"

- name: Setup Dafny
uses: dafny-lang/[email protected]
with:
dafny-version: ${{ inputs.dafny }}

- name: Regenerate code using smithy-dafny if necessary
if: ${{ inputs.regenerate-code }}
uses: ./.github/actions/polymorph_codegen
with:
dafny: ${{ inputs.dafny }}
library: ${{ matrix.library }}
diff-generated-code: false

# Build implementation for each runtime
- name: Build ${{ matrix.library }} implementation in Java
shell: bash
working-directory: ./${{ matrix.library }}
run: |
# This works because `node` is installed by default on GHA runners
CORES=$(node -e 'console.log(os.cpus().length)')
make build_java CORES=$CORES

- name: Setup gradle
if: matrix.language == 'java'
uses: gradle/gradle-build-action@v2
with:
gradle-version: 7.2

- name: Setup Java ${{matrix.java-versions}}
uses: actions/setup-java@v3
with:
distribution: "corretto"
java-version: ${{matrix.java-versions}}

- name: Compile Java
uses: gradle/gradle-build-action@v3
with:
arguments: build
build-root-directory: ./${{ matrix.library }}/runtimes/java

- name: Test Java
uses: gradle/gradle-build-action@v3
with:
arguments: testConcurrentExamples
build-root-directory: ./${{ matrix.library }}/runtimes/java
58 changes: 58 additions & 0 deletions .github/workflows/library_examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# "Copyright Amazon.com Inc. or its affiliates. All Rights Reserved."
# "SPDX-License-Identifier: CC-BY-SA-4.0"
# This workflow runs any examples.
name: Library Examples
on:
workflow_call:
inputs:
dafny:
description: "The Dafny version to run"
required: true
type: string

jobs:
java:
runs-on: ubuntu-22.04
permissions:
id-token: write
contents: read
defaults:
run:
shell: bash
steps:
- name: Support longpaths on Git checkout
run: |
git config --global core.longpaths true
- name: Configure AWS Credentials for Tests
uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: us-west-2
role-to-assume: arn:aws:iam::370957321024:role/GitHub-CI-MPL-Dafny-Role-us-west-2
role-session-name: JavaExampleTests

- uses: actions/checkout@v4
- run: git submodule update --init libraries
- run: git submodule update --init smithy-dafny

- name: Setup Dafny
uses: dafny-lang/[email protected]
with:
dafny-version: ${{ inputs.dafny }}

- name: Setup Java 8
uses: actions/setup-java@v3
with:
distribution: "corretto"
java-version: 8

- name: Build AwsCryptographicMaterialProviders Java implementation
working-directory: ./AwsCryptographicMaterialProviders
run: |
# This works because `node` is installed by default on GHA runners
CORES=$(node -e 'console.log(os.cpus().length)')
make build_java CORES=$CORES

- name: Test AwsCryptographicMaterialProviders Java Examples
working-directory: ./AwsCryptographicMaterialProviders
run: |
make test_example_java
8 changes: 7 additions & 1 deletion .github/workflows/pull.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ jobs:
uses: ./.github/workflows/library_java_tests.yml
with:
dafny: ${{needs.getVersion.outputs.version}}
pr-ci-examples:
needs: getVersion
uses: ./.github/workflows/library_examples.yml
with:
dafny: ${{needs.getVersion.outputs.version}}
pr-ci-net:
needs: getVersion
uses: ./.github/workflows/library_net_tests.yml
Expand Down Expand Up @@ -68,7 +73,8 @@ jobs:
- pr-ci-go
- pr-ci-rust
- pr-interop-test
runs-on: ubuntu-22.04
- pr-ci-examples
runs-on: ubuntu--22.04
steps:
- name: Verify all required jobs passed
uses: re-actors/alls-green@release/v1
Expand Down
25 changes: 2 additions & 23 deletions .releaserc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -103,27 +103,6 @@ module.exports = {
"semantic-release-replace-plugin",
{
replacements: [
// Update the version for all Gradle Java projects
// Does not update the dependencies
{
files: Object.keys(Runtimes.java),
from: 'version = ".*"',
to: 'version = "${nextRelease.version}"',
results: Object.keys(Runtimes.java).map(CheckResults),
countMatches: true,
},
// Now update the Gradle Java dependencies
...Object.entries(Runtimes.java).flatMap(([file, { dependencies }]) =>
dependencies.map((dependency) => ({
files: [file],
from: `implementation("${dependency}:.*")`,
to:
`implementation("${dependency}:` + '${nextRelease.version}" />',
results: [CheckResults(file)],
countMatches: true,
})),
),

// Update the version for all DotNet projects
// Does not update the dependencies
{
Expand Down Expand Up @@ -211,8 +190,8 @@ function CheckDependencyReplacementResults(file) {
return {
file,
hasChanged: true,
numMatches: 4,
numReplacements: 4,
numMatches: 3,
numReplacements: 3,
};
} else if (file.includes("StandardLibrary")) {
return {
Expand Down
32 changes: 30 additions & 2 deletions AwsCryptographicMaterialProviders/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,15 @@ include ../SharedMakefileV2.mk

PROJECT_SERVICES := \
AwsCryptographyKeyStore \
AwsCryptographicMaterialProviders \
AwsCryptographyKeyStoreAdmin \
AwsCryptographicMaterialProviders

SERVICE_NAMESPACE_AwsCryptographicMaterialProviders=aws.cryptography.materialProviders
SERVICE_NAMESPACE_AwsCryptographyKeyStore=aws.cryptography.keyStore
SERVICE_NAMESPACE_AwsCryptographyKeyStoreAdmin=aws.cryptography.keyStoreAdmin

# 90_000_000 or 9e7
MAX_RESOURCE_COUNT=90000000

MAIN_SERVICE_FOR_RUST := AwsCryptographicMaterialProviders

Expand All @@ -36,7 +41,6 @@ RUST_OTHER_FILES := \
runtimes/rust/src/time.rs \
runtimes/rust/src/uuid.rs

MAX_RESOURCE_COUNT=90000000
# Order is important
# In java they MUST be built
# in the order they depend on each other
Expand Down Expand Up @@ -74,6 +78,7 @@ GO_DEPENDENCY_MODULE_NAMES := \
--dependency-library-name=com.amazonaws.dynamodb=github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb \
--dependency-library-name=com.amazonaws.kms=github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms \
--dependency-library-name=aws.cryptography.keyStore=github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl \
--dependency-library-name=aws.cryptography.keyStoreAdmin=github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl \
--dependency-library-name=aws.cryptography.primitives=github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives \
--dependency-library-name=sdk.com.amazonaws.dynamodb=github.com/aws/aws-sdk-go-v2/service/dynamodb \
--dependency-library-name=sdk.com.amazonaws.kms=github.com/aws/aws-sdk-go-v2/service/kms
Expand All @@ -84,8 +89,15 @@ TRANSLATION_RECORD_GO := \
ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr \
AwsCryptographyPrimitives/runtimes/go/ImplementationFromDafny-go/ImplementationFromDafny-go.dtr

SERVICE_DEPS_AwsCryptographyKeyStoreAdmin := \
AwsCryptographyPrimitives \
ComAmazonawsKms \
ComAmazonawsDynamodb \
AwsCryptographicMaterialProviders/dafny/AwsCryptographicMaterialProviders \
AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore \
# Constants for languages that drop extern names (Python, Go)


MPL_CORE_TYPES_FILE_PATH=dafny/AwsCryptographicMaterialProviders/Model/AwsCryptographyMaterialProvidersTypes.dfy
MPL_CORE_TYPES_FILE_WITH_EXTERN_STRING="module {:extern \"software.amazon.cryptography.materialproviders.internaldafny.types\" } AwsCryptographyMaterialProvidersTypes"
MPL_CORE_TYPES_FILE_WITHOUT_EXTERN_STRING="module AwsCryptographyMaterialProvidersTypes"
Expand All @@ -102,6 +114,14 @@ KEYSTORE_INDEX_FILE_PATH=dafny/AwsCryptographyKeyStore/src/Index.dfy
KEYSTORE_INDEX_FILE_WITH_EXTERN_STRING="module {:extern \"software.amazon.cryptography.keystore.internaldafny\"} KeyStore refines AbstractAwsCryptographyKeyStoreService"
KEYSTORE_INDEX_FILE_WITHOUT_EXTERN_STRING="module KeyStore refines AbstractAwsCryptographyKeyStoreService"

KEYSTORE_ADMIN_TYPES_FILE_PATH=dafny/AwsCryptographyKeyStoreAdmin/Model/AwsCryptographyKeyStoreAdminTypes.dfy
KEYSTORE_ADMIN_TYPES_FILE_WITH_EXTERN_STRING="module {:extern \"software.amazon.cryptography.keystoreadmin.internaldafny.types\" } AwsCryptographyKeyStoreAdminTypes"
KEYSTORE_ADMIN_TYPES_FILE_WITHOUT_EXTERN_STRING="module AwsCryptographyKeyStoreAdminTypes"

KEYSTORE_ADMIN_INDEX_FILE_PATH=dafny/AwsCryptographyKeyStoreAdmin/src/Index.dfy
KEYSTORE_ADMIN_INDEX_FILE_WITH_EXTERN_STRING="module {:extern \"software.amazon.cryptography.keystoreadmin.internaldafny\"} KeyStoreAdmin refines AbstractAwsCryptographyKeyStoreAdminService"
KEYSTORE_ADMIN_INDEX_FILE_WITHOUT_EXTERN_STRING="module KeyStoreAdmin refines AbstractAwsCryptographyKeyStoreAdminService"

SYNCHRONIZED_LOCAL_CMC_FILE_PATH=dafny/AwsCryptographicMaterialProviders/src/CMCs/SynchronizedLocalCMC.dfy
SYNCHRONIZED_LOCAL_CMC_WITH_EXTERN_STRING="module {:options \"\/functionSyntax:4\" } {:extern \"software.amazon.cryptography.internaldafny.SynchronizedLocalCMC\" } SynchronizedLocalCMC {"
SYNCHRONIZED_LOCAL_CMC_WITHOUT_EXTERN_STRING="module {:options \"\/functionSyntax:4\" } SynchronizedLocalCMC {"
Expand All @@ -113,20 +133,24 @@ STORM_TRACKING_CMC_WITHOUT_EXTERN_STRING="module {:options \"\/functionSyntax:4\
_sed_types_file_remove_extern:
$(MAKE) _sed_file SED_FILE_PATH=$(MPL_CORE_TYPES_FILE_PATH) SED_BEFORE_STRING=$(MPL_CORE_TYPES_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(MPL_CORE_TYPES_FILE_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_TYPES_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_TYPES_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_TYPES_FILE_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_ADMIN_TYPES_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_ADMIN_TYPES_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_ADMIN_TYPES_FILE_WITHOUT_EXTERN_STRING)

_sed_index_file_remove_extern:
$(MAKE) _sed_file SED_FILE_PATH=$(MPL_CORE_INDEX_FILE_PATH) SED_BEFORE_STRING=$(MPL_CORE_INDEX_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(MPL_CORE_INDEX_FILE_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_INDEX_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_INDEX_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_INDEX_FILE_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_ADMIN_INDEX_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_ADMIN_INDEX_FILE_WITH_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_ADMIN_INDEX_FILE_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(SYNCHRONIZED_LOCAL_CMC_FILE_PATH) SED_BEFORE_STRING=$(SYNCHRONIZED_LOCAL_CMC_WITH_EXTERN_STRING) SED_AFTER_STRING=$(SYNCHRONIZED_LOCAL_CMC_WITHOUT_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(STORM_TRACKING_CMC_FILE_PATH) SED_BEFORE_STRING=$(STORM_TRACKING_CMC_WITH_EXTERN_STRING) SED_AFTER_STRING=$(STORM_TRACKING_CMC_WITHOUT_EXTERN_STRING)

_sed_types_file_add_extern:
$(MAKE) _sed_file SED_FILE_PATH=$(MPL_CORE_TYPES_FILE_PATH) SED_BEFORE_STRING=$(MPL_CORE_TYPES_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(MPL_CORE_TYPES_FILE_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_TYPES_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_TYPES_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_TYPES_FILE_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_ADMIN_TYPES_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_ADMIN_TYPES_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_ADMIN_TYPES_FILE_WITH_EXTERN_STRING)

_sed_index_file_add_extern:
$(MAKE) _sed_file SED_FILE_PATH=$(MPL_CORE_INDEX_FILE_PATH) SED_BEFORE_STRING=$(MPL_CORE_INDEX_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(MPL_CORE_INDEX_FILE_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_INDEX_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_INDEX_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_INDEX_FILE_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(KEYSTORE_ADMIN_INDEX_FILE_PATH) SED_BEFORE_STRING=$(KEYSTORE_ADMIN_INDEX_FILE_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(KEYSTORE_ADMIN_INDEX_FILE_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(SYNCHRONIZED_LOCAL_CMC_FILE_PATH) SED_BEFORE_STRING=$(SYNCHRONIZED_LOCAL_CMC_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(SYNCHRONIZED_LOCAL_CMC_WITH_EXTERN_STRING)
$(MAKE) _sed_file SED_FILE_PATH=$(STORM_TRACKING_CMC_FILE_PATH) SED_BEFORE_STRING=$(STORM_TRACKING_CMC_WITHOUT_EXTERN_STRING) SED_AFTER_STRING=$(STORM_TRACKING_CMC_WITH_EXTERN_STRING)

Expand All @@ -146,3 +170,7 @@ PYTHON_DEPENDENCY_MODULE_NAMES := \
--dependency-library-name=com.amazonaws.dynamodb=aws_cryptography_internal_dynamodb \
--dependency-library-name=aws.cryptography.materialProviders=aws_cryptographic_material_providers \
--dependency-library-name=aws.cryptography.keyStore=aws_cryptographic_material_providers \
--dependency-library-name=aws.cryptography.keyStoreAdmin=aws_cryptographic_material_providers \

test_example_java:
$(GRADLEW) -p runtimes/java cleanTestExamples testExamples
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
diff --git b/AwsCryptographicMaterialProviders/runtimes/net/Generated/AwsCryptographicMaterialProviders/TypeConversion.cs a/AwsCryptographicMaterialProviders/runtimes/net/Generated/AwsCryptographicMaterialProviders/TypeConversion.cs
index 0b153802b..56aef9ec6 100644
--- b/AwsCryptographicMaterialProviders/runtimes/net/Generated/AwsCryptographicMaterialProviders/TypeConversion.cs
+++ a/AwsCryptographicMaterialProviders/runtimes/net/Generated/AwsCryptographicMaterialProviders/TypeConversion.cs
@@ -3903,7 +3903,9 @@ namespace AWS.Cryptography.MaterialProviders
dafnyVal._ComAmazonawsDynamodb
);
case software.amazon.cryptography.materialproviders.internaldafny.types.Error_ComAmazonawsKms dafnyVal:
- return Com.Amazonaws.KMS.TypeConversion.FromDafny_CommonError(
+ // BEGIN MANUAL EDIT
+ return Com.Amazonaws.Kms.TypeConversion.FromDafny_CommonError(
+ // END MANUAL EDIT
dafnyVal._ComAmazonawsKms
);
case software.amazon.cryptography.materialproviders.internaldafny.types.Error_AwsCryptographicMaterialProvidersException dafnyVal:
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git b/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy a/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
index 5764797e..4310b660 100644
--- b/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
+++ a/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
@@ -794,7 +794,7 @@ abstract module AbstractAwsCryptographyKeyStoreService
import opened Types = AwsCryptographyKeyStoreTypes
import Operations : AbstractAwsCryptographyKeyStoreOperations
function method DefaultKeyStoreConfig(): KeyStoreConfig
- method KeyStore(config: KeyStoreConfig := DefaultKeyStoreConfig())
+ method {:vcs_split_on_every_assert} {:rlimit 90500000} KeyStore(config: KeyStoreConfig := DefaultKeyStoreConfig())
returns (res: Result<KeyStoreClient, Error>)
requires config.ddbClient.Some? ==>
config.ddbClient.value.ValidState()
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git b/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy a/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
index 25bd45838..3ddedde75 100644
--- b/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
+++ a/AwsCryptographicMaterialProviders/dafny/AwsCryptographyKeyStore/Model/AwsCryptographyKeyStoreTypes.dfy
@@ -611,7 +611,7 @@ abstract module AbstractAwsCryptographyKeyStoreService
import opened Types = AwsCryptographyKeyStoreTypes
import Operations : AbstractAwsCryptographyKeyStoreOperations
function method DefaultKeyStoreConfig(): KeyStoreConfig
- method KeyStore(config: KeyStoreConfig := DefaultKeyStoreConfig())
+ method {:isoluate_asserations} {:resource_limit 94000000 } KeyStore(config: KeyStoreConfig := DefaultKeyStoreConfig())
returns (res: Result<KeyStoreClient, Error>)
requires config.ddbClient.Some? ==>
config.ddbClient.value.ValidState()
Loading