File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed
components/TARGET_PSA/services/crypto/COMPONENT_PSA_SRV_IPC Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -1003,13 +1003,18 @@ psa_status_t psa_generate_key(psa_key_slot_t key,
1003
1003
in_vec [1 ].base = & bits ;
1004
1004
in_vec [1 ].len = sizeof (size_t );
1005
1005
1006
- if (((parameters == NULL ) && (parameters_size != 0 )) || ((parameters != NULL ) && (parameters_size == 0 ))) {
1007
- return (PSA_ERROR_INVALID_ARGUMENT );
1006
+ /* currently the parameter argument is used only for RSA keypair
1007
+ and ignored in other cases. support for other algorithms
1008
+ may be added later*/
1009
+ if (PSA_KEY_TYPE_RSA_KEYPAIR == type ) {
1010
+ in_vec [2 ].base = parameters ;
1011
+ /* size of parameter is unsigned integer as defined in header */
1012
+ in_vec [2 ].len = parameters_size ;
1013
+ } else { // currenty ignored for non RSA case
1014
+ in_vec [2 ].base = NULL ;
1015
+ in_vec [2 ].len = 0 ;
1008
1016
}
1009
1017
1010
- in_vec [2 ].base = parameters ;
1011
- in_vec [2 ].len = parameters_size ;
1012
-
1013
1018
handle = psa_connect (PSA_KEY_MNG_ID , MINOR_VER );
1014
1019
if (handle <= 0 ) {
1015
1020
return (PSA_ERROR_COMMUNICATION_FAILURE );
You can’t perform that action at this time.
0 commit comments