0005-00000403

更新时间:
复制 MD 格式

Problem description

In a client-based encryption scenario, the x-oss-meta-client-side-encryption-cek-alg request header is missing from a PutObject, InitiateMultipartUpload, or UploadPart request.

Cause

The x-oss-meta-client-side-encryption-cek-alg request header is required for PutObject, InitiateMultipartUpload, and UploadPart requests in a client-based encryption scenario.

Example problem

For example, you initiate an InitiateMultipartUpload request:

POST /multipart.data?uploads HTTP/1.1 
Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
Date: Wed, 22 Feb 2012 08:32:21 GMT 
x-oss-storage-class: Archive
Authorization: OSS qn6q**************:77Dv****************
x-oss-meta-client-side-encryption-key: val0
x-oss-meta-client-side-encryption-start: val1
x-oss-meta-client-side-encryption-wrap-alg: rsa
x-oss-meta-client-side-encryption-magic-number-hmac: val4
x-oss-meta-client-side-encryption-data-size: val5
x-oss-meta-client-side-encryption-part-size: val6

The request fails because the x-oss-meta-client-side-encryption-cek-alg request header is missing.

Solution

Include the x-oss-meta-client-side-encryption-cek-alg request header in PutObject, InitiateMultipartUpload, and UploadPart requests in a client-based encryption scenario.

References