PHP hash_hmac не соответствует примеру AWS Signature 4

У меня проблема с hash_hmac и сигнатурой AWS версии 4. Я использую приведенный здесь пример: http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html

Выход с сайта AWS. Я хочу совместить это, я не могу понять, что я делаю неправильно. Они хотели бинарный выход, и это то, что я предоставляю на каждом этапе.

Вот мой тестовый файл:

<?php // wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY // HMAC(HMAC(HMAC(HMAC("AWS4" + kSecret,"20110909"),"us-east-1"),"iam"),"aws4_request") $sign = hash_hmac('sha256', 'AWS4wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY', '20110909', true ); $sign = hash_hmac('sha256', $sign, 'us-east-1', true ); $sign = hash_hmac('sha256', $sign, 'iam', true ); $sign = hash_hmac('sha256', $sign, 'aws4_request', true ); $sign = str_split( $sign ); echo "152 241 216 137 254 196 244 66 26 220 82 43 171 12 225 248 46 105 41 194 98 237 21 229 169 76 144 239 209 227 176 231\n"; foreach( $sign as $t ) echo ord($t) . ' '; 

Related of "PHP hash_hmac не соответствует примеру AWS Signature 4"

Правильный формат обратный:

 <?php // wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY // HMAC(HMAC(HMAC(HMAC("AWS4" + kSecret,"20110909"),"us-east-1"),"iam"),"aws4_request") $sign = hash_hmac('sha256', '20110909', 'AWS4wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY', true ); $sign = hash_hmac('sha256', 'us-east-1', $sign, true ); $sign = hash_hmac('sha256', 'iam', $sign, true ); $sign = hash_hmac('sha256', 'aws4_request', $sign, true ); $sign = str_split( $sign ); echo "152 241 216 137 254 196 244 66 26 220 82 43 171 12 225 248 46 105 41 194 98 237 21 229 169 76 144 239 209 227 176 231\n"; foreach( $sign as $t ) echo ord($t) . ' '; 

Это соответствует данной строке красиво. Надеюсь, это поможет кому-то!