AWS 软件开发工具包对 Amazon S3 客户端加密的支持 - AWS 一般参考
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS 软件开发工具包对 Amazon S3 客户端加密的支持

下表列出了语言特定的 AWS 软件开发工具包支持的加密算法和功能列表。有关如何使用特定软件开发工具包的功能的信息,请参阅该软件开发工具包的开发人员指南。

如果您是首次接触加密,请参阅加密基础知识中的AWS Key Management Service 开发人员指南以熟悉术语和概念。

注意

这些区域有:AWS 加密开发工具包是与特定语言的软件开发工具包分离的加密库。您可以使用此加密库更轻松地在 Amazon S3 中实现加密最佳做法。与特定语言的 AWS 软件开发工具包中的 Amazon S3 加密客户端不同,AWS 加密开发工具包不与 Amazon S3 绑定,并且可用于加密或解密要存储在任何位置的数据。

AWS 加密开发工具包和 Amazon S3 加密客户端不兼容,因为它们生成的密文具有不同的数据格式。有关 AWS 加密开发工具包的更多信息,请参阅AWS 加密开发工具包开发人员指南

适用于 Amazon S3 客户端加密的 AWS 软件开发工具包功能

要在上传到 Amazon S3 之前使用 Amazon S3 客户端加密功能对数据进行加密,则必须向 Amazon S3 加密客户端提供主密钥。您可以提供客户端主密钥或使用 AWS Key Management Service (AWS KMS) 管理的主密钥功能。AWS KMS 管理的主密钥功能提供了一种创建和管理用于加密数据的密钥的简单方法。有关这些功能的更多信息,请选择功能column.

有关如何使用特定软件开发工具包的功能的详细信息,请参阅该软件开发工具包的开发人员指南。

在下表中,每一列指示特定语言的 AWS 命令行界面或软件开发工具包是否支持客户端加密中使用的功能。

功能 Java .NET Ruby v2 AWS CLI Boto3 PHP v3 JavaScript 转到 C++
Amazon S3 客户端加密
AWS KMS 管理的主密钥

有关支持客户端加密的 v2 Amazon S3 加密客户端的信息,请参阅Amazon S3 加密客户端的更新

有关旧版 v1Amazon S3 加密客户端,请参阅以下博客文章。

Amazon S3 加密客户端加密算法

下表列出了使用 Amazon S3 加密客户端时,每个特定语言的 AWS 软件开发工具包对加密密钥和数据支持的算法列表。

Algorithm Java .NET Ruby v2 AWS CLI Boto3 PHP v3 JavaScript 转到 C++
密钥包装 俄罗斯国家安全局-伊斯兰共和国
密钥包装 A/ 厘米
密钥包装 KMS + 上下文
密钥包装 A/ECB 已淘汰 已淘汰 已淘汰
密钥包装 AESWrap 已淘汰 已淘汰 已淘汰 已淘汰
密钥包装 RSA 已淘汰 已淘汰
密钥包装 KMS 已淘汰 已淘汰 已淘汰 已淘汰 已淘汰 已淘汰
内容加密:A/ 厘米
内容加密:A/CBC 已淘汰 已淘汰 已淘汰 已淘汰

有关 的更多信息身份验证仅加密模式,请参阅Amazon S3 客户端身份验证的加密博客文章。