本页面介绍了如何生成 OSS (对象存储服务) 的 API 签名。

生成步骤

  1. 获取 AccessKeyId 和 AccessKeySecret
    在阿里云控制台中,获取您的 AccessKeyId 和 AccessKeySecret。

  2. 构建请求
    构建一个 HTTP 请求,包括以下头部和查询参数:

    • Date: 请求发送的日期和时间,格式为 "YYYYMMDDTHHMMSSZ"。
    • Host: 请求的服务器主机名。
    • Content-Type: 请求体的 MIME 类型。
  3. 生成签名字符串
    根据以下格式生成签名字符串:

    <method> <path> <query_string> <date> <Content-Type>
    

    其中:

    • <method> 是请求方法,例如 GET 或 POST。
    • <path> 是请求的路径。
    • <query_string> 是查询字符串。
    • <date> 是日期时间,格式同上。
    • <Content-Type> 是请求体的 MIME 类型。
  4. 进行签名
    使用 AccessKeySecret 和签名字符串生成签名,使用 HmacSHA1 算法。

  5. 发送请求
    在请求头中添加以下字段:

    • Authorization: OSS <AccessKeyId>:<签名>

示例

假设您要发送一个 GET 请求到 https://oss.example.com/object,以下是一个示例:

  1. 构建请求

    GET /object?param=value HTTP/1.1
    Date: 20211101T120000Z
    Host: oss.example.com
    Content-Type: application/json
    
  2. 生成签名字符串

    GET /object?param=value 20211101T120000Z application/json
    
  3. 进行签名

    <AccessKeySecret> (GET/object?param=value 20211101T120000Z application/json)
    
  4. 发送请求

    Authorization: OSS <AccessKeyId>:<签名>
    

扩展阅读

如果您想了解更多关于 OSS API 的信息,请访问我们的官方文档:阿里云 OSS 官方文档

oss_api_signature