【问题标题】:Amazon Signature Signing Process Canonical Request Encryption Issue亚马逊签名签名过程规范请求加密问题
【发布时间】:2014-01-07 07:20:21
【问题描述】:

我的问题在于此页面上的步骤 6、7 和 8:http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html

第 6 步和第 7 步很容易理解。出于说明目的,您可以使用免费生成器:http://hash.online-convert.com/sha256-generator

Action=ListUsers&Version=2010-05-08 转换为b6359072c78d70ebee1e81adcbab4f01bf2c23245fa365ef83fe8f1f955085e2,就像它说的那样。但是在第 8 步,它说要使用相同的算法,

    POST
/

content-type:application/x-www-form-urlencoded; charset=utf-8
host:iam.amazonaws.com
x-amz-date:20110909T233600Z

content-type;host;x-amz-date
b6359072c78d70ebee1e81adcbab4f01bf2c23245fa365ef83fe8f1f955085e2

根本不转换为3511de7e95d28ecd39e9513b642aee07e54f4941150d8df8bf94b328ef7e55e2。相反,我得到8b483975a604a39ca8882bc11bc0101df17c9ecc64a96206e504babc614fcb37。这个例子对我来说很不清楚。我可能解释错了,但是怎么解释呢?

【问题讨论】:

  • 我一定在同一个地狱里——我使用那个请求得到了相同的值。你解决了吗?
  • 不,我放弃了。 :(我希望亚马逊的人能发表评论。

标签: encryption amazon amazon-dynamodb sha256 canonicalization


【解决方案1】:

我设法解决了这个问题 - 结果证明我的规范标头是\r\n 分隔的行,而不仅仅是\n。我从 stringbuilder 更改为仅用 \n 分隔的串联字符串,它工作正常。

【讨论】:

  • 谢谢杰森!我还需要一段时间才能回到那个项目,但我会试一试。
【解决方案2】:

我在这里遇到了同样的问题。 尝试后,原因也是\r\n而不是\n。 我通过将\r\n 替换为\n 解决了这个问题,并上传整个文件以计算哈希字符串而不是复制粘贴! 希望这些信息对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多