我从这个例子中复制签名有问题:http://docs.aws.amazon.com/general/latest/gr/signature-version-2.html
我正在使用此页面来计算HMAC-SHA256 :( 由于限制需要删除链接) 在PL / SQL中,我得到了相同的结果。
输入
字符串: GET \ nelasticmapreduce.amazonaws.com \ N / \ nAWSAccessKeyId = AKIAIOSFODNN7EXAMPLE&安培;动作= DescribeJobFlows&安培;是SignatureMethod = HmacSHA256&安培; SignatureVersion = 2及时间戳= 2011-10-03T15%3A19 3A30%&安培;版本= 2009-03-31
秘密: wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY
结果: c606d8236c5e81560c553be7868a9cf3fa296cdd2fff93e7fbc8bdbac0100239
编码为Base64后的结果:YzYwNmQ4MjM2YzVlODE1NjBjNTUzYmU3ODY4YTljZjNmYTI5NmNkZDJmZmY5M2U3ZmJjOGJkYmFjMDEwMDIzOQ ==
网址编码后的结果:YzYwNmQ4MjM2YzVlODE1NjBjNTUzYmU3ODY4YTljZjNmYTI5NmNkZDJmZmY5M2U3ZmJjOGJkYmFjMDEwMDIzOQ%3D%3D
预期结果: i91nKc4PWAt0JJIdXwz9HxZCJDdiy6cf%2FMj6vPxyYIs%3D
我错过了什么吗?或者我的方法是错的?
更新
我认为在大写页面“hexdigest”是计算AWS Signature所需的“摘要”。 Ruby中的工作示例:https://repl.it/FPwZ/0 我使用HMAC-SHA1而不是HMAC-SHA256,因为在PL / SQL中我无法计算HMAC-SHA256。
现在我在PL / SQL中遇到了一个新问题。 dbms_crypto.mac返回“hexdigest”值而不是“digest”值。我可以在PL / SQL中获得“摘要”值吗?
摘要 - >二进制字符串, hexdigest - >十六进制编码的字符串