From fcf1ce28572470fc51d5f9ff1820f08ae223ae35 Mon Sep 17 00:00:00 2001 From: "Gilmar J. A. Goulart" Date: Tue, 15 Jul 2025 14:50:15 -0300 Subject: [PATCH] Add support to change SignatureVersion property of AmazonS3Config class. - Add possibility to change SignatureVersion property, to address a issue related to Content-SHA256 when using Dell S3 custom storage. --- .../Providers/Storage/GXAmazonS3/ExternalProviderS3.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs b/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs index dd015db2f..4a9ca9935 100644 --- a/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs +++ b/dotnet/src/dotnetframework/Providers/Storage/GXAmazonS3/ExternalProviderS3.cs @@ -25,7 +25,7 @@ public class ExternalProviderS3 : ExternalProviderBase, ExternalProvider const string BUCKET = "BUCKET_NAME"; const string REGION = "REGION"; const string STORAGE_CUSTOM_ENDPOINT_VALUE = "custom"; - + const string SIGNATURE_VERSION = "SIGNATURE_VERSION"; const string DEFAULT_ENDPOINT = "s3.amazonaws.com"; const string DEFAULT_REGION = "us-east-1"; @@ -78,6 +78,7 @@ public ExternalProviderS3(GXService providerService): base(providerService) private void Initialize() { string keyId = GetEncryptedPropertyValue(ACCESS_KEY, ACCESS_KEY_ID_DEPRECATED); string keySecret = GetEncryptedPropertyValue(SECRET_ACCESS_KEY, SECRET_ACCESS_KEY_DEPRECATED); + string signatureVersion = GetPropertyValue(SIGNATURE_VERSION, SIGNATURE_VERSION, ""); AWSCredentials credentials = null; if (!string.IsNullOrEmpty(keyId) && !string.IsNullOrEmpty(keySecret)) { @@ -99,6 +100,10 @@ private void Initialize() { config.ForcePathStyle = forcePathStyle; config.ServiceURL = Endpoint; customEndpoint = true; + if (!string.IsNullOrEmpty(signatureVersion)) + { + config.SignatureVersion = signatureVersion; + } } else {