您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页amazons3的用户验证access

amazons3的用户验证access

来源:意榕旅游网

amazon s3的用户验证方式是一种对称加密方式,下面介绍此加密方式。 请求的构造 请求元素: AWS Access Key Id:其实就是常见的用户名,用来区分用户的。 Signature:签名,使用私钥计算后得出。 Timestamp:时间戳 Date:时间,为每一个请求设置一个过期时间

amazon s3的用户验证方式是一种对称加密方式,下面介绍此加密方式。


请求的构造

  请求元素:

  •   AWS Access Key Id:其实就是常见的用户名,用来区分用户的。
  •   Signature:签名,使用私钥计算后得出。
  •   Timestamp:时间戳
  •   Date:时间,为每一个请求设置一个过期时间。
  • 验证过程

      客户端:经过下面3个步骤

    1 构建http请求。
    2 使用请求内容(request_str) 和 secret-key计算签名(signature)。
    3 发送请求到aws服务器。

      aws服务器:经过下面三个步骤

    4 Amazon S3 根据发送的access-key得到对应的secret-key。
    5 Amazon S3 使用同样的算法将请求内容(request_str) 和 secret-key一起计算签名(signature)!和步骤2一样。
    6 对比用户发送的签名和Amazon S3计算的签名,判断是否合法。


    签名的构造过程

    Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature;
    Signature = Base( HMAC-SHA1( UTF-8-Encoding-Of( YourSecretAccessKeyID,
    StringToSign ) ) );
    StringToSign = HTTP-Verb + "\n" +
     Content-MD5 + "\n" +
     Content-Type + "\n" +
     Date + "\n" +
     CanonicalizedAmzHeaders +
     CanonicalizedResource;
    CanonicalizedResource = [ "/" + Bucket ] +
      +
     [ sub-resource, if present. For example "?acl", "?location", "?logging", or
    "?torrent"];
    CanonicalizedAmzHeaders = 

      

    Example

    客户端

    假设:

    AWSAccessKeyId: AKIAIOSFODNN7EXAMPLE
    AWSSecretAccessKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

    假设我们需要发送下面这样的请求:

    DELETE /puppy.jpg HTTP/1.1
    User-Agent: dotnet
    Host: mybucket.s3.amazonaws.com
    Date: Tue, 15 Jan 2008 21:20:27 +0000
    x-amz-date: Tue, 15 Jan 2008 21:20:27 +0000
    Authorization: AWS AKIAIOSFODNN7EXAMPLE:k3nL7gH3+PadhTEVn5EXAMPLE

    1. 构建除Authorization之外的其他字段。

    DELETE /puppy.jpg HTTP/1.1
    User-Agent: dotnet
    Host: mybucket.s3.amazonaws.com
    Date: Tue, 15 Jan 2008 21:20:27 +0000
    x-amz-date: Tue, 15 Jan 2008 21:20:27 +0000

    2. 提取request_str:

    服务端

    Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

    违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务