36
36
#include "mbedtls/platform.h"
37
37
#endif
38
38
39
- static psa_status_t its_to_psa_error ( psa_its_status_t ret )
40
- {
41
- switch ( ret )
42
- {
43
- case PSA_ITS_SUCCESS :
44
- return ( PSA_SUCCESS );
45
-
46
- case PSA_ITS_ERROR_UID_NOT_FOUND :
47
- return ( PSA_ERROR_EMPTY_SLOT );
48
-
49
- case PSA_ITS_ERROR_STORAGE_FAILURE :
50
- return ( PSA_ERROR_STORAGE_FAILURE );
51
-
52
- case PSA_ITS_ERROR_INSUFFICIENT_SPACE :
53
- return ( PSA_ERROR_INSUFFICIENT_STORAGE );
54
-
55
- case PSA_ITS_ERROR_OFFSET_INVALID :
56
- case PSA_ITS_ERROR_INCORRECT_SIZE :
57
- case PSA_ITS_ERROR_INVALID_ARGUMENTS :
58
- return ( PSA_ERROR_INVALID_ARGUMENT );
59
-
60
- case PSA_ITS_ERROR_FLAGS_NOT_SUPPORTED :
61
- return ( PSA_ERROR_NOT_SUPPORTED );
62
-
63
- case PSA_ITS_ERROR_WRITE_ONCE :
64
- return ( PSA_ERROR_OCCUPIED_SLOT );
65
39
66
- default :
67
- return ( PSA_ERROR_UNKNOWN_ERROR );
68
- }
69
- }
70
-
71
- static psa_its_uid_t psa_its_identifier_of_slot ( psa_key_id_t key )
40
+ static psa_storage_uid_t psa_its_identifier_of_slot ( psa_key_id_t key )
72
41
{
73
42
return ( key );
74
43
}
75
44
76
45
psa_status_t psa_crypto_storage_load ( const psa_key_id_t key , uint8_t * data ,
77
46
size_t data_size )
78
47
{
79
- psa_its_status_t ret ;
80
48
psa_status_t status ;
81
- psa_its_uid_t data_identifier = psa_its_identifier_of_slot ( key );
82
- struct psa_its_info_t data_identifier_info ;
49
+ psa_storage_uid_t data_identifier = psa_its_identifier_of_slot ( key );
50
+ struct psa_storage_info_t data_identifier_info ;
83
51
84
- ret = psa_its_get_info ( data_identifier , & data_identifier_info );
85
- status = its_to_psa_error ( ret );
86
- if ( status != PSA_SUCCESS )
52
+ status = psa_its_get_info ( data_identifier , & data_identifier_info );
53
+ if ( status != PSA_SUCCESS )
87
54
return ( status );
88
55
89
- ret = psa_its_get ( data_identifier , 0 , data_size , data );
90
- status = its_to_psa_error ( ret );
56
+ status = psa_its_get ( data_identifier , 0 , data_size , data );
91
57
92
58
return ( status );
93
59
}
94
60
95
61
int psa_is_key_present_in_storage ( const psa_key_id_t key )
96
62
{
97
- psa_its_status_t ret ;
98
- psa_its_uid_t data_identifier = psa_its_identifier_of_slot ( key );
99
- struct psa_its_info_t data_identifier_info ;
63
+ psa_status_t ret ;
64
+ psa_storage_uid_t data_identifier = psa_its_identifier_of_slot ( key );
65
+ struct psa_storage_info_t data_identifier_info ;
100
66
101
67
ret = psa_its_get_info ( data_identifier , & data_identifier_info );
102
68
103
- if ( ret == PSA_ITS_ERROR_UID_NOT_FOUND )
69
+ if ( ret == PSA_ERROR_DOES_NOT_EXIST )
104
70
return ( 0 );
105
71
return ( 1 );
106
72
}
@@ -109,23 +75,20 @@ psa_status_t psa_crypto_storage_store( const psa_key_id_t key,
109
75
const uint8_t * data ,
110
76
size_t data_length )
111
77
{
112
- psa_its_status_t ret ;
113
78
psa_status_t status ;
114
- psa_its_uid_t data_identifier = psa_its_identifier_of_slot ( key );
115
- struct psa_its_info_t data_identifier_info ;
79
+ psa_storage_uid_t data_identifier = psa_its_identifier_of_slot ( key );
80
+ struct psa_storage_info_t data_identifier_info ;
116
81
117
82
if ( psa_is_key_present_in_storage ( key ) == 1 )
118
83
return ( PSA_ERROR_OCCUPIED_SLOT );
119
84
120
- ret = psa_its_set ( data_identifier , data_length , data , 0 );
121
- status = its_to_psa_error ( ret );
85
+ status = psa_its_set ( data_identifier , data_length , data , 0 );
122
86
if ( status != PSA_SUCCESS )
123
87
{
124
88
return ( PSA_ERROR_STORAGE_FAILURE );
125
89
}
126
90
127
- ret = psa_its_get_info ( data_identifier , & data_identifier_info );
128
- status = its_to_psa_error ( ret );
91
+ status = psa_its_get_info ( data_identifier , & data_identifier_info );
129
92
if ( status != PSA_SUCCESS )
130
93
{
131
94
goto exit ;
@@ -145,19 +108,19 @@ psa_status_t psa_crypto_storage_store( const psa_key_id_t key,
145
108
146
109
psa_status_t psa_destroy_persistent_key ( const psa_key_id_t key )
147
110
{
148
- psa_its_status_t ret ;
149
- psa_its_uid_t data_identifier = psa_its_identifier_of_slot ( key );
150
- struct psa_its_info_t data_identifier_info ;
111
+ psa_status_t ret ;
112
+ psa_storage_uid_t data_identifier = psa_its_identifier_of_slot ( key );
113
+ struct psa_storage_info_t data_identifier_info ;
151
114
152
115
ret = psa_its_get_info ( data_identifier , & data_identifier_info );
153
- if ( ret == PSA_ITS_ERROR_UID_NOT_FOUND )
116
+ if ( ret == PSA_ERROR_DOES_NOT_EXIST )
154
117
return ( PSA_SUCCESS );
155
118
156
- if ( psa_its_remove ( data_identifier ) != PSA_ITS_SUCCESS )
119
+ if ( psa_its_remove ( data_identifier ) != PSA_SUCCESS )
157
120
return ( PSA_ERROR_STORAGE_FAILURE );
158
121
159
122
ret = psa_its_get_info ( data_identifier , & data_identifier_info );
160
- if ( ret != PSA_ITS_ERROR_UID_NOT_FOUND )
123
+ if ( ret != PSA_ERROR_DOES_NOT_EXIST )
161
124
return ( PSA_ERROR_STORAGE_FAILURE );
162
125
163
126
return ( PSA_SUCCESS );
@@ -166,13 +129,11 @@ psa_status_t psa_destroy_persistent_key( const psa_key_id_t key )
166
129
psa_status_t psa_crypto_storage_get_data_length ( const psa_key_id_t key ,
167
130
size_t * data_length )
168
131
{
169
- psa_its_status_t ret ;
170
132
psa_status_t status ;
171
- psa_its_uid_t data_identifier = psa_its_identifier_of_slot ( key );
172
- struct psa_its_info_t data_identifier_info ;
133
+ psa_storage_uid_t data_identifier = psa_its_identifier_of_slot ( key );
134
+ struct psa_storage_info_t data_identifier_info ;
173
135
174
- ret = psa_its_get_info ( data_identifier , & data_identifier_info );
175
- status = its_to_psa_error ( ret );
136
+ status = psa_its_get_info ( data_identifier , & data_identifier_info );
176
137
if ( status != PSA_SUCCESS )
177
138
return ( status );
178
139
0 commit comments