@@ -111,7 +111,7 @@ extern "C" fn alloc_custom_pk_ctx() -> *mut c_void {
111111}
112112
113113unsafe extern "C" fn free_custom_pk_ctx ( p : * mut c_void ) {
114- Box :: from_raw ( p as * mut CustomPkContext ) ;
114+ let _ = Box :: from_raw ( p as * mut CustomPkContext ) ;
115115}
116116
117117extern "C" fn custom_pk_can_do ( _t : u32 ) -> i32 {
@@ -953,7 +953,7 @@ impl Pk {
953953#[ cfg( test) ]
954954mod tests {
955955 use super :: * ;
956- use crate :: hash:: Type ;
956+ use crate :: hash:: { Type , MdInfo } ;
957957 use crate :: pk:: Type as PkType ;
958958
959959 // This is test data that must match library output *exactly*
@@ -1155,7 +1155,7 @@ iy6KC991zzvaWY/Ys+q/84Afqa+0qJKQnPuy/7F5GkVdQA/lfbhi
11551155 fn rsa_sign_verify_pkcs1v15 ( ) {
11561156 let mut pk =
11571157 Pk :: generate_rsa ( & mut crate :: test_support:: rand:: test_rng ( ) , 2048 , 0x10001 ) . unwrap ( ) ;
1158- let data = b"SIGNATURE TEST SIGNATURE TEST SI " ;
1158+ let data = b"SIGNATURE TEST SIGNATURE TEST SIGNATURE TEST SIGNATURE TEST SIGN " ;
11591159 let mut signature = vec ! [ 0u8 ; ( pk. len( ) + 7 ) / 8 ] ;
11601160
11611161 let digests = [
@@ -1171,24 +1171,30 @@ iy6KC991zzvaWY/Ys+q/84Afqa+0qJKQnPuy/7F5GkVdQA/lfbhi
11711171 Type :: Ripemd ,
11721172 ] ;
11731173
1174- for digest in & digests {
1174+ for & digest in & digests {
1175+ let data = if let Some ( md @ MdInfo { .. } ) = digest. into ( ) {
1176+ & data[ ..md. size ( ) ]
1177+ } else {
1178+ & data[ ..]
1179+ } ;
1180+
11751181 let len = pk
11761182 . sign (
1177- * digest,
1183+ digest,
11781184 data,
11791185 & mut signature,
11801186 & mut crate :: test_support:: rand:: test_rng ( ) ,
11811187 )
11821188 . unwrap ( ) ;
1183- pk. verify ( * digest, data, & signature[ 0 ..len] ) . unwrap ( ) ;
1189+ pk. verify ( digest, data, & signature[ 0 ..len] ) . unwrap ( ) ;
11841190 }
11851191 }
11861192
11871193 #[ test]
11881194 fn rsa_sign_verify_pss ( ) {
11891195 let mut pk =
11901196 Pk :: generate_rsa ( & mut crate :: test_support:: rand:: test_rng ( ) , 2048 , 0x10001 ) . unwrap ( ) ;
1191- let data = b"SIGNATURE TEST SIGNATURE TEST SI " ;
1197+ let data = b"SIGNATURE TEST SIGNATURE TEST SIGNATURE TEST SIGNATURE TEST SIGN " ;
11921198 let mut signature = vec ! [ 0u8 ; ( pk. len( ) + 7 ) / 8 ] ;
11931199
11941200 let digests = [
@@ -1204,15 +1210,21 @@ iy6KC991zzvaWY/Ys+q/84Afqa+0qJKQnPuy/7F5GkVdQA/lfbhi
12041210 Type :: Ripemd ,
12051211 ] ;
12061212
1207- for digest in & digests {
1213+ for & digest in & digests {
1214+ let data = if let Some ( md @ MdInfo { .. } ) = digest. into ( ) {
1215+ & data[ ..md. size ( ) ]
1216+ } else {
1217+ & data[ ..]
1218+ } ;
1219+
12081220 pk. set_options ( Options :: Rsa {
1209- padding : RsaPadding :: Pkcs1V21 { mgf : * digest } ,
1221+ padding : RsaPadding :: Pkcs1V21 { mgf : digest } ,
12101222 } ) ;
12111223
1212- if * digest == Type :: None {
1224+ if digest == Type :: None {
12131225 assert ! ( pk
12141226 . sign(
1215- * digest,
1227+ digest,
12161228 data,
12171229 & mut signature,
12181230 & mut crate :: test_support:: rand:: test_rng( )
@@ -1221,13 +1233,13 @@ iy6KC991zzvaWY/Ys+q/84Afqa+0qJKQnPuy/7F5GkVdQA/lfbhi
12211233 } else {
12221234 let len = pk
12231235 . sign (
1224- * digest,
1236+ digest,
12251237 data,
12261238 & mut signature,
12271239 & mut crate :: test_support:: rand:: test_rng ( ) ,
12281240 )
12291241 . unwrap ( ) ;
1230- pk. verify ( * digest, data, & signature[ 0 ..len] ) . unwrap ( ) ;
1242+ pk. verify ( digest, data, & signature[ 0 ..len] ) . unwrap ( ) ;
12311243 }
12321244 }
12331245 }
0 commit comments