AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption
3.0.0
Prefix Reserved
dotnet add package AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption --version 3.0.0
NuGet\Install-Package AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption -Version 3.0.0
<PackageReference Include="AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption" Version="3.0.0" />
<PackageVersion Include="AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption" Version="3.0.0" />
<PackageReference Include="AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption" />
paket add AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption --version 3.0.0
#r "nuget: AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption, 3.0.0"
#:package AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption@3.0.0
#addin nuget:?package=AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption&version=3.0.0
#tool nuget:?package=AWS.AdvancedDotnetDataProviderWrapper.Plugin.KmsEncryption&version=3.0.0
AWS Advanced .NET Data Provider Wrapper - KMS Encryption Plugin
Overview
This plugin provides transparent client-side column encryption for the AWS Advanced .NET Data Provider Wrapper using AWS Key Management Service (KMS). Values written to a configured column are encrypted before they leave the application, and decrypted after they are read back, so the database only ever stores ciphertext and no application code changes are required.
Encryption uses envelope encryption: a KMS master key protects per-column data keys, and those data keys perform the AES-GCM encryption locally. Data keys are cached in memory so the common path does not call KMS.
Dependencies
This project depends on:
- AWSSDK.KeyManagementService: AWS SDK for KMS to generate and decrypt data keys
- SqlParserCS: SQL parsing, to work out which parameter supplies which column's value
Both are brought in with this package; nothing needs to be added to your project.
Usage
Register the KMS Encryption plugin before using it:
using AwsWrapperDataProvider.Driver.Plugins;
using AwsWrapperDataProvider.Plugin.KmsEncryption.KmsEncryption;
// Register the KMS Encryption plugin
ConnectionPluginChainBuilder.RegisterPluginFactory<KmsEncryptionPluginFactory>(PluginCodes.KmsEncryption);
// Use in connection string
var connectionString = "Server=your-rds-instance.amazonaws.com;" +
"Database=mydb;" +
"KmsRegion=us-east-1;" +
"Plugins=kmsEncryption;";
This plugin also requires encryption metadata tables in the database, which record which columns are encrypted and with which key and algorithm. See the documentation below for the required schema and for how to register a column for encryption.
Documentation
For comprehensive information about client-side encryption and the AWS Advanced .NET Data Provider Wrapper, visit the Using the KMS Encryption Plugin guide.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- AWS.AdvancedDotnetDataProviderWrapper.Authentication (>= 3.0.0)
- AWS.AdvancedDotnetDataProviderWrapper.Core (>= 3.0.0)
- AWSSDK.KeyManagementService (>= 4.0.100.14)
- SqlParserCS (>= 0.6.5)
-
net8.0
- AWS.AdvancedDotnetDataProviderWrapper.Authentication (>= 3.0.0)
- AWS.AdvancedDotnetDataProviderWrapper.Core (>= 3.0.0)
- AWSSDK.KeyManagementService (>= 4.0.100.14)
- SqlParserCS (>= 0.6.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 94 | 9/29/2026 |
See release notes at https://github.com/aws/aws-advanced-dotnet-data-provider-wrapper/releases