@@ -64,7 +64,7 @@ def normalize_privatekey_pem(pem):
64
64
GOOD_CIPHER = "blowfish"
65
65
BAD_CIPHER = "zippers"
66
66
67
- GOOD_DIGEST = "SHA1 "
67
+ GOOD_DIGEST = "SHA256 "
68
68
BAD_DIGEST = "monkeys"
69
69
70
70
old_root_cert_pem = b"""-----BEGIN CERTIFICATE-----
@@ -914,7 +914,7 @@ def test_unused_subject(self, x509_data):
914
914
b"basicConstraints" , False , b"CA:TRUE" , subject = x509
915
915
)
916
916
x509 .add_extensions ([ext1 ])
917
- x509 .sign (pkey , "sha1 " )
917
+ x509 .sign (pkey , "sha256 " )
918
918
# This is a little lame. Can we think of a better way?
919
919
text = dump_certificate (FILETYPE_TEXT , x509 )
920
920
assert b"X509v3 Basic Constraints:" in text
@@ -930,7 +930,7 @@ def test_subject(self, x509_data):
930
930
b"subjectKeyIdentifier" , False , b"hash" , subject = x509
931
931
)
932
932
x509 .add_extensions ([ext3 ])
933
- x509 .sign (pkey , "sha1 " )
933
+ x509 .sign (pkey , "sha256 " )
934
934
text = dump_certificate (FILETYPE_TEXT , x509 )
935
935
assert b"X509v3 Subject Key Identifier:" in text
936
936
@@ -963,7 +963,7 @@ def test_unused_issuer(self, x509_data):
963
963
b"basicConstraints" , False , b"CA:TRUE" , issuer = x509
964
964
)
965
965
x509 .add_extensions ([ext1 ])
966
- x509 .sign (pkey , "sha1 " )
966
+ x509 .sign (pkey , "sha256 " )
967
967
text = dump_certificate (FILETYPE_TEXT , x509 )
968
968
assert b"X509v3 Basic Constraints:" in text
969
969
assert b"CA:TRUE" in text
@@ -978,7 +978,7 @@ def test_issuer(self, x509_data):
978
978
b"authorityKeyIdentifier" , False , b"issuer:always" , issuer = x509
979
979
)
980
980
x509 .add_extensions ([ext2 ])
981
- x509 .sign (pkey , "sha1 " )
981
+ x509 .sign (pkey , "sha256 " )
982
982
text = dump_certificate (FILETYPE_TEXT , x509 )
983
983
assert b"X509v3 Authority Key Identifier:" in text
984
984
assert b"DirName:/CN=Yoda root CA" in text
@@ -1935,13 +1935,13 @@ def test_digest(self):
1935
1935
"""
1936
1936
cert = load_certificate (FILETYPE_PEM , old_root_cert_pem )
1937
1937
assert (
1938
- # This is MD5 instead of GOOD_DIGEST because the digest algorithm
1939
- # actually matters to the assertion (ie, another arbitrary, good
1940
- # digest will not product the same digest).
1941
1938
# Digest verified with the command:
1942
- # openssl x509 -in root_cert.pem -noout -fingerprint -md5
1943
- cert .digest ("MD5" )
1944
- == b"19:B3:05:26:2B:F8:F2:FF:0B:8F:21:07:A8:28:B8:75"
1939
+ # openssl x509 -in root_cert.pem -noout -fingerprint -sha256
1940
+ cert .digest ("SHA256" )
1941
+ == (
1942
+ b"3E:0F:16:39:6B:B1:3E:4F:08:85:C6:5F:10:0D:CB:2C:"
1943
+ b"25:C2:91:4E:D0:4A:C2:29:06:BD:55:E3:A7:B3:B7:06"
1944
+ )
1945
1945
)
1946
1946
1947
1947
def _extcert (self , pkey , extensions ):
@@ -1957,7 +1957,7 @@ def _extcert(self, pkey, extensions):
1957
1957
cert .set_notAfter (when )
1958
1958
1959
1959
cert .add_extensions (extensions )
1960
- cert .sign (pkey , "sha1 " )
1960
+ cert .sign (pkey , "sha256 " )
1961
1961
return load_certificate (
1962
1962
FILETYPE_PEM , dump_certificate (FILETYPE_PEM , cert )
1963
1963
)
@@ -3573,7 +3573,7 @@ def test_export_der(self):
3573
3573
3574
3574
# DER format
3575
3575
dumped_crl = self ._get_crl ().export (
3576
- self .cert , self .pkey , FILETYPE_ASN1 , digest = b"md5 "
3576
+ self .cert , self .pkey , FILETYPE_ASN1 , digest = b"sha256 "
3577
3577
)
3578
3578
crl = x509 .load_der_x509_crl (dumped_crl , backend )
3579
3579
revoked = crl .get_revoked_certificate_by_serial_number (0x03AB )
@@ -3600,7 +3600,7 @@ def test_export_text(self):
3600
3600
3601
3601
# text format
3602
3602
dumped_text = crl .export (
3603
- self .cert , self .pkey , type = FILETYPE_TEXT , digest = b"md5 "
3603
+ self .cert , self .pkey , type = FILETYPE_TEXT , digest = b"sha256 "
3604
3604
)
3605
3605
assert len (dumped_text ) > 500
3606
3606
@@ -3610,9 +3610,9 @@ def test_export_custom_digest(self):
3610
3610
signature algorithm based on that digest function.
3611
3611
"""
3612
3612
crl = self ._get_crl ()
3613
- dumped_crl = crl .export (self .cert , self .pkey , digest = b"sha1 " )
3613
+ dumped_crl = crl .export (self .cert , self .pkey , digest = b"sha384 " )
3614
3614
text = _runopenssl (dumped_crl , b"crl" , b"-noout" , b"-text" )
3615
- text .index (b"Signature Algorithm: sha1 " )
3615
+ text .index (b"Signature Algorithm: sha384 " )
3616
3616
3617
3617
def test_export_md5_digest (self ):
3618
3618
"""
@@ -4250,7 +4250,7 @@ def test_sign_verify(self):
4250
4250
# certificate unrelated to priv_key, used to trigger an error
4251
4251
bad_cert = load_certificate (FILETYPE_PEM , server_cert_pem )
4252
4252
4253
- for digest in ["md5" , "sha1" ]:
4253
+ for digest in ["md5" , "sha1" , "sha256" ]:
4254
4254
sig = sign (priv_key , content , digest )
4255
4255
4256
4256
# Verify the signature of content, will throw an exception if
@@ -4289,7 +4289,7 @@ def test_sign_verify_with_text(self):
4289
4289
4290
4290
priv_key = load_privatekey (FILETYPE_PEM , root_key_pem )
4291
4291
cert = load_certificate (FILETYPE_PEM , root_cert_pem )
4292
- for digest in ["md5" , "sha1" ]:
4292
+ for digest in ["md5" , "sha1" , "sha256" ]:
4293
4293
with pytest .warns (DeprecationWarning ) as w :
4294
4294
simplefilter ("always" )
4295
4295
sig = sign (priv_key , content , digest )
@@ -4319,8 +4319,8 @@ def test_sign_verify_ecdsa(self):
4319
4319
)
4320
4320
priv_key = load_privatekey (FILETYPE_PEM , ec_root_key_pem )
4321
4321
cert = load_certificate (FILETYPE_PEM , ec_root_cert_pem )
4322
- sig = sign (priv_key , content , "sha1 " )
4323
- verify (cert , sig , content , "sha1 " )
4322
+ sig = sign (priv_key , content , "sha256 " )
4323
+ verify (cert , sig , content , "sha256 " )
4324
4324
4325
4325
def test_sign_nulls (self ):
4326
4326
"""
@@ -4329,8 +4329,8 @@ def test_sign_nulls(self):
4329
4329
content = b"Watch out! \0 Did you see it?"
4330
4330
priv_key = load_privatekey (FILETYPE_PEM , root_key_pem )
4331
4331
good_cert = load_certificate (FILETYPE_PEM , root_cert_pem )
4332
- sig = sign (priv_key , content , "sha1 " )
4333
- verify (good_cert , sig , content , "sha1 " )
4332
+ sig = sign (priv_key , content , "sha256 " )
4333
+ verify (good_cert , sig , content , "sha256 " )
4334
4334
4335
4335
def test_sign_with_large_key (self ):
4336
4336
"""
@@ -4345,7 +4345,7 @@ def test_sign_with_large_key(self):
4345
4345
)
4346
4346
4347
4347
priv_key = load_privatekey (FILETYPE_PEM , large_key_pem )
4348
- sign (priv_key , content , "sha1 " )
4348
+ sign (priv_key , content , "sha256 " )
4349
4349
4350
4350
4351
4351
class TestEllipticCurve (object ):
0 commit comments