From f9860ee267c768ebc8c2d7ddc11f9cf3f89c7aff Mon Sep 17 00:00:00 2001 From: Jim B Date: Sun, 18 Jan 2026 14:17:12 -0600 Subject: [PATCH] Python cryptography.x509 and datetime use UTC for python >= 3.12. Python's cryptography.x509 library gives CryptographyDeprecationWarning, requesting a switch to not_valid_before_utc and not_valid_after_utc. Further, Python's built-in datetime.datetime.utcnow() is deprecated since python 3.12, replaced by now(datetime.UTC). These changes are required for Debian trixie's stock python 3.13.5. https://docs.python.org/3/library/datetime.html#datetime.datetime.now --- .../ask_sdk_webservice_support/verifier.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ask-sdk-webservice-support/ask_sdk_webservice_support/verifier.py b/ask-sdk-webservice-support/ask_sdk_webservice_support/verifier.py index 6dc8dd4..ec0b2e7 100644 --- a/ask-sdk-webservice-support/ask_sdk_webservice_support/verifier.py +++ b/ask-sdk-webservice-support/ask_sdk_webservice_support/verifier.py @@ -23,7 +23,7 @@ import warnings from dateutil import tz -from datetime import datetime +from datetime import datetime, UTC as dt_UTC from abc import ABCMeta, abstractmethod from ask_sdk_runtime.exceptions import AskSdkException from six.moves.urllib.parse import urlparse @@ -372,9 +372,9 @@ def _validate_end_certificate(self, x509_cert): :raises: :py:class:`VerificationException` if certificate is not valid """ - now = datetime.utcnow() - if not (x509_cert.not_valid_before <= now <= - x509_cert.not_valid_after): + now = datetime.now(dt_UTC) + if not (x509_cert.not_valid_before_utc <= now <= + x509_cert.not_valid_after_utc): raise VerificationException("Signing Certificate expired") ext = x509_cert.extensions.get_extension_for_oid(