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