amazon s3的使用者驗證方式是一種對稱加密方式,下面介紹此加密方式。
AWS Access Key Id:其實就是常見的使用者名,用來區分使用者的。
Signature:簽名,使用私鑰計算後得出。
Timestamp:時間戳
Date:時間,為每一個請求設定一個過期時間。
1 建構http請求。
2 使用請求内容(request_str) 和 secret-key計算簽名(signature)。
3 發送請求到aws伺服器。
4 Amazon S3 根據發送的access-key得到對應的secret-key。
5 Amazon S3 使用同樣的算法将請求内容(request_str) 和 secret-key一起計算簽名(signature)!和步驟2一樣。
6 對比使用者發送的簽名和Amazon S3計算的簽名,判斷是否合法。
假設:
AWSAccessKeyId: AKIAIOSFODNN7EXAMPLE
AWSSecretAccessKey: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
假設我們需要發送下面這樣的請求:
1. 建構除Authorization之外的其他字段。
2. 提取request_str: