5 evp_keymgmt_export_to_provider - key material exporter to providers for EVP
9 #include "internal/evp_int.h"
11 void *evp_keymgmt_export_to_provider(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt);
15 evp_keymgmt_export_to_provider() exports the key material from the
16 given key I<pk> to a provider via a B<EVP_KEYMGMT> interface, if this
17 hasn't already been done.
18 It maintains a cache of provider key references in I<pk> to keep track
21 If I<pk> has an assigned legacy key, a check is done to see if any of
22 its key material has changed since last export, i.e. the legacy key's
23 is_dirty() method returns 1.
24 If it has, the cache of already exported keys is cleared, and a new
25 export is made with the new key material.
29 evp_keymgmt_export_to_provider() returns a pointer to the newly
30 created provider side key, or NULL on error.
34 "Legacy key" is the term used for any key that has been assigned to an
35 B<EVP_PKEY> with EVP_PKEY_assign_RSA() and similar functions.
39 L<EVP_PKEY_ASN1_METHOD(3)>, L<EVP_PKEY_assign_RSA(3)>
43 Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
45 Licensed under the Apache License 2.0 (the "License"). You may not use
46 this file except in compliance with the License. You can obtain a copy
47 in the file LICENSE in the source distribution or at
48 L<https://www.openssl.org/source/license.html>.