標籤:
最近在研究雲端儲存。 如果沒有相關背景知識的朋友,請先百度。
我首先要說的是是簽名演算法錯誤問題,可能是他們網站內容錯誤,請核查。
如下。
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-authentication-HTTPPOST.html
範例網站如下:
http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html
我採用三方線上加密網站,算出來的密碼與AMAZON不一樣。
自己寫了一個小程式,算出來的與三方是一樣。真不明白AMAZON是怎麼算的簽名?求指導。
原始碼如下:
1 String key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";2 using (var algorithm = KeyedHashAlgorithm.Create("HMACSHA256"))3 {4 algorithm.Key = Encoding.UTF8.GetBytes(key);5 string data = "eyAiZXhwaXJhdGlvbiI6ICIyMDEzLTA4LTA3VDEyOjAwOjAwLjAwMFoiLA0KICAiY29uZGl0aW9ucyI6IFsNCiAgICB7ImJ1Y2tldCI6ICJleGFtcGxlYnVja2V0In0sDQogICAgWyJzdGFydHMtd2l0aCIsICIka2V5IiwgInVzZXIvdXNlcjEvIl0sDQogICAgeyJhY2wiOiAicHVibGljLXJlYWQifSwNCiAgICB7InN1Y2Nlc3NfYWN0aW9uX3JlZGlyZWN0IjogImh0dHA6Ly9leGFtcGxlYnVja2V0LnMzLmFtYXpvbmF3cy5jb20vc3VjY2Vzc2Z1bF91cGxvYWQuaHRtbCJ9LA0KICAgIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJpbWFnZS8iXSwNCiAgICB7IngtYW16LW1ldGEtdXVpZCI6ICIxNDM2NTEyMzY1MTI3NCJ9LA0KICAgIFsic3RhcnRzLXdpdGgiLCAiJHgtYW16LW1ldGEtdGFnIiwgIiJdLA0KDQogICAgeyJ4LWFtei1jcmVkZW50aWFsIjogIkFLSUFJT1NGT0ROTjdFWEFNUExFLzIwMTMwODA2L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSwNCiAgICB7IngtYW16LWFsZ29yaXRobSI6ICJBV1M0LUhNQUMtU0hBMjU2In0sDQogICAgeyJ4LWFtei1kYXRlIjogIjIwMTMwODA2VDAwMDAwMFoiIH0NCiAgXQ0KfQ==";6 byte[] key2 = algorithm.ComputeHash(Encoding.UTF8.GetBytes(data));7 string show = BitConverter.ToString(key2).Replace("-", "").ToLowerInvariant();8 MessageBox.Show(show);9 }
View Code
亞馬遜雲端儲存簽名演算法問題