1e1051a39Sopenharmony_ci/*
2e1051a39Sopenharmony_ci * Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
3e1051a39Sopenharmony_ci *
4e1051a39Sopenharmony_ci * Licensed under the Apache License 2.0 (the "License").  You may not use
5e1051a39Sopenharmony_ci * this file except in compliance with the License.  You can obtain a copy
6e1051a39Sopenharmony_ci * in the file LICENSE in the source distribution or at
7e1051a39Sopenharmony_ci * https://www.openssl.org/source/license.html
8e1051a39Sopenharmony_ci*/
9e1051a39Sopenharmony_ci
10e1051a39Sopenharmony_ci/*
11e1051a39Sopenharmony_ci * This file is meant to be included from ec_kmgmt.c
12e1051a39Sopenharmony_ci */
13e1051a39Sopenharmony_ci
14e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_private_key_types[] = {
15e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
16e1051a39Sopenharmony_ci    OSSL_PARAM_END
17e1051a39Sopenharmony_ci};
18e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_public_key_types[] = {
19e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
20e1051a39Sopenharmony_ci    OSSL_PARAM_END
21e1051a39Sopenharmony_ci};
22e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_key_types[] = {
23e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
24e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
25e1051a39Sopenharmony_ci    OSSL_PARAM_END
26e1051a39Sopenharmony_ci};
27e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_dom_parameters_types[] = {
28e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
29e1051a39Sopenharmony_ci    OSSL_PARAM_END
30e1051a39Sopenharmony_ci};
31e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_5_types[] = {
32e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
33e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
34e1051a39Sopenharmony_ci    OSSL_PARAM_END
35e1051a39Sopenharmony_ci};
36e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_6_types[] = {
37e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
38e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
39e1051a39Sopenharmony_ci    OSSL_PARAM_END
40e1051a39Sopenharmony_ci};
41e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_key_domp_types[] = {
42e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
43e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
44e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
45e1051a39Sopenharmony_ci    OSSL_PARAM_END
46e1051a39Sopenharmony_ci};
47e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_other_parameters_types[] = {
48e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
49e1051a39Sopenharmony_ci    OSSL_PARAM_END
50e1051a39Sopenharmony_ci};
51e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_9_types[] = {
52e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
53e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
54e1051a39Sopenharmony_ci    OSSL_PARAM_END
55e1051a39Sopenharmony_ci};
56e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_10_types[] = {
57e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
58e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
59e1051a39Sopenharmony_ci    OSSL_PARAM_END
60e1051a39Sopenharmony_ci};
61e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_11_types[] = {
62e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
63e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
64e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
65e1051a39Sopenharmony_ci    OSSL_PARAM_END
66e1051a39Sopenharmony_ci};
67e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_all_parameters_types[] = {
68e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
69e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
70e1051a39Sopenharmony_ci    OSSL_PARAM_END
71e1051a39Sopenharmony_ci};
72e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_13_types[] = {
73e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
74e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
75e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
76e1051a39Sopenharmony_ci    OSSL_PARAM_END
77e1051a39Sopenharmony_ci};
78e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_14_types[] = {
79e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
80e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
81e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
82e1051a39Sopenharmony_ci    OSSL_PARAM_END
83e1051a39Sopenharmony_ci};
84e1051a39Sopenharmony_cistatic const OSSL_PARAM ec_all_types[] = {
85e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PRIVATE_KEY,
86e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_PUBLIC_KEY,
87e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_DOM_PARAMETERS,
88e1051a39Sopenharmony_ci    EC_IMEXPORTABLE_OTHER_PARAMETERS,
89e1051a39Sopenharmony_ci    OSSL_PARAM_END
90e1051a39Sopenharmony_ci};
91e1051a39Sopenharmony_ci
92e1051a39Sopenharmony_cistatic const OSSL_PARAM *ec_types[] = {
93e1051a39Sopenharmony_ci    NULL,
94e1051a39Sopenharmony_ci    ec_private_key_types,
95e1051a39Sopenharmony_ci    ec_public_key_types,
96e1051a39Sopenharmony_ci    ec_key_types,
97e1051a39Sopenharmony_ci    ec_dom_parameters_types,
98e1051a39Sopenharmony_ci    ec_5_types,
99e1051a39Sopenharmony_ci    ec_6_types,
100e1051a39Sopenharmony_ci    ec_key_domp_types,
101e1051a39Sopenharmony_ci    ec_other_parameters_types,
102e1051a39Sopenharmony_ci    ec_9_types,
103e1051a39Sopenharmony_ci    ec_10_types,
104e1051a39Sopenharmony_ci    ec_11_types,
105e1051a39Sopenharmony_ci    ec_all_parameters_types,
106e1051a39Sopenharmony_ci    ec_13_types,
107e1051a39Sopenharmony_ci    ec_14_types,
108e1051a39Sopenharmony_ci    ec_all_types
109e1051a39Sopenharmony_ci};
110