AWS.Cryptography.DbEncryptionSDK.DynamoDb 3.6.1
前缀已保留
dotnet add package AWS.Cryptography.DbEncryptionSDK.DynamoDb --version 3.6.1
NuGet\Install-Package AWS.Cryptography.DbEncryptionSDK.DynamoDb -Version 3.6.1
<PackageReference Include="AWS.Cryptography.DbEncryptionSDK.DynamoDb" Version="3.6.1" />
paket add AWS.Cryptography.DbEncryptionSDK.DynamoDb --version 3.6.1
#r "nuget: AWS.Cryptography.DbEncryptionSDK.DynamoDb, 3.6.1"
// Install AWS.Cryptography.DbEncryptionSDK.DynamoDb as a Cake Addin #addin nuget:?package=AWS.Cryptography.DbEncryptionSDK.DynamoDb&version=3.6.1 // Install AWS.Cryptography.DbEncryptionSDK.DynamoDb as a Cake Tool #tool nuget:?package=AWS.Cryptography.DbEncryptionSDK.DynamoDb&version=3.6.1
DynamoDbEncryption
此项目实现了针对 .NET 的 AWS DynamoDB 数据库加密 SDK。
使用 AWS DynamoDB 数据库加密 SDK for .NET
AWS DynamoDB 数据库加密 SDK 可在 NuGet 上找到,可以通过常规方式从现有的 .csproj
中引用。
使用 dotnet CLI
dotnet add <your-project-name>.csproj package AWS.Cryptography.DbEncryptionSDK.DynamoDb
另请直接修改 .csproj
文件,将 AWS 数据库加密 SDK for DynamoDB 添加到 PackageReference
ItemGroup
。
<PackageReference Include="AWS.Cryptography.DbEncryptionSDK.DynamoDb" />
AWS DynamoDB 数据库加密 SDK 针对所有平台的 .NET 6.0 及更高版本,以及仅在 Windows 上支持的 .NET Framework 4.8.0 及更高版本。
仅用于 macOS 的额外设置
如果您正在使用 macOS,则必须安装 OpenSSL 1.1,并且 OpenSSL 1.1 的 lib
目录必须在运行时的动态连接器路径上。另外,如果使用基于 M1 的 Mac,则必须安装 OpenSSL 和 x86-64 的 .NET SDK。有关详细信息,请参阅Wiki。
为 .NET 构建 AWS DynamoDB 数据库加密 SDK
为了构建,AWS DynamoDB 数据库加密 SDK 需要在您的 PATH 中安装最新版本的 Dafny。
AWS DynamoDB 数据库加密 SDK 针对以下框架:net48
和 net6.0
。为了构建和测试 AWS DynamoDB 数据库加密 SDK,您必须安装以下 .NET 工具:
- .NET 6.0 或更高版本
- .NET Framework 4.8.0 或更高版本(如果是在 Windows 上)
您还将需要确保在克隆仓库时使用 git clone --recursive ...
或者在现有的克隆上使用 git submodule update --init
来获取所有子模块。
将所有源文件构建为一个 dll
# Transpile Dafny to .NET
cd DynamoDbEncryption
make transpile_implementation_net
# Run dotnet restore
make setup_net
# Run dotnet build
dotnet build runtimes/net
(可选)设置 AWS DynamoDB 数据库加密 SDK 与 AWS KMS 一起工作
如果您设置 AWS DynamoDB 数据库加密 SDK 以使用 AWS KMS 密钥环,AWS DynamoDB 数据库加密 SDK 将代表您向 AWS KMS 发起调用,使用适当的 AWS SDK。
然而,您必须首先为 AWS SDK 设置 AWS 凭据。设置 AWS 凭据的说明可在AWS SDK for .NET 文档中找到。
测试 AWS DynamoDB 数据库加密 SDK for .NET
配置 AWS 凭据
要运行测试套件,您必须首先为 AWS SDK 设置 AWS 凭据。这是运行集成测试的要求,这些测试使用 KMS 密钥环对公开可访问的 KMS CMK 进行操作。
设置 AWS 凭据的说明可在AWS SDK for .NET 文档中找到。
运行测试
使用以下命令运行测试套件
cd DynamoDbEncryption
make transpile_test_net
# Windows/Linux
make test_net
# On Mac
make test_net_mac_brew
在示例上运行测试,以确保它们是最新的
cd Examples
make transpile_net
cd runtimes/net
dotnet run
请注意,测试和测试向量需要互联网访问和有效的 AWS 凭据,因为调用 KMS 是测试工作流程的一部分。
其他开发建议
大多数 C# IDE 都喜欢 Solution 文件。要为这里的所有项目生成一个 Solution 文件,请运行
cd DynamoDbEncryption/runtimes/net
dotnet new sln --name DBESDK
dotnet sln add $(find . -name '*.csproj')
然后让您的 IDE 打开 DBESDK.sln
。
许可证
此库根据 Apache 2.0 许可证授权。
产品 | 版本 兼容的附加计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET 框架 | net48 兼容。 net481 已计算。 |
-
.NETFramework 4.8
- AWS.Cryptography.MaterialProviders (>= 1.5.1)
- AWSSDK.Core (>= 3.7.304.16)
- AWSSDK.DynamoDBv2 (>= 3.7.303.14)
- DafnyRuntime (>= 4.2.0)
- System.Collections.Immutable >= 1.7.0)
- System.ValueTuple >= 4.5.0)
-
net6.0
- AWS.Cryptography.MaterialProviders (>= 1.5.1)
- AWSSDK.Core (>= 3.7.304.16)
- AWSSDK.DynamoDBv2 (>= 3.7.303.14)
- DafnyRuntime (>= 4.2.0)
- System.Collections.Immutable >= 1.7.0)
- System.ValueTuple >= 4.5.0)
NuGet 包
此包未使用任何 NuGet 包。
GitHub 仓库
此包未使用任何流行的 GitHub 仓库。