
# 加密说明
![](https://support.huaweicloud.com/sdk-browserjs-devg-obs/public_sys-resources/notice_3.0-zh-cn.png)
开发过程中，您有任何问题可以在github上[提交issue](https://github.com/huaweicloud/huaweicloud-sdk-browserjs-obs/issues)，或者在[华为云对象存储服务论坛](https://bbs.huaweicloud.com/forum/forum-620-1.html)中发帖求助。[接口参考文档](https://support.huaweicloud.com/api-obs_browserjs_sdk_api_zh/obs_34_0001.html)详细介绍了每个接口的参数和使用方法。
OBS BrowserJS SDK支持服务端加密的接口见下表：
| **OBS BrowserJS SDK接口方法**         | **描述**                                                                                                                                                                                                                        | **支持加密类型**                                   |
|:---|:---|:---|
| ObsClient.putObject               | 上传对象时设置加密算法、密钥，对对象启用服务端加密。                                                                                                                                                                                                    | SSE-KMS SSE-C |
| ObsClient.getObject               | 下载对象时设置解密算法、密钥，用于解密对象。                                                                                                                                                                                                        | SSE-C                                        |
| ObsClient.copyObject              | 1. 复制对象时设置源对象的解密算法、密钥，用于解密源对象。  2. 复制对象时设置目标对象的加密算法、密钥，对目标对象启用加密算法。   | SSE-KMS SSE-C   |
| ObsClient.getObjectMetadata       | 获取对象元数据时设置解密算法、密钥，用于解密对象。                                                                                                                                                                                                     | SSE-C                                        |
| ObsClient.initiateMultipartUpload | 初始化分段上传任务时设置加密算法、密钥，对分段上传任务最终生成的对象启用服务端加密。                                                                                                                                                                                    | SSE-KMS SSE-C    |
| ObsClient.uploadPart              | 上传段时设置加密算法、密钥，对分段数据启用服务端加密。                                                                                                                                                                                                   | SSE-C                                        |
| ObsClient.copyPart                | 1. 复制段时设置源对象的解密算法、密钥，用于解密源对象。  2. 复制段时设置目标段的加密算法、密钥，对目标段启用加密算法。               | SSE-C                                        |
   
OBS BrowserJS SDK两种加密方式支持的请求参数：
| **加密类型**                                     | **OBS BrowserJS SDK对应请求参数** | **说明**                                                                        |
|:---|:---|:---|
| SSE-KMS  | SseKms                      | 表示服务端加密是SSE-KMS方式，目前仅支持：**kms**。                                              |
| SSE-KMS  | SseKmsKey                   | 表示SSE-KMS方式下的主密钥，可为空。                                                         |
| SSE-C                                        | SseC                        | 表示服务端加密是SSE-C方式，目前仅支持：**AES256**。                                             |
| SSE-C                                        | SseCKey                     | 表示SSE-C方式下的密钥，由AES256算法得到。上传对象时作为加密密钥；下载对象时作为解密密钥。注意：不需要base64编码处理。           |
| SSE-C                                        | CopySourceSseC              | 适用于ObsClient.copyObject和ObsClient.copyPart，表示以SSE-C方式解密源对象，目前仅支持：**AES256**。  |
| SSE-C                                        | CopySourceSseCKey           | 适用于ObsClient.copyObject和ObsClient.copyPart，表示以SSE-C方式解密源对象时使用的密钥，由AES256算法得到。 |
   
