From f32bea12333e1054b97ab50e58a72636edabb5b7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Aug 2021 19:04:28 +0200 Subject: request: Move credential-scope to separate procedure. --- aws/request.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/aws/request.scm b/aws/request.scm index d82df4c..f67d1ef 100644 --- a/aws/request.scm +++ b/aws/request.scm @@ -182,6 +182,12 @@ strings." (signing-key (sign kservice "aws4_request"))) (hexify (sign signing-key string-to-sign)))) +(define (credential-scope date-stamp region service-name) + (string-join (list date-stamp + region + service-name + "aws4_request") "/")) + (define* (sign-headers headers #:key (method "GET") @@ -238,15 +244,14 @@ used for presigned URLs." signed-headers payload-hash) "\n")) - (credential-scope - (string-join (list date-stamp - region - service-name - "aws4_request") "/")) + (scope + (credential-scope date-stamp + region + service-name)) (string-to-sign (string-join (list %algorithm amz-date - credential-scope + scope (hexify (sha256 (string->utf8 canonical-request)))) "\n")) (signature @@ -262,7 +267,7 @@ used for presigned URLs." ;; signed-headers values, as noted earlier. Order here is not ;; significant. (cons `(authorization . (,(string->symbol %algorithm) - (Credential . ,(string-append access-key "/" credential-scope)) + (Credential . ,(string-append access-key "/" scope)) (SignedHeaders . ,signed-headers) (Signature . ,signature))) (filter cdr headers)))) -- cgit v1.2.3