1e1051a39Sopenharmony_ci/* 2e1051a39Sopenharmony_ci * Copyright 2020-2021 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#include <openssl/core.h> 11e1051a39Sopenharmony_ci#include <openssl/core_dispatch.h> 12e1051a39Sopenharmony_ci#include <openssl/types.h> 13e1051a39Sopenharmony_ci#include "prov/provider_ctx.h" 14e1051a39Sopenharmony_ci 15e1051a39Sopenharmony_ciOSSL_FUNC_keymgmt_new_fn *ossl_prov_get_keymgmt_new(const OSSL_DISPATCH *fns); 16e1051a39Sopenharmony_ciOSSL_FUNC_keymgmt_free_fn *ossl_prov_get_keymgmt_free(const OSSL_DISPATCH *fns); 17e1051a39Sopenharmony_ciOSSL_FUNC_keymgmt_import_fn *ossl_prov_get_keymgmt_import(const OSSL_DISPATCH *fns); 18e1051a39Sopenharmony_ciOSSL_FUNC_keymgmt_export_fn *ossl_prov_get_keymgmt_export(const OSSL_DISPATCH *fns); 19e1051a39Sopenharmony_ci 20e1051a39Sopenharmony_ciint ossl_prov_der_from_p8(unsigned char **new_der, long *new_der_len, 21e1051a39Sopenharmony_ci unsigned char *input_der, long input_der_len, 22e1051a39Sopenharmony_ci OSSL_PASSPHRASE_CALLBACK *pw_cb, void *pw_cbarg); 23e1051a39Sopenharmony_ci 24e1051a39Sopenharmony_civoid *ossl_prov_import_key(const OSSL_DISPATCH *fns, void *provctx, 25e1051a39Sopenharmony_ci int selection, const OSSL_PARAM params[]); 26e1051a39Sopenharmony_civoid ossl_prov_free_key(const OSSL_DISPATCH *fns, void *key); 27e1051a39Sopenharmony_ciint ossl_read_der(PROV_CTX *provctx, OSSL_CORE_BIO *cin, unsigned char **data, 28e1051a39Sopenharmony_ci long *len); 29