File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed
Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -339,6 +339,7 @@ def _generate(self):
339339 digest_alg = HASH_MAP .get (digest_name , hashes .SHA256 )()
340340 cert = builder .sign (signing_key , digest_alg )
341341 self .certificate = cert .public_bytes (serialization .Encoding .PEM ).decode ("utf-8" )
342+ self .serial_number = str (cert .serial_number )
342343 encryption = (
343344 serialization .BestAvailableEncryption (self .passphrase .encode ("utf-8" ))
344345 if self .passphrase
Original file line number Diff line number Diff line change @@ -439,6 +439,15 @@ def test_create_old_serial_certificate(self):
439439 x509_obj = cert .x509
440440 self .assertEqual (x509_obj .serial_number , 3 )
441441
442+ def test_serial_number_db_matches_certificate (self ):
443+ cert = self ._create_cert ()
444+ cert .refresh_from_db ()
445+ # The serial number in the X.509 certificate is encoded as a big-endian
446+ # hex integer in the DER structure. Convert it to int and verify it
447+ # exactly equals the value stored in the database.
448+ cert_serial_hex = format (cert .x509 .serial_number , "x" )
449+ self .assertEqual (int (cert_serial_hex , 16 ), int (cert .serial_number ))
450+
442451 def test_bad_serial_number_cert (self ):
443452 try :
444453 self ._create_cert (serial_number = "notIntegers" )
You can’t perform that action at this time.
0 commit comments