2012-10-08 57 views
1

我在ASP.NET工作,剛剛從亞馬遜的目錄http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html它指出我還沒有得到HMAC或如何簽名的請求工作

非正式讀這篇文章,我們稱這個過程「簽署請求「,並且我們將HMAC算法的輸出稱爲」簽名「,因爲它模擬真實簽名的安全屬性。最後,使用本節中的 中描述的語法,將此簽名添加爲請求的參數。

當系統接收到驗證的請求,它獲取你宣稱擁有AWS 祕密訪問密鑰,並使用它以同樣的方式 計算一個「簽名」爲收到的消息。然後它將它計算的簽名與 請求者所提供的簽名進行比較 。

。不過我想這兩種請求不會是同樣的權利。請求已簽名(很棒!!)但來自客戶端瀏覽器的響應的HMAC將有所不同,因爲它包含額外的數據對吧?那麼怎麼來的請求,可以驗證,即使它們是有效的

回答

3

您需要閱讀整你所引用的段落。在您引用的部分之前,它說:

要驗證請求,首先連接請求的選定元素以形成一個字符串。然後,您使用AWS Secret Access Key來計算該字符串的HMAC。

所以,如果這些選定的元素計算你的HMAC,當您提交請求時,服務器從這些相同元素計算HMAC,然後將它們進行比較。

+0

是啊,你是100%正確的,這能用來ASP.NET MVC? – Deeptechtons

+0

我假設是這樣,但恐怕我不知道。我知道一些關於密鑰身份驗證的知識,但對ASP.NET很少。 :) – Simes