博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
amazon s3 的用户验证 access-key, secrete-key
阅读量:6431 次
发布时间:2019-06-23

本文共 1538 字,大约阅读时间需要 5 分钟。

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 = Base64( 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.1User-Agent: dotnetHost: mybucket.s3.amazonaws.comDate: Tue, 15 Jan 2008 21:20:27 +0000x-amz-date: Tue, 15 Jan 2008 21:20:27 +0000Authorization: AWS AKIAIOSFODNN7EXAMPLE:k3nL7gH3+PadhTEVn5EXAMPLE

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

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

2. 提取request_str:

 

 

服务端

转载于:https://www.cnblogs.com/gaott/archive/2012/04/13/2439000.html

你可能感兴趣的文章
linux下使用 du查看某个文件或目录占用磁盘空间的大小
查看>>
Android水波纹特效的简单实现
查看>>
[wp7软件]wp7~~各种视频播放器下载大全
查看>>
Java工程师必知之事 —— 如何定义自己的职业路线?
查看>>
Java中对象并不是都在堆上分配内存的。
查看>>
代码质量与规范,那些年你欠下的技术债
查看>>
计算机程序的思维逻辑 (19) - 接口的本质
查看>>
自定义控件(二) 从源码分析事件分发机制
查看>>
CVE-2014-4113漏洞利用过程分析
查看>>
解密MSSQL链接数据库的密码
查看>>
Glide-源码详解
查看>>
你敢在post和get上刁难我,就别怪我装逼了
查看>>
直播 3.0 时代,在线教育行业的裂变和重构
查看>>
SpringBoot使用Nacos服务发现
查看>>
2017双11技术揭秘—阿里巴巴数据库技术架构演进
查看>>
我的友情链接
查看>>
Spring框架 - AOP使用
查看>>
Ansible常用内置属性
查看>>
C#使用正则表达式校验邮箱
查看>>
Linux自动清理N天前目录文件
查看>>