0002-00000212

问题描述

请求头Authorization中提供的签名日期不合法。

问题原因

您发起的请求采用V4版本签名,但是请求中提供的AuthorizationCredential字段包含的签名日期不合法。

问题示例

发起了基于V4版本签名的请求,但是AuthorizationCredential字段包含的签名日期不合法。

GET /oss.jpg HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Tue, 20 Dec 2022 08:48:18 GMT
Authorization: OSS4-HMAC-SHA256 Credential=AK**ID/2022-12-20/cn-hangzhou/oss/aliyun_v4_request,Signature=18**0a
x-oss-content-sha256: UNSIGNED-PAYLOAD

Credential的格式为<AccessKeyId>/<SignDate>/<Region>/oss/aliyun_v4_request。其中:

  • <AccessKeyId>:填写发起签名请求的AccessKey ID。

  • <SignDate>:填写签名日期,例如20221220日,则填写为20221220

  • <Region>:填写发起签名请求访问OSS资源所在的地域。

示例中<SignDate>填写为2022-12-20,格式有误。

解决方案

将以上示例中<SignDate>参数替换为20221220

相关文档

  • 使用SDK发起请求实现V4版本签名。更多信息,请参见使用阿里云SDK发起请求概述

  • 自己实现签名。

    采用以上方法自己实现签名过程中,如果服务端在响应中返回了StringToSign字符串,可以查看服务端的待签字符串与您签名前的待签字符串是否一致。