From ffd0c3fa212f45f37a4506bf0a48b074b455bdad Mon Sep 17 00:00:00 2001 From: Ritvik Kapila Date: Tue, 17 Dec 2024 18:21:40 -0800 Subject: [PATCH 1/6] chore(mpl;Rust): bump mpl to include rust input validation --- AwsEncryptionSDK/runtimes/rust/.gitignore | 1 + AwsEncryptionSDK/runtimes/rust/Cargo.toml | 3 ++- AwsEncryptionSDK/runtimes/rust/src/lib.rs | 1 + TestVectors/runtimes/rust/.gitignore | 1 + TestVectors/runtimes/rust/Cargo.toml | 3 ++- TestVectors/runtimes/rust/src/main.rs | 1 + mpl | 2 +- 7 files changed, 9 insertions(+), 3 deletions(-) diff --git a/AwsEncryptionSDK/runtimes/rust/.gitignore b/AwsEncryptionSDK/runtimes/rust/.gitignore index 64f2210e2..e0c923a7d 100644 --- a/AwsEncryptionSDK/runtimes/rust/.gitignore +++ b/AwsEncryptionSDK/runtimes/rust/.gitignore @@ -30,6 +30,7 @@ src/storm_tracker.rs src/time.rs src/types/ src/uuid.rs +src/validation.rs standard_library_conversions.rs standard_library_externs.rs target diff --git a/AwsEncryptionSDK/runtimes/rust/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/Cargo.toml index 7581e0849..a8fe4ca93 100644 --- a/AwsEncryptionSDK/runtimes/rust/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/Cargo.toml @@ -18,12 +18,13 @@ readme = "README.md" [dependencies] aws-config = "1.5.10" aws-lc-rs = "1.11.1" -aws-lc-sys = "0.23.1" +aws-lc-sys = "0.24.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } aws-smithy-types = "1.2.9" chrono = "0.4.38" +cpu-time = "1.0.0" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" diff --git a/AwsEncryptionSDK/runtimes/rust/src/lib.rs b/AwsEncryptionSDK/runtimes/rust/src/lib.rs index 8f8fb2cf5..8d476fa29 100644 --- a/AwsEncryptionSDK/runtimes/rust/src/lib.rs +++ b/AwsEncryptionSDK/runtimes/rust/src/lib.rs @@ -14,6 +14,7 @@ pub mod error; /// All operations that this crate can perform. pub mod operation; pub mod types; +pub mod validation; #[cfg(feature = "wrapped-client")] pub mod wrapped; diff --git a/TestVectors/runtimes/rust/.gitignore b/TestVectors/runtimes/rust/.gitignore index f9466ccda..e9aecbc0a 100644 --- a/TestVectors/runtimes/rust/.gitignore +++ b/TestVectors/runtimes/rust/.gitignore @@ -34,4 +34,5 @@ src/types/ src/uuid.rs src/wrapped.rs src/wrapped/ +src/validation.rs target diff --git a/TestVectors/runtimes/rust/Cargo.toml b/TestVectors/runtimes/rust/Cargo.toml index ca4d72955..a1d79d211 100644 --- a/TestVectors/runtimes/rust/Cargo.toml +++ b/TestVectors/runtimes/rust/Cargo.toml @@ -16,12 +16,13 @@ wrapped-client = [] [dependencies] aws-config = "1.5.6" aws-lc-rs = "1.11.1" -aws-lc-sys = "0.23.1" +aws-lc-sys = "0.24.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.2", features = ["client"] } aws-smithy-types = "1.2.6" chrono = "0.4.38" +cpu-time = "1.0.0" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" diff --git a/TestVectors/runtimes/rust/src/main.rs b/TestVectors/runtimes/rust/src/main.rs index 7ad5d60d9..5e2e3ffbf 100644 --- a/TestVectors/runtimes/rust/src/main.rs +++ b/TestVectors/runtimes/rust/src/main.rs @@ -12,6 +12,7 @@ pub mod error; /// All operations that this crate can perform. pub mod operation; pub mod types; +pub mod validation; #[cfg(feature = "wrapped-client")] pub mod wrapped; diff --git a/mpl b/mpl index b5c3522da..b13ac44e1 160000 --- a/mpl +++ b/mpl @@ -1 +1 @@ -Subproject commit b5c3522da3cfafddd2b180e5fe110e1cf1fc1129 +Subproject commit b13ac44e17f3be3eaecabab957754d417f3820a6 From fb8cba601fdc9f5b6e856a9be897dda02f91ffc8 Mon Sep 17 00:00:00 2001 From: Andy Jewell Date: Wed, 18 Dec 2024 15:20:54 -0500 Subject: [PATCH 2/6] chore: bump smithy-dafny --- AwsEncryptionSDK/runtimes/rust/Cargo.toml | 12 +++++------ .../runtimes/rust/test_examples/Cargo.toml | 12 +++++------ TestVectors/runtimes/rust/Cargo.toml | 20 +++++++++---------- mpl | 2 +- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/AwsEncryptionSDK/runtimes/rust/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/Cargo.toml index 7581e0849..ee0a74f6d 100644 --- a/AwsEncryptionSDK/runtimes/rust/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/Cargo.toml @@ -2,7 +2,7 @@ name = "aws-esdk" version = "0.1.0" edition = "2021" -rust-version = "1.80.0" +rust-version = "1.81.0" keywords = ["cryptography", "security", "dynamodb", "encryption", "client-side"] license = "ISC AND (Apache-2.0 OR ISC)" description = "aws-esdk is a library for implementing client side encryption." @@ -16,14 +16,14 @@ readme = "README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aws-config = "1.5.10" -aws-lc-rs = "1.11.1" -aws-lc-sys = "0.23.1" +aws-config = "1.5.11" +aws-lc-rs = "1.12.0" +aws-lc-sys = "0.22.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } -aws-smithy-types = "1.2.9" -chrono = "0.4.38" +aws-smithy-types = "1.2.10" +chrono = "0.4.39" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" diff --git a/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml index aae3ec203..a3111391c 100644 --- a/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml @@ -1,19 +1,19 @@ [package] name = "aws-esdk-examples" edition = "2021" -rust-version = "1.80.0" +rust-version = "1.81.0" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -aws-config = "1.5.10" -aws-lc-rs = "1.11.1" -aws-lc-sys = "0.23.1" +aws-config = "1.5.11" +aws-lc-rs = "1.12.0" +aws-lc-sys = "0.22.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } -aws-smithy-types = "1.2.9" -chrono = "0.4.38" +aws-smithy-types = "1.2.10" +chrono = "0.4.39" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" diff --git a/TestVectors/runtimes/rust/Cargo.toml b/TestVectors/runtimes/rust/Cargo.toml index ca4d72955..5d52f2d19 100644 --- a/TestVectors/runtimes/rust/Cargo.toml +++ b/TestVectors/runtimes/rust/Cargo.toml @@ -2,7 +2,7 @@ name = "aws-esdk-test-vectors" version = "0.1.0" edition = "2021" -rust-version = "1.80.0" +rust-version = "1.81.0" description = "aws-esdk-test-vectors is a library for testing aws-esdk." authors = ["AWS-CryptoTools"] autoexamples = false @@ -14,20 +14,20 @@ readme = "README.md" wrapped-client = [] [dependencies] -aws-config = "1.5.6" -aws-lc-rs = "1.11.1" -aws-lc-sys = "0.23.1" -aws-sdk-dynamodb = "1.55.0" -aws-sdk-kms = "1.51.0" -aws-smithy-runtime-api = {version = "1.7.2", features = ["client"] } -aws-smithy-types = "1.2.6" -chrono = "0.4.38" +aws-config = "1.5.11" +aws-lc-rs = "1.12.0" +aws-lc-sys = "0.22.0" +aws-sdk-dynamodb = "1.56.0" +aws-sdk-kms = "1.52.0" +aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } +aws-smithy-types = "1.2.10" +chrono = "0.4.39" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" rand = "0.8.5" tokio = {version = "1.42.0", features = ["full"] } -uuid = { version = "1.10.0", features = ["v4"] } +uuid = { version = "1.11.0", features = ["v4"] } [dev-dependencies] aws-esdk-test-vectors = { path = ".", features = ["wrapped-client"] } diff --git a/mpl b/mpl index b5c3522da..0e2859d43 160000 --- a/mpl +++ b/mpl @@ -1 +1 @@ -Subproject commit b5c3522da3cfafddd2b180e5fe110e1cf1fc1129 +Subproject commit 0e2859d43710373c0df06783db7d38afe3f0bea7 From 0874a7dd978eccd29405edfff6310217cef309c1 Mon Sep 17 00:00:00 2001 From: Ritvik Kapila Date: Wed, 18 Dec 2024 13:19:33 -0800 Subject: [PATCH 3/6] update README --- AwsEncryptionSDK/runtimes/rust/CHANGELOG.md | 13 ++++ AwsEncryptionSDK/runtimes/rust/README.md | 62 +++++--------------- AwsEncryptionSDK/runtimes/rust/src/README.md | 48 +++++++++++++++ 3 files changed, 77 insertions(+), 46 deletions(-) create mode 100644 AwsEncryptionSDK/runtimes/rust/src/README.md diff --git a/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md b/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md index 4dc68c6ff..525fb3286 100644 --- a/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md +++ b/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md @@ -1,2 +1,15 @@ # Changelog +All notable changes to this project will be documented in this file. + +## 0.2.0 (2024-12-18) + +### Fixes +- Support input validation + +### Maintenance +- Add version branch key example + +## 0.1.0 (2024-12-09) + +Initial launch of the AWS Encryption SDK for Rust. diff --git a/AwsEncryptionSDK/runtimes/rust/README.md b/AwsEncryptionSDK/runtimes/rust/README.md index c48ae96c6..599a1c7fc 100644 --- a/AwsEncryptionSDK/runtimes/rust/README.md +++ b/AwsEncryptionSDK/runtimes/rust/README.md @@ -1,63 +1,33 @@ # AWS Encryption SDK for Rust -AWS Encryption SDK for Rust +[![build status](https://github.com/aws/aws-encryption-sdk-dafny/actions/workflows/daily_ci.yml/badge.svg?branch=mainline)](https://github.com/aws/aws-encryption-sdk-dafny/actions/workflows/daily_ci.yml) +[![crates.io](https://img.shields.io/crates/v/aws-esdk.svg)](https://crates.io/crates/aws-esdk) +[![docs](https://docs.rs/aws-esdk/badge.svg)](https://docs.rs/aws-esdk) +[![rustc](https://img.shields.io/badge/rust-1.81%2B-orange.svg)](https://img.shields.io/badge/rust-1.81%2B-orange.svg) -## Using the AWS Encryption SDK for Rust +This is the official [AWS Encryption SDK for Rust](https://crates.io/crates/aws-esdk). -The AWS Encryption SDK is available on [Crates.io](https://www.crates.io/). +## [CHANGELOG](https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/AwsEncryptionSDK/runtimes/rust/CHANGELOG.md) -For more details about the design and architecture of the AWS Encryption SDK, see the [AWS Encryption SDK Developer Guide](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html). - -## Building the AWS Encryption SDK for Rust - -To build, the AWS Encryption SDK requires the most up to date version of [Dafny](https://github.com/dafny-lang/dafny) on your PATH. - -You will also need to ensure that you fetch all submodules using either `git clone --recursive ...` when cloning the repository or `git submodule update --init` on an existing clone. - -To setup your project to use the AWS Encryption SDK in Rust, run: - -``` -cd AwsEncryptionSDK -# Polymorph smithy to Rust -make polymorph_rust -# Transpile Dafny to Rust -make transpile_rust -``` - -### (Optional) Set up the AWS Encryption SDK to work with AWS KMS +## Overview -If you set up the AWS Encryption SDK to use the AWS KMS Keyring, -the AWS Encryption SDK will make calls to AWS KMS on your behalf, -using the appropriate AWS SDK. +The AWS Encryption SDK enables secure client-side encryption. It uses cryptography best practices to protect your data and protect the encryption keys that protect your data. Each data object is protected with a unique data encryption key, and the data encryption key is protected with a key encryption key called a wrapping key. The encryption method returns a single, portable [encrypted message](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/message-format.html) that contains the encrypted data and the encrypted data key, so you don't need to keep track of the data encryption keys for your data. You can use KMS keys in [AWS Key Management Service](https://aws.amazon.com/kms/) (AWS KMS) as wrapping keys. The AWS Encryption SDK also provides APIs to define and use encryption keys from other key providers. -However, you must first set up AWS credentials for use with the AWS SDK. - -## Testing the AWS Encryption SDK for Rust - -### Configure AWS credentials - -To run the test suite you must first set up AWS credentials for use with the AWS SDK. -This is required in order to run the integration tests, which use a KMS Keyring against a publicly accessible KMS CMK. - -### Run the tests +For more details about the design and architecture of the AWS Encryption SDK, see the [AWS Encryption SDK Developer Guide](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html). -Run the test suite with: +## Using the AWS Encryption SDK in Rust +Add the following to your `Cargo.toml` with the correct version number: ``` -cd AwsEncryptionSDK -make test_rust +[dependencies] +aws-esdk = "" ``` -Run tests on examples, to ensure they are up to date: - -``` -cd AwsEncryptionSDK/runtimes/rust/ -cargo test --examples -``` +## Examples for AWS Encryption SDK in Rust -Please look at the Examples on how to use the Encryption SDK in Rust [here](examples). +Please look at the Examples on how to use the Encryption SDK in Rust [here](https://github.com/aws/aws-encryption-sdk-dafny/tree/mainline/AwsEncryptionSDK/runtimes/rust/examples). -Please note that tests and test vectors require internet access and valid AWS credentials, since calls to KMS are made as part of the test workflow. +Please note that some examples MAY require internet access and valid AWS credentials, since calls to KMS are made. ## License diff --git a/AwsEncryptionSDK/runtimes/rust/src/README.md b/AwsEncryptionSDK/runtimes/rust/src/README.md new file mode 100644 index 000000000..33491c938 --- /dev/null +++ b/AwsEncryptionSDK/runtimes/rust/src/README.md @@ -0,0 +1,48 @@ +## Building the AWS Encryption SDK for Rust from source + +To build, the AWS Encryption SDK requires the most up to date version of [Dafny](https://github.com/dafny-lang/dafny) on your PATH. + +You will also need to ensure that you fetch all submodules using either `git clone --recursive ...` when cloning the repository or `git submodule update --init` on an existing clone. + +To setup your project to use the AWS Encryption SDK in Rust, run: + +``` +cd AwsEncryptionSDK +# Polymorph smithy to Rust +make polymorph_rust +# Transpile Dafny to Rust +make transpile_rust +``` + +### (Optional) Set up the AWS Encryption SDK to work with AWS KMS + +If you set up the AWS Encryption SDK to use the AWS KMS Keyring, +the AWS Encryption SDK will make calls to AWS KMS on your behalf, +using the appropriate AWS SDK. + +However, you must first set up AWS credentials for use with the AWS SDK. + +## Testing the AWS Encryption SDK for Rust + +### Configure AWS credentials + +To run the test suite you must first set up AWS credentials for use with the AWS SDK. +This is required in order to run the integration tests, which use a KMS Keyring against a publicly accessible KMS CMK. + +### Run the tests + +Run the test suite with: + +``` +cd AwsEncryptionSDK +make test_rust +``` + +Run tests on examples, to ensure they are up to date: + +``` +cd AwsEncryptionSDK/runtimes/rust/ +cargo test --examples +``` + +Please note that tests and test vectors require internet access and valid AWS credentials, since calls to KMS are made as part of the test workflow. From 962686ddb740f2ec5ebc34a59fdba6f3abe3094d Mon Sep 17 00:00:00 2001 From: Ritvik Kapila Date: Wed, 18 Dec 2024 13:47:32 -0800 Subject: [PATCH 4/6] fix --- AwsEncryptionSDK/runtimes/rust/Cargo.toml | 1 + AwsEncryptionSDK/runtimes/rust/README.md | 8 -------- AwsEncryptionSDK/runtimes/rust/start_release.sh | 2 +- TestVectors/runtimes/rust/Cargo.toml | 1 + 4 files changed, 3 insertions(+), 9 deletions(-) diff --git a/AwsEncryptionSDK/runtimes/rust/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/Cargo.toml index ee0a74f6d..0a9a072ca 100644 --- a/AwsEncryptionSDK/runtimes/rust/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/Cargo.toml @@ -24,6 +24,7 @@ aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } aws-smithy-types = "1.2.10" chrono = "0.4.39" +cpu-time = "1.0.0" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" diff --git a/AwsEncryptionSDK/runtimes/rust/README.md b/AwsEncryptionSDK/runtimes/rust/README.md index 599a1c7fc..612c2cac5 100644 --- a/AwsEncryptionSDK/runtimes/rust/README.md +++ b/AwsEncryptionSDK/runtimes/rust/README.md @@ -15,14 +15,6 @@ The AWS Encryption SDK enables secure client-side encryption. It uses cryptograp For more details about the design and architecture of the AWS Encryption SDK, see the [AWS Encryption SDK Developer Guide](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html). -## Using the AWS Encryption SDK in Rust - -Add the following to your `Cargo.toml` with the correct version number: -``` -[dependencies] -aws-esdk = "" -``` - ## Examples for AWS Encryption SDK in Rust Please look at the Examples on how to use the Encryption SDK in Rust [here](https://github.com/aws/aws-encryption-sdk-dafny/tree/mainline/AwsEncryptionSDK/runtimes/rust/examples). diff --git a/AwsEncryptionSDK/runtimes/rust/start_release.sh b/AwsEncryptionSDK/runtimes/rust/start_release.sh index 91e80d65e..07cb77691 100755 --- a/AwsEncryptionSDK/runtimes/rust/start_release.sh +++ b/AwsEncryptionSDK/runtimes/rust/start_release.sh @@ -40,7 +40,7 @@ cp -r . ../../../releases/rust/esdk cd ../../../releases/rust/esdk # Remove unnecessary files and directories -rm -rf *~ copy_externs.sh start_release.sh test_published.sh test_examples *.pem RELEASE.md CHANGELOG.md +rm -rf *~ copy_externs.sh start_release.sh test_published.sh test_examples *.pem RELEASE.md CHANGELOG.md src/README.md # Create .gitignore file with specified entries echo Cargo.lock > .gitignore diff --git a/TestVectors/runtimes/rust/Cargo.toml b/TestVectors/runtimes/rust/Cargo.toml index 5d52f2d19..2139c8410 100644 --- a/TestVectors/runtimes/rust/Cargo.toml +++ b/TestVectors/runtimes/rust/Cargo.toml @@ -22,6 +22,7 @@ aws-sdk-kms = "1.52.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } aws-smithy-types = "1.2.10" chrono = "0.4.39" +cpu-time = "1.0.0" dafny-runtime = "0.1.1" dashmap = "6.1.0" pem = "3.0.4" From 2b4c1cea621bf7dc085515769f21b11ee1b9d7a7 Mon Sep 17 00:00:00 2001 From: Ritvik Kapila Date: Wed, 18 Dec 2024 15:22:57 -0800 Subject: [PATCH 5/6] fix aees192 --- AwsEncryptionSDK/runtimes/rust/Cargo.toml | 2 +- TestVectors/runtimes/rust/Cargo.toml | 2 +- mpl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/AwsEncryptionSDK/runtimes/rust/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/Cargo.toml index 0a9a072ca..f27355efb 100644 --- a/AwsEncryptionSDK/runtimes/rust/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/Cargo.toml @@ -18,7 +18,7 @@ readme = "README.md" [dependencies] aws-config = "1.5.11" aws-lc-rs = "1.12.0" -aws-lc-sys = "0.22.0" +aws-lc-sys = "0.24.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } diff --git a/TestVectors/runtimes/rust/Cargo.toml b/TestVectors/runtimes/rust/Cargo.toml index 2139c8410..37c842f31 100644 --- a/TestVectors/runtimes/rust/Cargo.toml +++ b/TestVectors/runtimes/rust/Cargo.toml @@ -16,7 +16,7 @@ wrapped-client = [] [dependencies] aws-config = "1.5.11" aws-lc-rs = "1.12.0" -aws-lc-sys = "0.22.0" +aws-lc-sys = "0.24.0" aws-sdk-dynamodb = "1.56.0" aws-sdk-kms = "1.52.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] } diff --git a/mpl b/mpl index 0e2859d43..23650a9c6 160000 --- a/mpl +++ b/mpl @@ -1 +1 @@ -Subproject commit 0e2859d43710373c0df06783db7d38afe3f0bea7 +Subproject commit 23650a9c6e1c897455e2d59d15b7d7a2c5a07cdd From b9ec0a44375f83f7c82887f52be640acef92fb27 Mon Sep 17 00:00:00 2001 From: Ritvik Kapila Date: Wed, 18 Dec 2024 15:38:16 -0800 Subject: [PATCH 6/6] m --- AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml b/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml index a3111391c..6421627d3 100644 --- a/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml +++ b/AwsEncryptionSDK/runtimes/rust/test_examples/Cargo.toml @@ -8,7 +8,7 @@ rust-version = "1.81.0" [dependencies] aws-config = "1.5.11" aws-lc-rs = "1.12.0" -aws-lc-sys = "0.22.0" +aws-lc-sys = "0.24.0" aws-sdk-dynamodb = "1.55.0" aws-sdk-kms = "1.51.0" aws-smithy-runtime-api = {version = "1.7.3", features = ["client"] }