面对亚马逊url签名的困难



我正在按照每个步骤为我向亚马逊的url请求创建签名(或者至少我是这么认为的),但它不起作用。

我正试图在亚马逊的页面上签名一个例子(http://docs.aws.amazon.com/AWSECommerceService/latest/DG/rest-signature.html

我已经下载了s3-sigtester,这是一个创建签名的javascript文件。我正在签名的字符串是:

GET necs.amazonaws.co.uk n/onca/xml nAWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA&Actor=Johnny%20Depp&AssociateTag=memagio-21&Operation=ItemSearch&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews%2CVariations&SearchIndex=DVD&Service=AWSECommerceService&Sort=salesrank&Timestamp=2014-10-19T21%3A21%3A55Z&Version=2009-01-01

上面的字符串是sigtester的结果。我正在喂它六角。我得到了一个签名,然后,我试图访问以下url,以便获得xml值:

http://ecs.amazonaws.co.uk/onca/xml?AWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA
&Actor=Johnny%20Depp&AssociateTag=memagio-21&Operation=ItemSe
arch&ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews%2CV
ariations&SearchIndex=DVD&Service=AWSECommerceService&Signature=vZK%2BhDqtcV1CoTf6%2FN1ohR3Da5M%3D&Sort=salesrank&Ti
mestamp=2014-10-19T21%3A21%3A55Z&Version=2009-01-01

AWASCcessKeyId和签名密钥是我创建的AWS密钥。但是,我得到一个错误,签名不匹配。我想我在遵循所有的步骤,我真的不知道发生了什么。谢谢。

我正在签名的字符串是:

GET necs.amazonaws.co.uk n/onca/xml nAWSAccessKeyId=AKIAJOCH6NNDJFTB4LYA&Actor=Johnn

我假设n表示换行符(Unicode 000A)。问题是换行符之前不应该有空格-它需要是GETnecs.amazonaws.co.ukn...