@@ -8,6 +8,7 @@ use std::hash::{Hash, Hasher};
8
8
use pyo3:: ToPyObject ;
9
9
10
10
use crate :: backend:: utils;
11
+ use crate :: buf:: CffiBuf ;
11
12
use crate :: error:: { CryptographyError , CryptographyResult } ;
12
13
use crate :: { exceptions, types} ;
13
14
@@ -268,7 +269,7 @@ impl ECPrivateKey {
268
269
fn sign < ' p > (
269
270
& self ,
270
271
py : pyo3:: Python < ' p > ,
271
- data : & [ u8 ] ,
272
+ data : CffiBuf < ' _ > ,
272
273
signature_algorithm : & pyo3:: PyAny ,
273
274
) -> CryptographyResult < & ' p pyo3:: types:: PyBytes > {
274
275
if !signature_algorithm. is_instance ( types:: ECDSA . get ( py) ?) ? {
@@ -282,7 +283,7 @@ impl ECPrivateKey {
282
283
283
284
let ( data, _) = utils:: calculate_digest_and_algorithm (
284
285
py,
285
- data,
286
+ data. as_bytes ( ) ,
286
287
signature_algorithm. getattr ( pyo3:: intern!( py, "algorithm" ) ) ?,
287
288
) ?;
288
289
@@ -366,8 +367,8 @@ impl ECPublicKey {
366
367
fn verify (
367
368
& self ,
368
369
py : pyo3:: Python < ' _ > ,
369
- signature : & [ u8 ] ,
370
- data : & [ u8 ] ,
370
+ signature : CffiBuf < ' _ > ,
371
+ data : CffiBuf < ' _ > ,
371
372
signature_algorithm : & pyo3:: PyAny ,
372
373
) -> CryptographyResult < ( ) > {
373
374
if !signature_algorithm. is_instance ( types:: ECDSA . get ( py) ?) ? {
@@ -381,13 +382,13 @@ impl ECPublicKey {
381
382
382
383
let ( data, _) = utils:: calculate_digest_and_algorithm (
383
384
py,
384
- data,
385
+ data. as_bytes ( ) ,
385
386
signature_algorithm. getattr ( pyo3:: intern!( py, "algorithm" ) ) ?,
386
387
) ?;
387
388
388
389
let mut verifier = openssl:: pkey_ctx:: PkeyCtx :: new ( & self . pkey ) ?;
389
390
verifier. verify_init ( ) ?;
390
- let valid = verifier. verify ( data, signature) . unwrap_or ( false ) ;
391
+ let valid = verifier. verify ( data, signature. as_bytes ( ) ) . unwrap_or ( false ) ;
391
392
if !valid {
392
393
return Err ( CryptographyError :: from (
393
394
exceptions:: InvalidSignature :: new_err ( ( ) ) ,
0 commit comments