@@ -11,8 +11,9 @@ use log::{error, trace};
1111use parsec_interface:: operations:: list_providers:: ProviderInfo ;
1212use parsec_interface:: operations:: {
1313 psa_aead_decrypt, psa_aead_encrypt, psa_asymmetric_decrypt, psa_asymmetric_encrypt,
14- psa_destroy_key, psa_export_key, psa_export_public_key, psa_generate_key, psa_hash_compare,
15- psa_hash_compute, psa_import_key, psa_raw_key_agreement, psa_sign_hash, psa_verify_hash,
14+ psa_destroy_key, psa_export_key, psa_export_public_key, psa_generate_key, psa_generate_random,
15+ psa_hash_compare, psa_hash_compute, psa_import_key, psa_raw_key_agreement, psa_sign_hash,
16+ psa_verify_hash,
1617} ;
1718use parsec_interface:: requests:: { Opcode , ProviderID , ResponseStatus , Result } ;
1819use psa_crypto:: types:: { key, status} ;
@@ -27,12 +28,12 @@ use uuid::Uuid;
2728mod aead;
2829mod asym_encryption;
2930mod asym_sign;
31+ mod generate_random;
3032mod hash;
3133mod key_agreement;
32- #[ allow( dead_code) ]
3334mod key_management;
3435
35- const SUPPORTED_OPCODES : [ Opcode ; 14 ] = [
36+ const SUPPORTED_OPCODES : [ Opcode ; 15 ] = [
3637 Opcode :: PsaGenerateKey ,
3738 Opcode :: PsaDestroyKey ,
3839 Opcode :: PsaSignHash ,
@@ -47,6 +48,7 @@ const SUPPORTED_OPCODES: [Opcode; 14] = [
4748 Opcode :: PsaHashCompare ,
4849 Opcode :: PsaHashCompute ,
4950 Opcode :: PsaRawKeyAgreement ,
51+ Opcode :: PsaGenerateRandom ,
5052] ;
5153
5254/// Mbed Crypto provider structure
@@ -284,6 +286,14 @@ impl Provide for MbedCryptoProvider {
284286 trace ! ( "psa_raw_key_agreement" ) ;
285287 self . psa_raw_key_agreement ( app_name, op)
286288 }
289+
290+ fn psa_generate_random (
291+ & self ,
292+ op : psa_generate_random:: Operation ,
293+ ) -> Result < psa_generate_random:: Result > {
294+ trace ! ( "psa_generate_random ingress" ) ;
295+ self . psa_generate_random_internal ( op)
296+ }
287297}
288298
289299/// Mbed Crypto provider builder
0 commit comments