AWS Encryption SDK for Rust
This topic explains how to install and use the AWS Encryption SDK for Rust. For details about
programming with the AWS Encryption SDK for Rust, see the Rust
The AWS Encryption SDK for Rust differs from some of the other programming language implementations of the AWS Encryption SDK in the following ways:
-
No support for data key caching. However, the AWS Encryption SDK for Rust supports the AWS KMS Hierarchical keyring, an alternative cryptographic materials caching solution.
-
No support for streaming data
The AWS Encryption SDK for Rust includes all of the security features introduced in versions 2.0.x and later of other language implementations of the AWS Encryption SDK. However, if you are using the AWS Encryption SDK for Rust to decrypt data that was encrypted by a pre-2.0.x version another language implementation of the AWS Encryption SDK, you might need to adjust your commitment policy. For details, see How to set your commitment policy.
The AWS Encryption SDK for Rust is a product of the AWS Encryption SDK in Dafny
Learn More
-
For examples showing how to configure options in the AWS Encryption SDK, such as specifying an alternate algorithm suite, limiting encrypted data keys, and using AWS KMS multi-Region keys, see Configuring the AWS Encryption SDK.
-
For examples showing how to configure and use the AWS Encryption SDK for Rust, see the Rust examples
in the aws-encryption-sdk repository on GitHub.
Prerequisites
Before you install the AWS Encryption SDK for Rust, be sure you have the following prerequisites.
- Install Rust and Cargo
-
Install the current stable release of Rust
using rustup . For more information on downloading and installing rustup, see the installation procedures
in The Cargo Book.
Installation
The AWS Encryption SDK for Rust is available as the aws-esdk
You can install the AWS Encryption SDK for Rust in the following ways.
- Manually
-
To install the AWS Encryption SDK for Rust, clone or download the aws-encryption-sdk
GitHub repository. - Using Crates.io
-
Run the following Cargo command in your project directory:
cargo add aws-esdk
Or add the following line to your Cargo.toml:
aws-esdk = "
<version>
"