4

我有一個API網關,我將身份驗證設置爲使用AWS_IAM。這要求我使用AWS V4簽名對每個請求進行簽名,並在頭中附加HMAC。我發現圖書館在nodejs中用V4簽名簽署請求。但我無法找到一個圖書館來爲我簽字。即使是.NET的aws-sdk也爲自己的特定用例抽象出來。有沒有圖書館(我做了一個快速的谷歌搜索,沒有找到結果)?或者我需要自己寫出hmac?是否有可以使用AWS V4簽名簽署請求的.NET庫?

+0

是[標準庫(HTTPS ://docs.python.org/2/library/hmac.html#module-hmac)不適用於此? – gravity

+0

該實現將明確使用標準的.net庫來執行實際的HMAC,但是涉及如何生成密鑰和hmac的配方。 https://github.com/mhart/aws4/blob/master/aws4.js是簽署aws v4簽名請求的nodejs實現。 –

回答

5

你可以閱讀簽名如何完成,你可以(如果你想)。 我建議使用適用於.NET的AWS開發工具包,並使用SDK中的功能實際執行簽名。

下面是簽名者形成SDK:

https://github.com/aws/aws-sdk-net/blob/6c3be79bdafd5bfff1ab0bf5fec17abc66c7b516/sdk/src/Core/Amazon.Runtime/Internal/Auth/AWS4Signer.cs

您可能需要適應它(即它知道AWS服務和端點默認)

+1

他們的庫將會加速這個過程,但我仍然需要將標準的HttpRequestMessage變成IRequest格式,或者至少編寫一個包裝來返回類似的參數。 –

+3

我們(API網關)意識到對官方.NET SDK支持的需求,並相應地確定了優先級。同時,我會建議@Mircea建議並且1)根據http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html實施您自己的簽名者或2)重複使用部分現有的.NET AWS軟件開發工具包 –

相關問題