加密说明
开发过程中,您有任何问题可以在github上提交issue,或者在华为云对象存储服务论坛中发帖求助。
OBS C SDK支持服务端加密的接口见下表:
OBS C SDK接口方法 |
描述 |
支持加密类型 |
传输协议 |
---|---|---|---|
put_object |
上传对象时设置加密算法、密钥,对对象启用服务端加密。 |
SSE-KMS SSE-C |
HTTPS |
get_object |
下载对象时设置解密算法、密钥,用于解密对象。 |
SSE-KMS SSE-C |
HTTPS |
copy_object |
|
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 |
|
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方式下使用该参数,表示解密源对象使用的密钥。用于解密源对象。 |