@@ -11,8 +11,9 @@ use log::{error, trace};
11
11
use parsec_interface:: operations:: list_providers:: ProviderInfo ;
12
12
use parsec_interface:: operations:: {
13
13
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,
16
17
} ;
17
18
use parsec_interface:: requests:: { Opcode , ProviderID , ResponseStatus , Result } ;
18
19
use psa_crypto:: types:: { key, status} ;
@@ -27,12 +28,12 @@ use uuid::Uuid;
27
28
mod aead;
28
29
mod asym_encryption;
29
30
mod asym_sign;
31
+ mod generate_random;
30
32
mod hash;
31
33
mod key_agreement;
32
- #[ allow( dead_code) ]
33
34
mod key_management;
34
35
35
- const SUPPORTED_OPCODES : [ Opcode ; 14 ] = [
36
+ const SUPPORTED_OPCODES : [ Opcode ; 15 ] = [
36
37
Opcode :: PsaGenerateKey ,
37
38
Opcode :: PsaDestroyKey ,
38
39
Opcode :: PsaSignHash ,
@@ -47,6 +48,7 @@ const SUPPORTED_OPCODES: [Opcode; 14] = [
47
48
Opcode :: PsaHashCompare ,
48
49
Opcode :: PsaHashCompute ,
49
50
Opcode :: PsaRawKeyAgreement ,
51
+ Opcode :: PsaGenerateRandom ,
50
52
] ;
51
53
52
54
/// Mbed Crypto provider structure
@@ -284,6 +286,14 @@ impl Provide for MbedCryptoProvider {
284
286
trace ! ( "psa_raw_key_agreement" ) ;
285
287
self . psa_raw_key_agreement ( app_name, op)
286
288
}
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
+ }
287
297
}
288
298
289
299
/// Mbed Crypto provider builder
0 commit comments