我使用代码生成了aws签名。
function getSignatureKey(key, dateStamp, regionName, serviceName) {
var kDate= lCase(HMAC(ARGUMENTS.dateStamp,"AWS4" & ARGUMENTS.key,"hmacsha256"));
var kRegion= lCase(HMAC(ARGUMENTS.regionName,binaryDecode(kDate,'hex'),"hmacsha256"));
var kService=lCase(HMAC(ARGUMENTS.serviceName,binaryDecode(kRegion,'hex'),"hmacsha256"));
var kSigning= lCase(HMAC("aws4_request",binaryDecode(kService,'hex'),"hmacsha256"));
return kSigning;
}
<cfset signature = getSignatureKey("fdsaadsf87324hdsfo4324d324", "20170504", "us-west-2", "AWSECommerceService")>
但是当我打电话给api并转储响应时,它会说 “我们计算的请求签名与您提供的签名不匹配”
我关注此链接How to derive a sign-in key for AWS Signature Version 4 (in ColdFusion)? 当我放置它们的值时,我的结果与它们的结果相匹配。 但是当我把自己帐户的原始值设置为不匹配时。