diff --git a/src/erlcloud_aws.erl b/src/erlcloud_aws.erl index 840639e11..92e28d22a 100644 --- a/src/erlcloud_aws.erl +++ b/src/erlcloud_aws.erl @@ -17,7 +17,7 @@ aws_request(Method, Host, Path, Params, AccessKeyID, SecretAccessKey) -> QueryToSign = erlcloud_http:make_query_string(QParams), RequestToSign = [string:to_upper(atom_to_list(Method)), $\n, - Host, $\n, Path, $\n, QueryToSign], + string:to_lower(Host), $\n, Path, $\n, QueryToSign], Signature = base64:encode(crypto:sha_mac(SecretAccessKey, RequestToSign)), Query = [QueryToSign, "&Signature=", erlcloud_http:url_encode(Signature)], diff --git a/src/erlcloud_http.erl b/src/erlcloud_http.erl index dad407efc..0a83944f0 100644 --- a/src/erlcloud_http.erl +++ b/src/erlcloud_http.erl @@ -20,8 +20,7 @@ url_encode([Char|String], Accum) Char >= $a, Char =< $z; Char >= $0, Char =< $9; Char =:= $-; Char =:= $_; - Char =:= $.; Char =:= $~; - Char =:= $: -> + Char =:= $.; Char =:= $~ -> url_encode(String, [Char|Accum]); url_encode([Char|String], Accum) when Char >=0, Char =< 255 ->