@@ -1174,6 +1174,22 @@ def test_pkcs7_verify_der_no_content(
1174
1174
with pytest .raises (ValueError ):
1175
1175
pkcs7 .pkcs7_verify_der (signature )
1176
1176
1177
+ def test_pkcs7_verify_der_ecdsa_certificate (self , backend , data ):
1178
+ # Getting an ECDSA certificate
1179
+ certificate , private_key = _load_cert_key ()
1180
+
1181
+ # Signature
1182
+ builder = (
1183
+ pkcs7 .PKCS7SignatureBuilder ()
1184
+ .set_data (data )
1185
+ .add_signer (certificate , private_key , hashes .SHA256 ())
1186
+ )
1187
+ signature = builder .sign (serialization .Encoding .DER , [])
1188
+
1189
+ # Verification with another certificate
1190
+ options = [pkcs7 .PKCS7Options .NoVerify ]
1191
+ pkcs7 .pkcs7_verify_der (signature , options = options )
1192
+
1177
1193
def test_pkcs7_verify_invalid_signature (
1178
1194
self , backend , data , certificate , private_key
1179
1195
):
@@ -1209,6 +1225,21 @@ def test_pkcs7_verify_der_wrong_certificate(
1209
1225
with pytest .raises (ValueError ):
1210
1226
pkcs7 .pkcs7_verify_der (signature , certificate = rsa_certificate )
1211
1227
1228
+ def test_pkcs7_verify_der_unsupported_digest_algorithm (
1229
+ self , backend , data , certificate , private_key
1230
+ ):
1231
+ # Signature
1232
+ builder = (
1233
+ pkcs7 .PKCS7SignatureBuilder ()
1234
+ .set_data (data )
1235
+ .add_signer (certificate , private_key , hashes .SHA384 ())
1236
+ )
1237
+ signature = builder .sign (serialization .Encoding .DER , [])
1238
+
1239
+ # Verification with another certificate
1240
+ with pytest .raises (exceptions .UnsupportedAlgorithm ):
1241
+ pkcs7 .pkcs7_verify_der (signature )
1242
+
1212
1243
def test_pkcs7_verify_pem (self , backend , data , certificate , private_key ):
1213
1244
# Signature
1214
1245
builder = (
0 commit comments