@ -77,6 +77,13 @@ EVP_PKEY *evp_keymgmt_util_make_pkey(EVP_KEYMGMT *keymgmt, void *keydata)
return pkey ;
}
int evp_keymgmt_util_export ( const EVP_PKEY * pk , int selection ,
OSSL_CALLBACK * export_cb , void * export_cbarg )
{
return evp_keymgmt_export ( pk - > keymgmt , pk - > keydata , selection ,
export_cb , export_cbarg ) ;
}
void * evp_keymgmt_util_export_to_provider ( EVP_PKEY * pk , EVP_KEYMGMT * keymgmt )
{
struct evp_keymgmt_util_try_import_data_st import_data ;
@ -139,8 +146,8 @@ void *evp_keymgmt_util_export_to_provider(EVP_PKEY *pk, EVP_KEYMGMT *keymgmt)
* The export function calls the callback ( evp_keymgmt_util_try_import ) ,
* which does the import for us . If successful , we ' re done .
*/
if ( ! evp_keymgmt_export ( pk - > keymgmt , pk - > keydata , OSSL_KEYMGMT_SELECT_ALL ,
& evp_keymgmt_util_try_import , & import_data ) ) {
if ( ! evp_keymgmt_util_ export ( pk , OSSL_KEYMGMT_SELECT_ALL ,
& evp_keymgmt_util_try_import , & import_data ) ) {
/* If there was an error, bail out */
evp_keymgmt_freedata ( keymgmt , import_data . keydata ) ;
return NULL ;
@ -392,8 +399,9 @@ int evp_keymgmt_util_copy(EVP_PKEY *to, EVP_PKEY *from, int selection)
import_data . keydata = to_keydata ;
import_data . selection = selection ;
if ( ! evp_keymgmt_export ( from - > keymgmt , from - > keydata , selection ,
& evp_keymgmt_util_try_import , & import_data ) ) {
if ( ! evp_keymgmt_util_export ( from , selection ,
& evp_keymgmt_util_try_import ,
& import_data ) ) {
evp_keymgmt_freedata ( to_keymgmt , alloc_keydata ) ;
return 0 ;
}