0002-00000074

问题描述

URL签名中缺少Signature

问题原因

您采用URL签名的方式发送请求,但是在URL参数中缺失Signature字段。

问题示例

您发起了在URL参数中携带签名的请求,但是请求中缺失Signature字段。

GET /test.txt?OSSAccessKeyId=nz2p****&Expires=1141889120 HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com

解决方案

确保URL请求中包含Signature字段,且字段取值正确。

GET /test.txt?OSSAccessKeyId=nz2p****&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv**** HTTP/1.0
Date: Tue, 20 Dec 2022 08:48:18 GMT
Host: oss-example.oss-cn-hangzhou.aliyuncs.com

Signature字段的计算方法如下:

Signature = urlencode(base64(hmac-sha1(AccessKeySecret,
          VERB + "\n" 
          + CONTENT-MD5 + "\n" 
          + CONTENT-TYPE + "\n" 
          + EXPIRES + "\n" 
          + CanonicalizedOSSHeaders
          + CanonicalizedResource)))

更多信息,请参见URL中包含签名

说明

推荐采用SDK的方式发起请求,可以免去手动签名的过程。更多信息,请参见使用阿里云SDK发起请求概述