Skip to content

Commit 181c87d

Browse files
authored
Add spaces in Authorization header (#656)
* Add spaces in Authorization header * Don't add spaces chunk upload * Fix s3 chunked signing error * Fix again
1 parent 3afbe21 commit 181c87d

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

Sources/SotoSignerV4/signer.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ public struct AWSSigner: Sendable {
177177
let authorization =
178178
"""
179179
\(algorithm.name) \
180-
Credential=\(credential),\
181-
SignedHeaders=\(signingData.signedHeaders),\
180+
Credential=\(credential), \
181+
SignedHeaders=\(signingData.signedHeaders), \
182182
Signature=\(self.signature(signingData: signingData, algorithm: algorithm))
183183
"""
184184

@@ -323,8 +323,8 @@ public struct AWSSigner: Sendable {
323323

324324
// construct authorization string
325325
let authorization =
326-
"\(algorithm.name) " + "Credential=\(credentials.accessKeyId)/\(signingData.date)/\(self.region)/\(self.name)/aws4_request,"
327-
+ "SignedHeaders=\(signingData.signedHeaders)," + "Signature=\(signature)"
326+
"\(algorithm.name) " + "Credential=\(credentials.accessKeyId)/\(signingData.date)/\(self.region)/\(self.name)/aws4_request, "
327+
+ "SignedHeaders=\(signingData.signedHeaders), " + "Signature=\(signature)"
328328

329329
// add Authorization header
330330
headers.add(name: "authorization", value: authorization)

Tests/SotoSignerV4Tests/AWSSignerTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ final class AWSSignerTests: XCTestCase {
5454
)
5555
XCTAssertEqual(
5656
headers["Authorization"].first,
57-
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/us-east-1/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=acfa9b03fca6b098d7b88bfd9bbdb4687f5b34e944a9c6ed9f4814c1b0b06d62"
57+
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/us-east-1/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=acfa9b03fca6b098d7b88bfd9bbdb4687f5b34e944a9c6ed9f4814c1b0b06d62"
5858
)
5959
}
6060

@@ -67,7 +67,7 @@ final class AWSSignerTests: XCTestCase {
6767
)
6868
XCTAssertEqual(
6969
headers["Authorization"].first,
70-
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/eu-central-1/sns/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=9c04ae96a2ce8addfa7ce933bf7ddda342f42476bd8cef057d1d25f09fb059c1"
70+
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/eu-central-1/sns/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=9c04ae96a2ce8addfa7ce933bf7ddda342f42476bd8cef057d1d25f09fb059c1"
7171
)
7272
}
7373

@@ -82,7 +82,7 @@ final class AWSSignerTests: XCTestCase {
8282
)
8383
XCTAssertEqual(
8484
headers["Authorization"].first,
85-
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010101/eu-west-1/sns/aws4_request,SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date,Signature=1d29943055a8ad094239e8de06082100f2426ebbb2c6a5bbcbb04c63e6a3f274"
85+
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010101/eu-west-1/sns/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=1d29943055a8ad094239e8de06082100f2426ebbb2c6a5bbcbb04c63e6a3f274"
8686
)
8787
}
8888

@@ -140,7 +140,7 @@ final class AWSSignerTests: XCTestCase {
140140
)
141141
XCTAssertEqual(
142142
headers["Authorization"].first,
143-
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/us-east-1/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=acfa9b03fca6b098d7b88bfd9bbdb4687f5b34e944a9c6ed9f4814c1b0b06d62"
143+
"AWS4-HMAC-SHA256 Credential=MYACCESSKEY/20010124/us-east-1/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=acfa9b03fca6b098d7b88bfd9bbdb4687f5b34e944a9c6ed9f4814c1b0b06d62"
144144
)
145145
}
146146

@@ -279,7 +279,7 @@ final class AWSSignerTests: XCTestCase {
279279
)
280280
XCTAssertEqual(
281281
signedHeaders["authorization"].first,
282-
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request,SignedHeaders=host;range;x-amz-content-sha256;x-amz-date,Signature=f0e8bdb87c964420e857bd35b5d6ed310bd44f0170aba48dd91039c6036bdb41"
282+
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;range;x-amz-content-sha256;x-amz-date, Signature=f0e8bdb87c964420e857bd35b5d6ed310bd44f0170aba48dd91039c6036bdb41"
283283
)
284284
}
285285

@@ -299,7 +299,7 @@ final class AWSSignerTests: XCTestCase {
299299
)
300300
XCTAssertEqual(
301301
signedHeaders["authorization"].first,
302-
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request,SignedHeaders=date;host;x-amz-content-sha256;x-amz-date;x-amz-storage-class,Signature=98ad721746da40c64f1a55b78f14c238d841ea1380cd77a1b5971af0ece108bd"
302+
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=date;host;x-amz-content-sha256;x-amz-date;x-amz-storage-class, Signature=98ad721746da40c64f1a55b78f14c238d841ea1380cd77a1b5971af0ece108bd"
303303
)
304304
}
305305

@@ -313,7 +313,7 @@ final class AWSSignerTests: XCTestCase {
313313
)
314314
XCTAssertEqual(
315315
signedHeaders["authorization"].first,
316-
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=fea454ca298b7da1c68078a5d1bdbfbbe0d65c699e0f91ac7a200a0136783543"
316+
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=fea454ca298b7da1c68078a5d1bdbfbbe0d65c699e0f91ac7a200a0136783543"
317317
)
318318
}
319319

@@ -327,7 +327,7 @@ final class AWSSignerTests: XCTestCase {
327327
)
328328
XCTAssertEqual(
329329
signedHeaders["authorization"].first,
330-
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=34b48302e7b5fa45bde8084f4b7868a86f0a534bc59db6670ed5711ef69dc6f7"
330+
"AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20130524/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=34b48302e7b5fa45bde8084f4b7868a86f0a534bc59db6670ed5711ef69dc6f7"
331331
)
332332
}
333333
}

0 commit comments

Comments
 (0)