ukify: avoid deprecated datetime call

DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for
                    removal in a future version. Use timezone-aware objects to
                    represent datetimes in UTC: datetime.datetime.now(datetime.UTC).

The difference between the two is that .now(datetime.UTC) returns an object with
a timezone attached, "the numbers" are the same.

>>> datetime.datetime.utcnow(), datetime.datetime.now(datetime.UTC)
(datetime.datetime(2023, 12, 1, 9, 37, 53, 891669),
 datetime.datetime(2023, 12, 1, 9, 37, 53, 891688, tzinfo=datetime.timezone.utc))

This value is fed to cryptography's x509.CertificateBuilder object, so as long
as it can accept a datetime object with tzinfo, the result should be identical.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2023-12-01 12:44:08 +00:00
committed by Luca Boccassi
parent f4a35f2ad9
commit 24baee3370
+1 -1
View File
@@ -874,7 +874,7 @@ def generate_key_cert_pair(
# supported/expected:
# https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-secure-boot-key-creation-and-management-guidance?view=windows-11#12-public-key-cryptography
now = datetime.datetime.utcnow()
now = datetime.datetime.now(datetime.UTC)
key = rsa.generate_private_key(
public_exponent=65537,