@@ -1031,6 +1031,22 @@ def test_pkcs7_verify_der_no_content(
1031
1031
with pytest .raises (ValueError ):
1032
1032
pkcs7 .pkcs7_verify_der (signature )
1033
1033
1034
+ def test_pkcs7_verify_der_ecdsa_certificate (self , backend , data ):
1035
+ # Getting an ECDSA certificate
1036
+ certificate , private_key = _load_cert_key ()
1037
+
1038
+ # Signature
1039
+ builder = (
1040
+ pkcs7 .PKCS7SignatureBuilder ()
1041
+ .set_data (data )
1042
+ .add_signer (certificate , private_key , hashes .SHA256 ())
1043
+ )
1044
+ signature = builder .sign (serialization .Encoding .DER , [])
1045
+
1046
+ # Verification with another certificate
1047
+ options = [pkcs7 .PKCS7Options .NoVerify ]
1048
+ pkcs7 .pkcs7_verify_der (signature , options = options )
1049
+
1034
1050
def test_pkcs7_verify_invalid_signature (
1035
1051
self , backend , data , certificate , private_key
1036
1052
):
@@ -1066,6 +1082,21 @@ def test_pkcs7_verify_der_wrong_certificate(
1066
1082
with pytest .raises (ValueError ):
1067
1083
pkcs7 .pkcs7_verify_der (signature , certificate = rsa_certificate )
1068
1084
1085
+ def test_pkcs7_verify_der_unsupported_digest_algorithm (
1086
+ self , backend , data , certificate , private_key
1087
+ ):
1088
+ # Signature
1089
+ builder = (
1090
+ pkcs7 .PKCS7SignatureBuilder ()
1091
+ .set_data (data )
1092
+ .add_signer (certificate , private_key , hashes .SHA384 ())
1093
+ )
1094
+ signature = builder .sign (serialization .Encoding .DER , [])
1095
+
1096
+ # Verification with another certificate
1097
+ with pytest .raises (exceptions .UnsupportedAlgorithm ):
1098
+ pkcs7 .pkcs7_verify_der (signature )
1099
+
1069
1100
def test_pkcs7_verify_pem (self , backend , data , certificate , private_key ):
1070
1101
# Signature
1071
1102
builder = (
0 commit comments