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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

AWS SDK支持 Amazon S3 客户端加密

以下表格列出了语言支持的加密算法和功能–特定 AWS SDK。有关如何使用特定SDK的功能的信息,请参阅SDK的MicrostrategyDeveloperGuide。

如果您对密码进行了新的分析,请参阅 密码学基础知识AWS Key Management Service Developer Guide 熟悉术语和概念。

注意

TheThethe AWS 加密 SDK 是与语言分隔的加密库–具体SDK。您可以使用此加密库更轻松地实施加密最佳实践 Amazon S3. 与 Amazon S3 语言中的加密客户端–特定 AWS SDK, AWS 加密 SDK 不与 Amazon S3 并且可以用来加密或解密要在任何地方存储的数据。

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

AWS SDK功能 Amazon S3 客户端加密

使用 Amazon S3 在上传至 Amazon S3,您必须向 Amazon S3 加密客户端。您可以提供客户端主密钥或使用 AWS Key Management Service (AWS KMS)–管理主密钥功能。TheThethe AWS KMS–管理主密钥功能可以简单地创建和管理用于加密数据的密钥。有关这些功能的更多信息,请选择在 功能 列。

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

在下表中,每个列表示 AWS Command Line Interface 或SDK的特定语言支持客户端加密中使用的功能。

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

有关V2的信息 Amazon S3 支持客户端加密的加密客户端,请参阅我们的博客帖子 更新到 Amazon S3 加密客户端.

有关 传统V1 Amazon S3 加密客户端,请参阅以下博客帖子。

Amazon S3 加密客户端加密算法

下表列出了每种语言的算法–特定 AWS SDK支持在使用 Amazon S3 加密客户端。

算法。 Java: .NET Ruby v2 AWS CLI Boto3 PHP v3 JavaScript 转到 C.
密钥包装 RSA-OAEP-SHA1
密钥包装 AES/GCM
密钥包装 KMS+上下文
密钥包装 AE/ECB (已淘汰) (已淘汰) (已淘汰)
密钥包装 AESWrap (已淘汰) (已淘汰) (已淘汰) (已淘汰)
密钥包装 RSA (已淘汰) (已淘汰)
密钥包装 KMS (已淘汰) (已淘汰) (已淘汰) (已淘汰) (已淘汰) (已淘汰)
内容加密 AES/GCM
内容加密 AE/CBC (已淘汰) (已淘汰) (已淘汰) (已淘汰)

有关 已验证仅加密 模式,请参阅 AmazonS3客户端认证加密 博客帖子。