io sono riuscito a ricreare in php lo stesso risultato fino allo step 7 (del link che avevo postato) aiutandomi con una classe che avevo trovato, ma che faceva riferimento ad api vecchie
Codice PHP:
<?php
$region = "it";
$public_key = "123456";
$associate_tag = "tag-21";
$method = "GET";
$host = "http://webservices.amazon.".$region;
$uri = "/onca/xml";
$params["ItemId"] = "21212212";
$ResponseGroup = "Images,ItemAttributes,Offers,Reviews";
$params["ResponseGroup"] = rawurlencode ($ResponseGroup);
$params["Service"] = "AWSECommerceService";
$params["AWSAccessKeyId"] = $public_key;
$params["AssociateTag"] = $associate_tag;
$params["Timestamp"] = rawurlencode(gmdate("Y-m-d\TH:i:s\Z"));
$params["Version"] = "2013-08-01";
$params["Operation"] = "ItemLookup";
ksort($params);
$canonicalized_query = array();
foreach ($params as $param=>$value)
{
$param = str_replace("%7E", "~", rawurlencode($param));
$value = str_replace("%7E", "~", rawurlencode($value));
$canonicalized_query[] = $param."=".$value;
}
$canonicalized_query = implode("&", $canonicalized_query);
$string_to_sign = $method."\n".$host."\n".$uri."\n".$canonicalized_query;
echo $string_to_sign;
?>