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