Add Key Management support for EdDSA keys
[openssl.git] / providers / implementations / keymgmt / ec_kmgmt_imexport.inc
1 /*
2  * This file is meant to be included from ec_kmgmt.c
3  */
4
5 static const OSSL_PARAM ec_private_key_types[] = {
6     EC_IMEXPORTABLE_PRIVATE_KEY,
7     OSSL_PARAM_END
8 };
9 static const OSSL_PARAM ec_public_key_types[] = {
10     EC_IMEXPORTABLE_PUBLIC_KEY,
11     OSSL_PARAM_END
12 };
13 static const OSSL_PARAM ec_key_types[] = {
14     EC_IMEXPORTABLE_PRIVATE_KEY,
15     EC_IMEXPORTABLE_PUBLIC_KEY,
16     OSSL_PARAM_END
17 };
18 static const OSSL_PARAM ec_dom_parameters_types[] = {
19     EC_IMEXPORTABLE_DOM_PARAMETERS,
20     OSSL_PARAM_END
21 };
22 static const OSSL_PARAM ec_5_types[] = {
23     EC_IMEXPORTABLE_PRIVATE_KEY,
24     EC_IMEXPORTABLE_DOM_PARAMETERS,
25     OSSL_PARAM_END
26 };
27 static const OSSL_PARAM ec_6_types[] = {
28     EC_IMEXPORTABLE_PUBLIC_KEY,
29     EC_IMEXPORTABLE_DOM_PARAMETERS,
30     OSSL_PARAM_END
31 };
32 static const OSSL_PARAM ec_key_domp_types[] = {
33     EC_IMEXPORTABLE_PRIVATE_KEY,
34     EC_IMEXPORTABLE_PUBLIC_KEY,
35     EC_IMEXPORTABLE_DOM_PARAMETERS,
36     OSSL_PARAM_END
37 };
38 static const OSSL_PARAM ec_other_parameters_types[] = {
39     EC_IMEXPORTABLE_OTHER_PARAMETERS,
40     OSSL_PARAM_END
41 };
42 static const OSSL_PARAM ec_9_types[] = {
43     EC_IMEXPORTABLE_PRIVATE_KEY,
44     EC_IMEXPORTABLE_OTHER_PARAMETERS,
45     OSSL_PARAM_END
46 };
47 static const OSSL_PARAM ec_10_types[] = {
48     EC_IMEXPORTABLE_PUBLIC_KEY,
49     EC_IMEXPORTABLE_OTHER_PARAMETERS,
50     OSSL_PARAM_END
51 };
52 static const OSSL_PARAM ec_11_types[] = {
53     EC_IMEXPORTABLE_PRIVATE_KEY,
54     EC_IMEXPORTABLE_PUBLIC_KEY,
55     EC_IMEXPORTABLE_OTHER_PARAMETERS,
56     OSSL_PARAM_END
57 };
58 static const OSSL_PARAM ec_all_parameters_types[] = {
59     EC_IMEXPORTABLE_DOM_PARAMETERS,
60     EC_IMEXPORTABLE_OTHER_PARAMETERS,
61     OSSL_PARAM_END
62 };
63 static const OSSL_PARAM ec_13_types[] = {
64     EC_IMEXPORTABLE_PRIVATE_KEY,
65     EC_IMEXPORTABLE_DOM_PARAMETERS,
66     EC_IMEXPORTABLE_OTHER_PARAMETERS,
67     OSSL_PARAM_END
68 };
69 static const OSSL_PARAM ec_14_types[] = {
70     EC_IMEXPORTABLE_PUBLIC_KEY,
71     EC_IMEXPORTABLE_DOM_PARAMETERS,
72     EC_IMEXPORTABLE_OTHER_PARAMETERS,
73     OSSL_PARAM_END
74 };
75 static const OSSL_PARAM ec_all_types[] = {
76     EC_IMEXPORTABLE_PRIVATE_KEY,
77     EC_IMEXPORTABLE_PUBLIC_KEY,
78     EC_IMEXPORTABLE_DOM_PARAMETERS,
79     EC_IMEXPORTABLE_OTHER_PARAMETERS,
80     OSSL_PARAM_END
81 };
82
83 static const OSSL_PARAM *ec_types[] = {
84     NULL,
85     ec_private_key_types,
86     ec_public_key_types,
87     ec_key_types,
88     ec_dom_parameters_types,
89     ec_5_types,
90     ec_6_types,
91     ec_key_domp_types,
92     ec_other_parameters_types,
93     ec_9_types,
94     ec_10_types,
95     ec_11_types,
96     ec_all_parameters_types,
97     ec_13_types,
98     ec_14_types,
99     ec_all_types
100 };