Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is AWS boto (python) supporting SES signature version 4?

Due to AWS deprecating Signature Version 3 in Oct 2020 for SES, I want to handle this issue with AWS boto (Python). But I didn't see any doc related to boto supporting signature version 4 for SES. Is anyone having similar issue and have solutions?

like image 956
Jian Cui Avatar asked Jul 06 '20 14:07

Jian Cui


2 Answers

Promoting j0nam1el's comment to an answer, as it directly answers the question:

I found where SignatureV4 support was added to boto (in 2012). However, cross-referencing this and this, it appears that the boto.ses code still uses HmacAuthV3Handler. From this, I conclude that users of the older 'boto.ses' library will not be able to continue utilizing AWS SES past 2020-10-01.

As noted in this github issue, the deadline has been extended:

We are extending support for Signature Version 3 until February 28, 2021 (the previously announced deprecation date was October 1, 2020). Beginning March 1 2021, support for Signature Version 3 will be turned off in Amazon SES, and only Signature Version 4 will be supported going forward. Amazon SES customers who are currently using Signature Version 3 must migrate to Signature Version 4 by February 28, 2021. After that, requests using Signature Version 3 will be progressively throttled in Amazon SES.

I'm not sure exactly what "progressively throttled" means - would old-style requests fail randomly, or just take longer? Please edit this answer if you know.

like image 109
2 revs Avatar answered Oct 11 '22 09:10

2 revs


My recommendation is that you migrate from boto, which is essentially deprecated, to boto3 because boto3 supports signature v4 by default (with the exception of S3 pre-signed URLs which has to be explicitly configured).

like image 3
jarmod Avatar answered Oct 11 '22 11:10

jarmod