@@ -160,81 +160,96 @@ static inline psa_algorithm_t mbedtls_psa_translate_md( mbedtls_md_type_t md_alg
160
160
/* Translations for ECC. */
161
161
162
162
static inline int mbedtls_psa_get_ecc_oid_from_id (
163
- psa_ecc_curve_t curve , char const * * oid , size_t * oid_len )
163
+ psa_ecc_curve_t curve , size_t bits ,
164
+ char const * * oid , size_t * oid_len )
164
165
{
165
166
switch ( curve )
166
167
{
168
+ case PSA_ECC_CURVE_SECP_R1 :
169
+ switch ( bits )
170
+ {
167
171
#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED )
168
- case PSA_ECC_CURVE_SECP192R1 :
169
- * oid = MBEDTLS_OID_EC_GRP_SECP192R1 ;
170
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP192R1 );
171
- return ( 0 );
172
+ case 192 :
173
+ * oid = MBEDTLS_OID_EC_GRP_SECP192R1 ;
174
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP192R1 );
175
+ return ( 0 );
172
176
#endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
173
177
#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED )
174
- case PSA_ECC_CURVE_SECP224R1 :
175
- * oid = MBEDTLS_OID_EC_GRP_SECP224R1 ;
176
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP224R1 );
177
- return ( 0 );
178
+ case 224 :
179
+ * oid = MBEDTLS_OID_EC_GRP_SECP224R1 ;
180
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP224R1 );
181
+ return ( 0 );
178
182
#endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
179
183
#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED )
180
- case PSA_ECC_CURVE_SECP256R1 :
181
- * oid = MBEDTLS_OID_EC_GRP_SECP256R1 ;
182
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP256R1 );
183
- return ( 0 );
184
+ case 256 :
185
+ * oid = MBEDTLS_OID_EC_GRP_SECP256R1 ;
186
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP256R1 );
187
+ return ( 0 );
184
188
#endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
185
189
#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED )
186
- case PSA_ECC_CURVE_SECP384R1 :
187
- * oid = MBEDTLS_OID_EC_GRP_SECP384R1 ;
188
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP384R1 );
189
- return ( 0 );
190
+ case 384 :
191
+ * oid = MBEDTLS_OID_EC_GRP_SECP384R1 ;
192
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP384R1 );
193
+ return ( 0 );
190
194
#endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
191
195
#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED )
192
- case PSA_ECC_CURVE_SECP521R1 :
193
- * oid = MBEDTLS_OID_EC_GRP_SECP521R1 ;
194
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP521R1 );
195
- return ( 0 );
196
+ case 521 :
197
+ * oid = MBEDTLS_OID_EC_GRP_SECP521R1 ;
198
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP521R1 );
199
+ return ( 0 );
196
200
#endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
201
+ }
202
+ break ;
203
+ case PSA_ECC_CURVE_SECP_K1 :
204
+ switch ( bits )
205
+ {
197
206
#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED )
198
- case PSA_ECC_CURVE_SECP192K1 :
199
- * oid = MBEDTLS_OID_EC_GRP_SECP192K1 ;
200
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP192K1 );
201
- return ( 0 );
207
+ case 192 :
208
+ * oid = MBEDTLS_OID_EC_GRP_SECP192K1 ;
209
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP192K1 );
210
+ return ( 0 );
202
211
#endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
203
212
#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED )
204
- case PSA_ECC_CURVE_SECP224K1 :
205
- * oid = MBEDTLS_OID_EC_GRP_SECP224K1 ;
206
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP224K1 );
207
- return ( 0 );
213
+ case 224 :
214
+ * oid = MBEDTLS_OID_EC_GRP_SECP224K1 ;
215
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP224K1 );
216
+ return ( 0 );
208
217
#endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
209
218
#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED )
210
- case PSA_ECC_CURVE_SECP256K1 :
211
- * oid = MBEDTLS_OID_EC_GRP_SECP256K1 ;
212
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP256K1 );
213
- return ( 0 );
219
+ case 256 :
220
+ * oid = MBEDTLS_OID_EC_GRP_SECP256K1 ;
221
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_SECP256K1 );
222
+ return ( 0 );
214
223
#endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
224
+ }
225
+ break ;
226
+ case PSA_ECC_CURVE_BRAINPOOL_P_R1 :
227
+ switch ( bits )
228
+ {
215
229
#if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED )
216
- case PSA_ECC_CURVE_BRAINPOOL_P256R1 :
217
- * oid = MBEDTLS_OID_EC_GRP_BP256R1 ;
218
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP256R1 );
219
- return ( 0 );
230
+ case 256 :
231
+ * oid = MBEDTLS_OID_EC_GRP_BP256R1 ;
232
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP256R1 );
233
+ return ( 0 );
220
234
#endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
221
235
#if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED )
222
- case PSA_ECC_CURVE_BRAINPOOL_P384R1 :
223
- * oid = MBEDTLS_OID_EC_GRP_BP384R1 ;
224
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP384R1 );
225
- return ( 0 );
236
+ case 384 :
237
+ * oid = MBEDTLS_OID_EC_GRP_BP384R1 ;
238
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP384R1 );
239
+ return ( 0 );
226
240
#endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */
227
241
#if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED )
228
- case PSA_ECC_CURVE_BRAINPOOL_P512R1 :
229
- * oid = MBEDTLS_OID_EC_GRP_BP512R1 ;
230
- * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP512R1 );
231
- return ( 0 );
242
+ case 521 :
243
+ * oid = MBEDTLS_OID_EC_GRP_BP512R1 ;
244
+ * oid_len = MBEDTLS_OID_SIZE ( MBEDTLS_OID_EC_GRP_BP512R1 );
245
+ return ( 0 );
232
246
#endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
233
- default :
234
- (void ) oid ;
235
- (void ) oid_len ;
236
- return ( -1 );
247
+ }
248
+ break ;
237
249
}
250
+ (void ) oid ;
251
+ (void ) oid_len ;
252
+ return ( -1 );
238
253
}
239
254
240
255
#define MBEDTLS_PSA_MAX_EC_PUBKEY_LENGTH 1
0 commit comments