I was setting up AWS from scratch again on Windows 10. I went into IAM -> Users -> Add User and obtained the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Then I set up both of them under environmental variables.

I opened up a command prompt and ran aws sts get-caller-identity and got this error message.

An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: The request signature we calculated does not match the signature you provided

After a bit of Googling and making sure that my system time was set correctly, I found out that sometimes AWS CLI has an issue if the AWS_SECRET_ACCESS_KEY has a + (plus symbol) on the starting part of the value. All I did was to delete the existing AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, regenerate it and it worked.