Запросить авторизацию веб-службы Amazon

#amazon-web-services #get

#amazon-веб-сервисы #получить

Вопрос:

Я просматриваю документ

Следующий код объясняет построение заголовка авторизации:

 Authorization = "AWS"   " "   AWSAccessKeyId   ":"   Signature;

Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) );

StringToSign = HTTP-Verb   "n"  
    Content-MD5   "n"  
    Content-Type   "n"  
    Date   "n"  
    CanonicalizedAmzHeaders  
    CanonicalizedResource;

CanonicalizedResource = [ "/"   Bucket ]  
    <HTTP-Request-URI, from the protocol name up to the query string>  
    [ subresource, if present. For example "?acl", "?location", "?logging", or "?torrent"];

CanonicalizedAmzHeaders = <described below>
 

И в примерах аутентификации (например, OBJECT GET) они отображаются StringToSign следующим образом:

 GETn
n
n
Tue, 27 Mar 2007 19:36:42  0000n
/johnsmith/photos/puppy.jpg
 

Мой вопрос:

Почему они использовали три n после GET ? Есть ли причина для этого?

Кроме того, могу ли я написать приведенный выше код следующим образом:

 GETn
n
n
Tue, 27 Mar 2007 19:36:42 GMTn
 

Комментарии:

1. Рискуя заявить очевидное, n здесь нет буквальной обратной косой черты и буквы n. Это управляющая последовательность для символа новой строки, ASCII LF, одного байта со значением 0x0A.

Ответ №1:

Подумайте о » n» в качестве разделителя. Поскольку в примере отправлено пустое Content-MD5 и Content-Type , вы увидите три n в ряд.

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