From 86f4332684bce94967c40fa2433d991328428ebd Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Mon, 20 May 2024 11:30:05 -0700 Subject: [PATCH 01/21] mplv2 --- examples/src/aws_kms_discovery_keyring_example.py | 4 ---- examples/src/aws_kms_discovery_multi_keyring_example.py | 4 ---- examples/src/aws_kms_keyring_example.py | 4 ---- examples/src/aws_kms_mrk_discovery_keyring_example.py | 4 ---- examples/src/aws_kms_mrk_discovery_multi_keyring_example.py | 4 ---- examples/src/aws_kms_mrk_keyring_example.py | 4 ---- examples/src/aws_kms_mrk_multi_keyring_example.py | 4 ---- examples/src/aws_kms_multi_keyring_example.py | 4 ---- examples/src/aws_kms_rsa_keyring_example.py | 4 ---- examples/src/file_streaming_example.py | 4 ---- examples/src/hierarchical_keyring_example.py | 4 ---- examples/src/legacy/module_.py | 1 - examples/src/migration_set_commitment_policy_example.py | 4 ---- examples/src/module_.py | 1 - examples/src/multi_keyring_example.py | 4 ---- examples/src/raw_aes_keyring_example.py | 4 ---- examples/src/raw_rsa_keyring_example.py | 4 ---- examples/src/required_encryption_context_cmm.py | 5 ----- examples/src/set_encryption_algorithm_suite_example.py | 4 ---- setup.py | 2 +- .../test/aws-crypto-tools-test-vector-framework | 2 +- 21 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 examples/src/legacy/module_.py delete mode 100644 examples/src/module_.py diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index 4695e8783..2a9e40ea6 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -49,10 +49,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_discovery_multi_keyring_example.py b/examples/src/aws_kms_discovery_multi_keyring_example.py index 60d74ff31..452327da1 100644 --- a/examples/src/aws_kms_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_discovery_multi_keyring_example.py @@ -45,10 +45,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_keyring_example.py b/examples/src/aws_kms_keyring_example.py index b166aab99..4cbab444a 100644 --- a/examples/src/aws_kms_keyring_example.py +++ b/examples/src/aws_kms_keyring_example.py @@ -29,10 +29,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_keyring_example.py b/examples/src/aws_kms_mrk_discovery_keyring_example.py index 8ba80b621..bf7c47e4b 100644 --- a/examples/src/aws_kms_mrk_discovery_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_keyring_example.py @@ -50,10 +50,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py index 47cb80f1d..6154bdb16 100644 --- a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py @@ -52,10 +52,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_keyring_example.py b/examples/src/aws_kms_mrk_keyring_example.py index 65d8be71b..f09a2482b 100644 --- a/examples/src/aws_kms_mrk_keyring_example.py +++ b/examples/src/aws_kms_mrk_keyring_example.py @@ -33,10 +33,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_multi_keyring_example.py b/examples/src/aws_kms_mrk_multi_keyring_example.py index 9c87008fe..50b39b6b0 100644 --- a/examples/src/aws_kms_mrk_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_multi_keyring_example.py @@ -39,10 +39,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_multi_keyring_example.py b/examples/src/aws_kms_multi_keyring_example.py index 715181646..b98cb32ad 100644 --- a/examples/src/aws_kms_multi_keyring_example.py +++ b/examples/src/aws_kms_multi_keyring_example.py @@ -48,10 +48,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_rsa_keyring_example.py b/examples/src/aws_kms_rsa_keyring_example.py index 337dd14b6..09a51be98 100644 --- a/examples/src/aws_kms_rsa_keyring_example.py +++ b/examples/src/aws_kms_rsa_keyring_example.py @@ -27,10 +27,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/file_streaming_example.py b/examples/src/file_streaming_example.py index 72decde60..344f2c4bc 100644 --- a/examples/src/file_streaming_example.py +++ b/examples/src/file_streaming_example.py @@ -36,10 +36,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) def encrypt_and_decrypt_with_keyring( diff --git a/examples/src/hierarchical_keyring_example.py b/examples/src/hierarchical_keyring_example.py index c781f4f40..3091ea4c9 100644 --- a/examples/src/hierarchical_keyring_example.py +++ b/examples/src/hierarchical_keyring_example.py @@ -55,10 +55,6 @@ from .branch_key_id_supplier_example import ExampleBranchKeyIdSupplier -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -module_root_dir = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(module_root_dir) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/legacy/module_.py b/examples/src/legacy/module_.py deleted file mode 100644 index 3e8d3062a..000000000 --- a/examples/src/legacy/module_.py +++ /dev/null @@ -1 +0,0 @@ -"""Should remove this once PYTHONPATH issues are resolved by adding doo files.""" diff --git a/examples/src/migration_set_commitment_policy_example.py b/examples/src/migration_set_commitment_policy_example.py index 4bd0bc372..87de2129b 100644 --- a/examples/src/migration_set_commitment_policy_example.py +++ b/examples/src/migration_set_commitment_policy_example.py @@ -32,10 +32,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/module_.py b/examples/src/module_.py deleted file mode 100644 index 3e8d3062a..000000000 --- a/examples/src/module_.py +++ /dev/null @@ -1 +0,0 @@ -"""Should remove this once PYTHONPATH issues are resolved by adding doo files.""" diff --git a/examples/src/multi_keyring_example.py b/examples/src/multi_keyring_example.py index b12ab61a3..73ae9e1e6 100644 --- a/examples/src/multi_keyring_example.py +++ b/examples/src/multi_keyring_example.py @@ -54,10 +54,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_aes_keyring_example.py b/examples/src/raw_aes_keyring_example.py index d8634f774..5dcf64147 100644 --- a/examples/src/raw_aes_keyring_example.py +++ b/examples/src/raw_aes_keyring_example.py @@ -34,10 +34,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_rsa_keyring_example.py b/examples/src/raw_rsa_keyring_example.py index 4a38fd166..4adbb911e 100644 --- a/examples/src/raw_rsa_keyring_example.py +++ b/examples/src/raw_rsa_keyring_example.py @@ -48,10 +48,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/required_encryption_context_cmm.py b/examples/src/required_encryption_context_cmm.py index 1d5140e6d..a1083be95 100644 --- a/examples/src/required_encryption_context_cmm.py +++ b/examples/src/required_encryption_context_cmm.py @@ -25,11 +25,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks -module_root_dir = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(module_root_dir) - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/set_encryption_algorithm_suite_example.py b/examples/src/set_encryption_algorithm_suite_example.py index 200570083..ea3950561 100644 --- a/examples/src/set_encryption_algorithm_suite_example.py +++ b/examples/src/set_encryption_algorithm_suite_example.py @@ -51,10 +51,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) EXAMPLE_DATA: bytes = b"Hello World" diff --git a/setup.py b/setup.py index 697cb96ce..cd3e40738 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ def get_requirements(): extras_require={ "MPL": ["aws-cryptographic-material-providers @" \ "git+https://github.com/aws/aws-cryptographic-material-providers-library.git@" \ - "lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python"], + "lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python"], }, classifiers=[ "Development Status :: 5 - Production/Stable", diff --git a/test_vector_handlers/test/aws-crypto-tools-test-vector-framework b/test_vector_handlers/test/aws-crypto-tools-test-vector-framework index 9eb2fcbbe..fc793e257 160000 --- a/test_vector_handlers/test/aws-crypto-tools-test-vector-framework +++ b/test_vector_handlers/test/aws-crypto-tools-test-vector-framework @@ -1 +1 @@ -Subproject commit 9eb2fcbbe47ab30c29d6ad9a8125b1064e0db42a +Subproject commit fc793e257f4a58ae49b92f95a519ba2c31ccff12 From cb8015269ec2bc9e55a4c3c66137a0ad8aa05604 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Mon, 20 May 2024 15:49:53 -0700 Subject: [PATCH 02/21] cleanup --- examples/src/aws_kms_discovery_keyring_example.py | 1 - examples/src/aws_kms_discovery_multi_keyring_example.py | 1 - examples/src/aws_kms_keyring_example.py | 1 - examples/src/aws_kms_mrk_discovery_keyring_example.py | 1 - examples/src/aws_kms_mrk_discovery_multi_keyring_example.py | 1 - examples/src/aws_kms_mrk_keyring_example.py | 1 - examples/src/aws_kms_mrk_multi_keyring_example.py | 1 - examples/src/aws_kms_multi_keyring_example.py | 1 - examples/src/aws_kms_rsa_keyring_example.py | 1 - examples/src/file_streaming_example.py | 1 - examples/src/hierarchical_keyring_example.py | 1 - examples/src/migration_set_commitment_policy_example.py | 1 - examples/src/multi_keyring_example.py | 1 - examples/src/raw_aes_keyring_example.py | 1 - examples/src/raw_rsa_keyring_example.py | 1 - examples/src/required_encryption_context_cmm.py | 1 - examples/src/set_encryption_algorithm_suite_example.py | 1 - 17 files changed, 17 deletions(-) diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index 2a9e40ea6..a6a1e1a26 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -32,7 +32,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_discovery_multi_keyring_example.py b/examples/src/aws_kms_discovery_multi_keyring_example.py index 452327da1..159647cbc 100644 --- a/examples/src/aws_kms_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_discovery_multi_keyring_example.py @@ -29,7 +29,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_keyring_example.py b/examples/src/aws_kms_keyring_example.py index 4cbab444a..4a927bb37 100644 --- a/examples/src/aws_kms_keyring_example.py +++ b/examples/src/aws_kms_keyring_example.py @@ -17,7 +17,6 @@ For more information on how to use KMS keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_mrk_discovery_keyring_example.py b/examples/src/aws_kms_mrk_discovery_keyring_example.py index bf7c47e4b..8f13be3c8 100644 --- a/examples/src/aws_kms_mrk_discovery_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_keyring_example.py @@ -34,7 +34,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py index 6154bdb16..fd172c4a5 100644 --- a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py @@ -36,7 +36,6 @@ For more information on how to use KMS Discovery keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html#kms-keyring-discovery """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_mrk_keyring_example.py b/examples/src/aws_kms_mrk_keyring_example.py index f09a2482b..d7a594fdf 100644 --- a/examples/src/aws_kms_mrk_keyring_example.py +++ b/examples/src/aws_kms_mrk_keyring_example.py @@ -21,7 +21,6 @@ For more info on KMS MRK (multi-region keys), see the KMS documentation: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_mrk_multi_keyring_example.py b/examples/src/aws_kms_mrk_multi_keyring_example.py index 50b39b6b0..eed755bcd 100644 --- a/examples/src/aws_kms_mrk_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_multi_keyring_example.py @@ -27,7 +27,6 @@ For more info on KMS MRK (multi-region keys), see the KMS documentation: https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_multi_keyring_example.py b/examples/src/aws_kms_multi_keyring_example.py index b98cb32ad..b639d4283 100644 --- a/examples/src/aws_kms_multi_keyring_example.py +++ b/examples/src/aws_kms_multi_keyring_example.py @@ -36,7 +36,6 @@ For more information on how to use Multi keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-multi-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/aws_kms_rsa_keyring_example.py b/examples/src/aws_kms_rsa_keyring_example.py index 09a51be98..f0319e957 100644 --- a/examples/src/aws_kms_rsa_keyring_example.py +++ b/examples/src/aws_kms_rsa_keyring_example.py @@ -14,7 +14,6 @@ # For more information on how to use KMS keyrings, see # https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-kms-keyring.html """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/file_streaming_example.py b/examples/src/file_streaming_example.py index 344f2c4bc..bbc117490 100644 --- a/examples/src/file_streaming_example.py +++ b/examples/src/file_streaming_example.py @@ -25,7 +25,6 @@ """ import filecmp import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig diff --git a/examples/src/hierarchical_keyring_example.py b/examples/src/hierarchical_keyring_example.py index 3091ea4c9..84b05d3b8 100644 --- a/examples/src/hierarchical_keyring_example.py +++ b/examples/src/hierarchical_keyring_example.py @@ -31,7 +31,6 @@ This example also requires using a KMS Key. You need the following access on this key: - GenerateDataKeyWithoutPlaintext - Decrypt """ -import sys import boto3 # Ignore missing MPL for pylint, but the MPL is required for this example diff --git a/examples/src/migration_set_commitment_policy_example.py b/examples/src/migration_set_commitment_policy_example.py index 87de2129b..d34a1ef59 100644 --- a/examples/src/migration_set_commitment_policy_example.py +++ b/examples/src/migration_set_commitment_policy_example.py @@ -20,7 +20,6 @@ For more information on setting your commitment policy, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#commitment-policy """ -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/multi_keyring_example.py b/examples/src/multi_keyring_example.py index 73ae9e1e6..98b6228bb 100644 --- a/examples/src/multi_keyring_example.py +++ b/examples/src/multi_keyring_example.py @@ -37,7 +37,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-multi-keyring.html """ import secrets -import sys import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders diff --git a/examples/src/raw_aes_keyring_example.py b/examples/src/raw_aes_keyring_example.py index 5dcf64147..f1d971b62 100644 --- a/examples/src/raw_aes_keyring_example.py +++ b/examples/src/raw_aes_keyring_example.py @@ -23,7 +23,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-aes-keyring.html """ import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig diff --git a/examples/src/raw_rsa_keyring_example.py b/examples/src/raw_rsa_keyring_example.py index 4adbb911e..ca488b474 100644 --- a/examples/src/raw_rsa_keyring_example.py +++ b/examples/src/raw_rsa_keyring_example.py @@ -33,7 +33,6 @@ For more information on how to use Raw RSA keyrings, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-rsa-keyring.html """ -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig diff --git a/examples/src/required_encryption_context_cmm.py b/examples/src/required_encryption_context_cmm.py index a1083be95..edbb3f414 100644 --- a/examples/src/required_encryption_context_cmm.py +++ b/examples/src/required_encryption_context_cmm.py @@ -6,7 +6,6 @@ on encrypt such that they will not be stored on the message, but WILL be included in the header signature. On decrypt, the client MUST supply the key/value pair(s) that were not stored to successfully decrypt the message. """ -import sys import boto3 # Ignore missing MPL for pylint, but the MPL is required for this example diff --git a/examples/src/set_encryption_algorithm_suite_example.py b/examples/src/set_encryption_algorithm_suite_example.py index ea3950561..ffa453a30 100644 --- a/examples/src/set_encryption_algorithm_suite_example.py +++ b/examples/src/set_encryption_algorithm_suite_example.py @@ -39,7 +39,6 @@ https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/use-raw-aes-keyring.html """ import secrets -import sys from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig From efe2d1de47eee510dbe95b47dc1ae061583509c3 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Mon, 20 May 2024 15:51:41 -0700 Subject: [PATCH 03/21] isort --- examples/src/aws_kms_discovery_keyring_example.py | 1 - examples/src/aws_kms_discovery_multi_keyring_example.py | 1 - examples/src/aws_kms_keyring_example.py | 1 - examples/src/aws_kms_mrk_discovery_keyring_example.py | 1 - examples/src/aws_kms_mrk_discovery_multi_keyring_example.py | 1 - examples/src/aws_kms_mrk_keyring_example.py | 1 - examples/src/aws_kms_mrk_multi_keyring_example.py | 1 - examples/src/aws_kms_multi_keyring_example.py | 1 - examples/src/aws_kms_rsa_keyring_example.py | 1 - examples/src/file_streaming_example.py | 1 - examples/src/hierarchical_keyring_example.py | 1 - examples/src/migration_set_commitment_policy_example.py | 1 - examples/src/multi_keyring_example.py | 1 - examples/src/raw_aes_keyring_example.py | 1 - examples/src/raw_rsa_keyring_example.py | 1 - examples/src/set_encryption_algorithm_suite_example.py | 1 - 16 files changed, 16 deletions(-) diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index a6a1e1a26..d78121bc3 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -48,7 +48,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_discovery_multi_keyring_example.py b/examples/src/aws_kms_discovery_multi_keyring_example.py index 159647cbc..9381a740b 100644 --- a/examples/src/aws_kms_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_discovery_multi_keyring_example.py @@ -44,7 +44,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_keyring_example.py b/examples/src/aws_kms_keyring_example.py index 4a927bb37..8977e3750 100644 --- a/examples/src/aws_kms_keyring_example.py +++ b/examples/src/aws_kms_keyring_example.py @@ -28,7 +28,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_keyring_example.py b/examples/src/aws_kms_mrk_discovery_keyring_example.py index 8f13be3c8..23d6cb322 100644 --- a/examples/src/aws_kms_mrk_discovery_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_keyring_example.py @@ -49,7 +49,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py index fd172c4a5..adb249e2a 100644 --- a/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_discovery_multi_keyring_example.py @@ -51,7 +51,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_keyring_example.py b/examples/src/aws_kms_mrk_keyring_example.py index d7a594fdf..edb3cc410 100644 --- a/examples/src/aws_kms_mrk_keyring_example.py +++ b/examples/src/aws_kms_mrk_keyring_example.py @@ -32,7 +32,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_mrk_multi_keyring_example.py b/examples/src/aws_kms_mrk_multi_keyring_example.py index eed755bcd..6b1e64eec 100644 --- a/examples/src/aws_kms_mrk_multi_keyring_example.py +++ b/examples/src/aws_kms_mrk_multi_keyring_example.py @@ -38,7 +38,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_multi_keyring_example.py b/examples/src/aws_kms_multi_keyring_example.py index b639d4283..7cba36167 100644 --- a/examples/src/aws_kms_multi_keyring_example.py +++ b/examples/src/aws_kms_multi_keyring_example.py @@ -47,7 +47,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/aws_kms_rsa_keyring_example.py b/examples/src/aws_kms_rsa_keyring_example.py index f0319e957..fd05fc20b 100644 --- a/examples/src/aws_kms_rsa_keyring_example.py +++ b/examples/src/aws_kms_rsa_keyring_example.py @@ -26,7 +26,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/file_streaming_example.py b/examples/src/file_streaming_example.py index bbc117490..3f547d220 100644 --- a/examples/src/file_streaming_example.py +++ b/examples/src/file_streaming_example.py @@ -36,7 +36,6 @@ from aws_encryption_sdk import CommitmentPolicy - def encrypt_and_decrypt_with_keyring( plaintext_filename: str, ciphertext_filename: str, diff --git a/examples/src/hierarchical_keyring_example.py b/examples/src/hierarchical_keyring_example.py index 84b05d3b8..00dadf9d8 100644 --- a/examples/src/hierarchical_keyring_example.py +++ b/examples/src/hierarchical_keyring_example.py @@ -54,7 +54,6 @@ from .branch_key_id_supplier_example import ExampleBranchKeyIdSupplier - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/migration_set_commitment_policy_example.py b/examples/src/migration_set_commitment_policy_example.py index d34a1ef59..3851df0e2 100644 --- a/examples/src/migration_set_commitment_policy_example.py +++ b/examples/src/migration_set_commitment_policy_example.py @@ -31,7 +31,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/multi_keyring_example.py b/examples/src/multi_keyring_example.py index 98b6228bb..20af7ba81 100644 --- a/examples/src/multi_keyring_example.py +++ b/examples/src/multi_keyring_example.py @@ -53,7 +53,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_aes_keyring_example.py b/examples/src/raw_aes_keyring_example.py index f1d971b62..ab9603af6 100644 --- a/examples/src/raw_aes_keyring_example.py +++ b/examples/src/raw_aes_keyring_example.py @@ -33,7 +33,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/raw_rsa_keyring_example.py b/examples/src/raw_rsa_keyring_example.py index ca488b474..1200a7c72 100644 --- a/examples/src/raw_rsa_keyring_example.py +++ b/examples/src/raw_rsa_keyring_example.py @@ -47,7 +47,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.exceptions import AWSEncryptionSDKClientError - EXAMPLE_DATA: bytes = b"Hello World" diff --git a/examples/src/set_encryption_algorithm_suite_example.py b/examples/src/set_encryption_algorithm_suite_example.py index ffa453a30..75eaee85a 100644 --- a/examples/src/set_encryption_algorithm_suite_example.py +++ b/examples/src/set_encryption_algorithm_suite_example.py @@ -50,7 +50,6 @@ from aws_encryption_sdk import CommitmentPolicy from aws_encryption_sdk.identifiers import AlgorithmSuite - EXAMPLE_DATA: bytes = b"Hello World" From dd285f6ece3d5d2bc05c32db4ce26946b6ca396a Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Wed, 22 May 2024 12:26:23 -0700 Subject: [PATCH 04/21] win --- .github/workflows/ci_tests.yaml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 7ec273ba2..1a3229683 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,11 +25,7 @@ jobs: matrix: os: - ubuntu-latest - # Windows fails due to "No module named 'Wrappers'" - # This SHOULD be fixed once Dafny generates fully-qualified import statements - # (i.e. doo files, per-package module names) - # Disable for now - # - windows-latest + - windows-latest - macos-12 python: - 3.8 From bf1a15f013040c308148014e7ff2b311e54ac78f Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Wed, 22 May 2024 12:36:51 -0700 Subject: [PATCH 05/21] debug win import --- src/aws_encryption_sdk/streaming_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index 64d77b91a..62801eb6c 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -76,7 +76,8 @@ # Import internal ESDK modules that depend on the MPL from aws_encryption_sdk.materials_managers.mpl.cmm import CryptoMaterialsManagerFromMPL -except ImportError: +except ImportError as e: + print("streamingerror" + e) _HAS_MPL = False _LOGGER = logging.getLogger(__name__) From 2144b14689d16b2605fd5a1afe31b6880bc5782e Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Wed, 22 May 2024 12:39:16 -0700 Subject: [PATCH 06/21] debug win import --- src/aws_encryption_sdk/streaming_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index 62801eb6c..5b87abba0 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -77,7 +77,7 @@ from aws_encryption_sdk.materials_managers.mpl.cmm import CryptoMaterialsManagerFromMPL except ImportError as e: - print("streamingerror" + e) + print("streamingerror " + str(e)) _HAS_MPL = False _LOGGER = logging.getLogger(__name__) From a83ab6d0c2330601c00880a73b6d671e0b1b05aa Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Wed, 22 May 2024 12:43:20 -0700 Subject: [PATCH 07/21] actual v2 --- requirements_mpl.txt | 2 +- test_vector_handlers/requirements_mpl.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements_mpl.txt b/requirements_mpl.txt index 209e10f2c..28d7dc356 100644 --- a/requirements_mpl.txt +++ b/requirements_mpl.txt @@ -1 +1 @@ -aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file diff --git a/test_vector_handlers/requirements_mpl.txt b/test_vector_handlers/requirements_mpl.txt index c7927a851..1aab5f534 100644 --- a/test_vector_handlers/requirements_mpl.txt +++ b/test_vector_handlers/requirements_mpl.txt @@ -1 +1 @@ -amazon-cryptographic-material-providers-test-vectors @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=TestVectorsAwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +amazon-cryptographic-material-providers-test-vectors @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=TestVectorsAwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file From 827f206c62481d8a91fdefa0a746ed6a1d2550f1 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Tue, 23 Jul 2024 16:54:12 -0700 Subject: [PATCH 08/21] don't write expected exceptions to console --- .../manifests/full_message/decrypt.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py index 8c500caba..bcb2743f7 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py @@ -8,6 +8,8 @@ import json import os from enum import Enum +import contextlib +import io import attr import aws_encryption_sdk @@ -126,8 +128,17 @@ def match(self, name, decrypt_fn): # The ESDK implementations are not consistent in the types of errors they produce # or the exact error messages they use. The most important thing to test is that decryption # fails in some way, and hence the overly-broad implicit try/catch here. + with pytest.raises(Exception): - decrypt_fn() + # When the exception is raised, + # it will write stderrs to console. + # However, this branch is expected to raise an exception, + # and will write that exception to console. + # Swallow the exception so CI build logs are cleaner, + # and any actual issues are easier to see. + f = io.StringIO() + with contextlib.redirect_stderr(f): + decrypt_fn() except BaseException: # Translate the exception just to attach context. raise RuntimeError( From ffba5af8ede95c5abb767dcbda7cf9880b1bc6ad Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 26 Jul 2024 09:27:33 -0700 Subject: [PATCH 09/21] clean --- src/aws_encryption_sdk/streaming_client.py | 1 - .../manifests/full_message/decrypt.py | 12 +++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index 5b87abba0..c95072aea 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -77,7 +77,6 @@ from aws_encryption_sdk.materials_managers.mpl.cmm import CryptoMaterialsManagerFromMPL except ImportError as e: - print("streamingerror " + str(e)) _HAS_MPL = False _LOGGER = logging.getLogger(__name__) diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py index bcb2743f7..36e993256 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py @@ -130,12 +130,14 @@ def match(self, name, decrypt_fn): # fails in some way, and hence the overly-broad implicit try/catch here. with pytest.raises(Exception): - # When the exception is raised, - # it will write stderrs to console. - # However, this branch is expected to raise an exception, - # and will write that exception to console. - # Swallow the exception so CI build logs are cleaner, + # Here, an exception is expected. + # However, when the expected exception is raised, + # the Python environment will write stderrs to console. + # Redirect stderr to null-like sink + # so local and CI build logs are cleaner, # and any actual issues are easier to see. + # If an exception is not raised as expected, + # `pytest.raises` will fail. f = io.StringIO() with contextlib.redirect_stderr(f): decrypt_fn() From 363e0cecbd609fa70d8fa46ed4e7d6dac465620a Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 06:28:57 -0700 Subject: [PATCH 10/21] lint --- .../src/awses_test_vectors/manifests/full_message/decrypt.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py index 36e993256..c2a233ca6 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/full_message/decrypt.py @@ -138,8 +138,8 @@ def match(self, name, decrypt_fn): # and any actual issues are easier to see. # If an exception is not raised as expected, # `pytest.raises` will fail. - f = io.StringIO() - with contextlib.redirect_stderr(f): + tmp_file = io.StringIO() + with contextlib.redirect_stderr(tmp_file): decrypt_fn() except BaseException: # Translate the exception just to attach context. From b4505383f663ba8514dce948c96a4742b7290fec Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 06:38:10 -0700 Subject: [PATCH 11/21] lint --- src/aws_encryption_sdk/streaming_client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aws_encryption_sdk/streaming_client.py b/src/aws_encryption_sdk/streaming_client.py index c95072aea..64d77b91a 100644 --- a/src/aws_encryption_sdk/streaming_client.py +++ b/src/aws_encryption_sdk/streaming_client.py @@ -76,7 +76,7 @@ # Import internal ESDK modules that depend on the MPL from aws_encryption_sdk.materials_managers.mpl.cmm import CryptoMaterialsManagerFromMPL -except ImportError as e: +except ImportError: _HAS_MPL = False _LOGGER = logging.getLogger(__name__) From f97315e8d4b93cb8f41ea5c0f017e4625fea0684 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 07:25:02 -0700 Subject: [PATCH 12/21] Update .github/workflows/ci_tests.yaml --- .github/workflows/ci_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 1a3229683..8022b7b96 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,7 +25,7 @@ jobs: matrix: os: - ubuntu-latest - - windows-latest + - windows-latest - macos-12 python: - 3.8 From 4b6834f28887a057a0655016a35e89e06413c55c Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 07:37:26 -0700 Subject: [PATCH 13/21] fix vectors --- codebuild/py312/generate_decrypt_vectors_keyrings.yml | 2 +- examples/src/aws_kms_discovery_keyring_example.py | 4 ++++ performance_tests/requirements_mpl.txt | 2 +- .../src/awses_test_vectors/manifests/mpl_keyring.py | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/codebuild/py312/generate_decrypt_vectors_keyrings.yml b/codebuild/py312/generate_decrypt_vectors_keyrings.yml index ae79b86ce..dfbe15279 100644 --- a/codebuild/py312/generate_decrypt_vectors_keyrings.yml +++ b/codebuild/py312/generate_decrypt_vectors_keyrings.yml @@ -21,7 +21,7 @@ phases: - pip install "tox < 4.0" - cd test_vector_handlers - | - tox -- \ + tox -e py312-full_decrypt_generate-mpl -- \ --input test/aws-crypto-tools-test-vector-framework/features/CANONICAL-GENERATED-MANIFESTS/0006-awses-message-decryption-generation.v2.json \ --output 312_keyrings \ --keyrings diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index d78121bc3..50c38b26f 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -51,6 +51,10 @@ EXAMPLE_DATA: bytes = b"Hello World" +from aws_cryptographic_materialproviders.smithygenerated.aws_cryptography_keystore.models import KMSConfigurationMrDiscovery + +a = KMSConfigurationMrDiscovery() + def encrypt_and_decrypt_with_keyring( kms_key_id: str, aws_account_id: str, diff --git a/performance_tests/requirements_mpl.txt b/performance_tests/requirements_mpl.txt index 209e10f2c..28d7dc356 100644 --- a/performance_tests/requirements_mpl.txt +++ b/performance_tests/requirements_mpl.txt @@ -1 +1 @@ -aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file +aws-cryptographic-material-providers @ git+https://github.com/aws/aws-cryptographic-material-providers-library.git@lucmcdon/python-mpl-v2#subdirectory=AwsCryptographicMaterialProviders/runtimes/python \ No newline at end of file diff --git a/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py b/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py index ec35147c0..566bd7f55 100644 --- a/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py +++ b/test_vector_handlers/src/awses_test_vectors/manifests/mpl_keyring.py @@ -31,7 +31,7 @@ from aws_cryptographic_materialproviders.mpl.models import CreateMultiKeyringInput import _dafny -import UTF8 +from standard_library.internaldafny.generated import UTF8 # Ignore pylint not being able to read a module that requires the MPL # pylint: disable=no-name-in-module From cb38938f575fe2e3ccd637c7e2a595c55c55ead7 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 07:37:58 -0700 Subject: [PATCH 14/21] fix vectors? --- codebuild/py312/generate_decrypt_vectors_keyrings.yml | 2 +- examples/src/aws_kms_discovery_keyring_example.py | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/codebuild/py312/generate_decrypt_vectors_keyrings.yml b/codebuild/py312/generate_decrypt_vectors_keyrings.yml index dfbe15279..ae79b86ce 100644 --- a/codebuild/py312/generate_decrypt_vectors_keyrings.yml +++ b/codebuild/py312/generate_decrypt_vectors_keyrings.yml @@ -21,7 +21,7 @@ phases: - pip install "tox < 4.0" - cd test_vector_handlers - | - tox -e py312-full_decrypt_generate-mpl -- \ + tox -- \ --input test/aws-crypto-tools-test-vector-framework/features/CANONICAL-GENERATED-MANIFESTS/0006-awses-message-decryption-generation.v2.json \ --output 312_keyrings \ --keyrings diff --git a/examples/src/aws_kms_discovery_keyring_example.py b/examples/src/aws_kms_discovery_keyring_example.py index 50c38b26f..d78121bc3 100644 --- a/examples/src/aws_kms_discovery_keyring_example.py +++ b/examples/src/aws_kms_discovery_keyring_example.py @@ -51,10 +51,6 @@ EXAMPLE_DATA: bytes = b"Hello World" -from aws_cryptographic_materialproviders.smithygenerated.aws_cryptography_keystore.models import KMSConfigurationMrDiscovery - -a = KMSConfigurationMrDiscovery() - def encrypt_and_decrypt_with_keyring( kms_key_id: str, aws_account_id: str, From 918598982f68cf552c4e8f316d38d0bb06122f50 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 08:03:21 -0700 Subject: [PATCH 15/21] Update .github/workflows/ci_tests.yaml --- .github/workflows/ci_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 8022b7b96..1a3229683 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,7 +25,7 @@ jobs: matrix: os: - ubuntu-latest - - windows-latest + - windows-latest - macos-12 python: - 3.8 From 5050b8e14933ac7a991dc99a4883273e4c158822 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 08:19:26 -0700 Subject: [PATCH 16/21] Update .github/workflows/ci_tests.yaml --- .github/workflows/ci_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 1a3229683..8022b7b96 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,7 +25,7 @@ jobs: matrix: os: - ubuntu-latest - - windows-latest + - windows-latest - macos-12 python: - 3.8 From 2b8e48c037a604e0afef06b3cbd93e8edad11ce2 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 08:46:21 -0700 Subject: [PATCH 17/21] Update .github/workflows/ci_tests.yaml --- .github/workflows/ci_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index 8022b7b96..d2138de96 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,7 +25,7 @@ jobs: matrix: os: - ubuntu-latest - - windows-latest + - windows-latest - macos-12 python: - 3.8 From 4e65ff7265a8fc3ac606e52aa266f4e1024c1a2f Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 08:56:32 -0700 Subject: [PATCH 18/21] fix --- examples/src/branch_key_id_supplier_example.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/src/branch_key_id_supplier_example.py b/examples/src/branch_key_id_supplier_example.py index b3d26497b..8f9bdc116 100644 --- a/examples/src/branch_key_id_supplier_example.py +++ b/examples/src/branch_key_id_supplier_example.py @@ -25,15 +25,17 @@ def get_branch_key_id( """Returns branch key ID from the tenant ID in input's encryption context.""" encryption_context: Dict[str, str] = param.encryption_context - if b"tenant" not in encryption_context: + print(f"{encryption_context=}") + + if "tenant" not in encryption_context: raise ValueError("EncryptionContext invalid, does not contain expected tenant key value pair.") - tenant_key_id: str = encryption_context.get(b"tenant") + tenant_key_id: str = encryption_context.get("tenant") branch_key_id: str - if tenant_key_id == b"TenantA": + if tenant_key_id == "TenantA": branch_key_id = self.branch_key_id_for_tenant_A - elif tenant_key_id == b"TenantB": + elif tenant_key_id == "TenantB": branch_key_id = self.branch_key_id_for_tenant_B else: raise ValueError(f"Item does not contain valid tenant ID: {tenant_key_id=}") From 8c9cb4a663a48d963ee2ef7747fcfe4c2782371f Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 08:59:04 -0700 Subject: [PATCH 19/21] Update examples/src/branch_key_id_supplier_example.py --- examples/src/branch_key_id_supplier_example.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/src/branch_key_id_supplier_example.py b/examples/src/branch_key_id_supplier_example.py index 8f9bdc116..b25d9abeb 100644 --- a/examples/src/branch_key_id_supplier_example.py +++ b/examples/src/branch_key_id_supplier_example.py @@ -25,8 +25,6 @@ def get_branch_key_id( """Returns branch key ID from the tenant ID in input's encryption context.""" encryption_context: Dict[str, str] = param.encryption_context - print(f"{encryption_context=}") - if "tenant" not in encryption_context: raise ValueError("EncryptionContext invalid, does not contain expected tenant key value pair.") From cc47caf049f7dfc246141eccfa950a1cfe18c918 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Fri, 2 Aug 2024 09:19:06 -0700 Subject: [PATCH 20/21] Update .github/workflows/ci_tests.yaml --- .github/workflows/ci_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_tests.yaml b/.github/workflows/ci_tests.yaml index d2138de96..1a3229683 100644 --- a/.github/workflows/ci_tests.yaml +++ b/.github/workflows/ci_tests.yaml @@ -25,7 +25,7 @@ jobs: matrix: os: - ubuntu-latest - - windows-latest + - windows-latest - macos-12 python: - 3.8 From 9085f08aea507a78512818cd36a6a3c439936f61 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Mon, 5 Aug 2024 10:53:16 -0700 Subject: [PATCH 21/21] fix --- .../src/default_cryptographic_materials_manager_example.py | 7 ------- 1 file changed, 7 deletions(-) diff --git a/examples/src/default_cryptographic_materials_manager_example.py b/examples/src/default_cryptographic_materials_manager_example.py index bfffc36d9..15a9f22cf 100644 --- a/examples/src/default_cryptographic_materials_manager_example.py +++ b/examples/src/default_cryptographic_materials_manager_example.py @@ -18,8 +18,6 @@ For more information on Cryptographic Material Managers, see https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/concepts.html#crypt-materials-manager """ -import sys - import boto3 from aws_cryptographic_materialproviders.mpl import AwsCryptographicMaterialProviders from aws_cryptographic_materialproviders.mpl.config import MaterialProvidersConfig @@ -33,11 +31,6 @@ import aws_encryption_sdk from aws_encryption_sdk import CommitmentPolicy -# TODO-MPL: Remove this as part of removing PYTHONPATH hacks. -MODULE_ROOT_DIR = '/'.join(__file__.split("/")[:-1]) - -sys.path.append(MODULE_ROOT_DIR) - EXAMPLE_DATA: bytes = b"Hello World"