更新时间:2022-09-30 GMT+08:00
分享

加密说明

开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。

OBS C SDK支持服务端加密的接口见下表:

OBS C SDK接口方法

描述

支持加密类型

传输协议

put_object

上传对象时设置加密算法、密钥,对对象启用服务端加密。

SSE-KMS

SSE-C

HTTPS

get_object

下载对象时设置解密算法、密钥,用于解密对象。

SSE-KMS

SSE-C

HTTPS

copy_object

  1. 复制对象时设置源对象的解密算法、密钥,用于解密源对象。
  2. 复制对象时设置目标对象的加密算法、密钥,对目标对象启用加密算法。

SSE-KMS

SSE-C

当目标对象是非加密对象时:HTTP or HTTPS

其他情况都是HTTPS

get_object_metadata

获取对象元数据时设置解密算法、密钥,用于解密对象。

SSE-KMS

SSE-C

当加密类型是SSE-KMS:HTTP or HTTPS

其余情况是HTTPS

initiate_multi_part_upload

初始化分段上传任务时设置加密算法、密钥,对分段上传任务最终生成的对象启用服务端加密。

SSE-KMS

SSE-C

HTTPS

upload_part

上传段时设置加密算法、密钥,对分段数据启用服务端加密。

SSE-KMS

SSE-C

HTTPS

complete_multi_part_upload

合并段时设置加密算法、密钥,对合并段后的数据启用服务端加密。

SSE-KMS

SSE-C

HTTP or HTTPS

copy_part

  1. 复制段时设置源对象的解密算法、密钥,用于解密源对象。
  2. 复制段时设置目标段的加密算法、密钥,对目标段启用加密算法。

SSE-KMS

SSE-C

HTTPS

参数说明

加解密参数server_side_encryption_params说明如下表所示:

字段名

类型

说明

encryption_type

obs_encryption_type

服务端加密方式

OBS_ENCRYPTION_KMS:使用SE-KMS加密方式

OBS_ENCRYPTION_SSEC:SSE-C加密使用

kms_server_side_encryption

char *

使用该参数表示服务端加密是SSE-KMS方式。目标对象使用SSE-KMS方式加密。

kms_key_id

char *

SSE-KMS方式下使用该参数,表示加密目标对象使用的主密钥,如果用户没有提供该头域,那么默认的主密钥将会被使用。

ssec_customer_algorithm

char *

SSE-C方式下使用该参数,表示加密目标对象使用的算法。

ssec_customer_key

char *

SSE-C方式下使用该参数,表示加密目标对象使用的密钥。

des_ssec_customer_algorithm

char *

SSE-C方式下使用该参数,表示解密源对象使用的算法。

des_ssec_customer_key

char *

SSE-C方式下使用该参数,表示解密源对象使用的密钥。用于解密源对象。

相关文档