AWS SDK connection failure due to "The request signature... does not match..."

105 views Asked by At

I have a .NET 6 Blazor server project hosted on AWS EC2.

In this project, I want to send an email to a registering user to ensure that they own the email they are using to sign in. I am trying to use the AWSSDK.SimpleEmail package.

Every time I attempt to send an email, I get the following message:

The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

I have validated my domain. I have validated a test email address. I double checked that my IAM identity has the appropriate SES permissions. I have seen other Stack Overflow questions with the same issue and folks have often pointed at special characters in the aws_secret_access_key field being a possible culprit, so I deleted and regenerated SMTP credentials until I got one that has NO special characters at all. I have config and credentials files in my USER_PROFILE.aws\ folder. I have confirmed that the SDK is picking up the credentials (there's a different error if it can't find credentials at all, it turns out).

I have downloaded the example solution and ensured that the pre-requisites were in place. Every function fails with the same error. I also tried running the tests, just to see, with 50% of them failing. Likely for the same reason, though the test output doesn't deliver the exception message.

I have installed and tried to use AWSSDK.SimpleEmailV2 with no change.

I have tried entering the credentials directly into the client constructor, rather than having the SDK pick them up automatically with no change.

I must be missing something, but I don't know what it is. I am confident that I have everything in place that needs to be, but I can simply not use the AWS API. Can someone point me at possible trouble points?

Edits: Using the .NET SMTP Client yields the following error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

I am able to use the AWS console, go to my validated domain, and successfully send a test email to my validated email address.

0

There are 0 answers