使用Authorization请求头验证 示例 以下是使用V4签名的示例。示例中使用的访问密钥如下: 参数 值 AccessKeyID 2a948fd3f00ba0925806 SecretAccessKey ef2017c2e5ffa0b1761717ecbca021da16501384 Bucket名称:examplebucket。 访问的域名是ooscn.ctyunapi.cn, region是cn。 示例:GET文件 从存储桶examplebucket中获取文件test.txt的前10个字节。请求如下: GET /test.txt HTTP/1.1 xamzcontentsha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 Authorization: SignatureToBeCalculated xamzdate: 20190220T060724Z Range: bytes09 Host: examplebucket.ooscn.ctyunapi.cn 由于此GET请求不提供任何请求体内容,因此该xamzcontentsha256请求头的值是空请求体的哈希值。以下步骤显示Authorization请求头的计算的方法。 1. StringToSign 1. 创建规范请求 GET /test.txt host:examplebucket.ooscn.ctyunapi.cn range:bytes09 xamzcontentsha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 xamzdate:20190220T060724Z host;range;xamzcontentsha256;xamzdate e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 其中,最后一行是空请求体的hash值。第三行是空,因为此请求不包含请求参数。 2. 待签名字符串 AWS4HMACSHA256 20190220T060724Z 20190220/cn/s3/aws4request a6417debbe1fe886b8ed84dca872475f7f09b01961af10d30fa601bc0986ba36 2. 生成签名密钥 signing key HMACSHA256(HMACSHA256(HMACSHA256(HMACSHA256("AWS4" + " ","20190220"),"cn"),"s3"),"aws4request") 3. 计算后的签名 dcefeb864c1ffad98f8f0307af32ceb584b38dc2a9c7a65459363cdb03fc6f12 4. Authorization请求头 Authorization: AWS4HMACSHA256 Credential2a948fd3f00ba0925806/20190220/cn/s3/aws4request, SignedHeadershost;range;xamzcontentsha256;xamzdate, Signaturedcefeb864c1ffad98f8f0307af32ceb584b38dc2a9c7a65459363cdb03fc6f12