@@ -33,8 +33,7 @@ use rsa::Oaep;
3333use rsa:: RsaPrivateKey ;
3434use rsa:: RsaPublicKey ;
3535use rsa:: pkcs8:: EncodePrivateKey ;
36- use rsa:: rand_core:: OsRng ;
37- use rsa:: rand_core:: RngCore ;
36+ use rsa:: rand_core:: Rng ;
3837use rsa:: rand_core:: SeedableRng ;
3938use sha2:: Sha256 ;
4039use std:: collections:: HashMap ;
@@ -469,7 +468,7 @@ impl TestIgvmAgent {
469468
470469 self . secret_key = Some ( private_key) ;
471470
472- RngCore :: fill_bytes ( & mut rng, & mut des_key) ;
471+ Rng :: fill_bytes ( & mut rng, & mut des_key) ;
473472 self . des_key = Some ( des_key) ;
474473
475474 Ok ( ( ) )
@@ -491,8 +490,8 @@ impl TestIgvmAgent {
491490 . ok_or ( WrappedKeyError :: SecretKeyNotInitialized ) ?;
492491
493492 // Encrypt the DES key using RSA-OAEP
494- let mut rng = OsRng ;
495- let padding = Oaep :: new :: < Sha256 > ( ) ;
493+ let mut rng = DummyRng :: from_seed ( 0xabcdu64 . to_le_bytes ( ) ) ;
494+ let padding = Oaep :: < Sha256 > :: new ( ) ;
496495 let rsa_public = RsaPublicKey :: from ( secret_key) ;
497496 let encrypted_des = rsa_public
498497 . encrypt ( & mut rng, padding, & des_key)
@@ -567,8 +566,8 @@ impl TestIgvmAgent {
567566
568567 // Convert the JWK RSA key to a usable RSA public key
569568 let rsa_public_key = RsaPublicKey :: new (
570- rsa:: BigUint :: from_bytes_be ( & transfer_key. n ) ,
571- rsa:: BigUint :: from_bytes_be ( & transfer_key. e ) ,
569+ rsa:: BoxedUint :: from_be_slice ( & transfer_key. n , 4096 * 8 ) . unwrap ( ) ,
570+ rsa:: BoxedUint :: from_be_slice ( & transfer_key. e , 4096 * 8 ) . unwrap ( ) ,
572571 )
573572 . map_err ( KeyReleaseError :: ConvertJwkRsaFailed ) ?;
574573
@@ -587,18 +586,18 @@ impl TestIgvmAgent {
587586 . secret_key
588587 . as_ref ( )
589588 . ok_or ( KeyReleaseError :: SecretKeyNotInitialized ) ?;
590- let mut rng = OsRng ;
589+ let mut rng = DummyRng :: from_seed ( 0xabcdu64 . to_le_bytes ( ) ) ;
591590
592591 // Generate the KEK (32 bytes) and wrap the private key using internal wrapper
593592 let mut kek_bytes = [ 0u8 ; 32 ] ;
594- RngCore :: fill_bytes ( & mut rng, & mut kek_bytes) ;
593+ Rng :: fill_bytes ( & mut rng, & mut kek_bytes) ;
595594 let priv_key_der = secret_key
596595 . to_pkcs8_der ( )
597596 . map_err ( KeyReleaseError :: RsaToPkcs8Error ) ?;
598597 let wrapped_key = aes_key_wrap_with_padding ( & kek_bytes, priv_key_der. as_bytes ( ) ) ;
599598
600599 // Encrypt the KEK using RSA-OAEP
601- let padding = Oaep :: new :: < TestSha1 > ( ) ;
600+ let padding = Oaep :: < TestSha1 > :: new ( ) ;
602601 let encrypted_kek = public_key
603602 . encrypt ( & mut rng, padding, & kek_bytes)
604603 . map_err ( KeyReleaseError :: RsaEncryptionError ) ?;
0 commit comments