diff --git a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AAuthScheme.swift b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AAuthScheme.swift index 779609b6ff6..1e5c1bceeda 100644 --- a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AAuthScheme.swift +++ b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AAuthScheme.swift @@ -62,7 +62,7 @@ public struct SigV4AAuthScheme: ClientRuntime.AuthScheme { updatedSigningProperties.set(key: AttributeKeys.unsignedBody, value: unsignedBody) // Set signedBodyHeader flag - let useSignedBodyHeader = SigV4Util.serviceUsesUnsignedBodyHeader(serviceName: serviceName) && !unsignedBody + let useSignedBodyHeader = SigV4Util.serviceUsesSignedBodyHeader(serviceName: serviceName) && !unsignedBody updatedSigningProperties.set( key: AttributeKeys.signedBodyHeader, value: useSignedBodyHeader ? .contentSha256 : AWSSignedBodyHeader.none diff --git a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AuthScheme.swift b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AuthScheme.swift index 9e937fb449e..387647fae52 100644 --- a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AuthScheme.swift +++ b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4AuthScheme.swift @@ -62,7 +62,7 @@ public struct SigV4AuthScheme: ClientRuntime.AuthScheme { updatedSigningProperties.set(key: AttributeKeys.unsignedBody, value: unsignedBody) // Set signedBodyHeader flag - let useSignedBodyHeader = SigV4Util.serviceUsesUnsignedBodyHeader(serviceName: serviceName) && !unsignedBody + let useSignedBodyHeader = SigV4Util.serviceUsesSignedBodyHeader(serviceName: serviceName) && !unsignedBody updatedSigningProperties.set( key: AttributeKeys.signedBodyHeader, value: useSignedBodyHeader ? .contentSha256 : AWSSignedBodyHeader.none diff --git a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4Util.swift b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4Util.swift index 61d16f7ab75..1180d5bbb72 100644 --- a/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4Util.swift +++ b/Sources/Core/AWSClientRuntime/Auth/AuthSchemes/SigV4Util.swift @@ -9,7 +9,7 @@ import Foundation import ClientRuntime public class SigV4Util { - static let unsignedBodyHeader = ["S3", "Glacier"] + static let signedBodyHeader = ["S3", "Glacier", "S3 Control"] static let forceUnsignedBodyForPresigningURL = [ "S3": ["getObject", "putObject"] ] @@ -20,8 +20,8 @@ public class SigV4Util { return serviceQualifies && flowQualifies && forceUnsignedBodyForPresigningURL[serviceName]!.contains(opName) } - static func serviceUsesUnsignedBodyHeader(serviceName: String) -> Bool { - return unsignedBodyHeader.contains(serviceName) + static func serviceUsesSignedBodyHeader(serviceName: String) -> Bool { + return signedBodyHeader.contains(serviceName) } static func setS3SpecificFlags(signingProperties: inout Attributes, serviceName: String) {