1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
/* SPDX-License-Identifier: BSD-3-Clause */
/*
* Freescale Semiconductor
* (c) Freescale Semiconductor, Inc. 2011,2012. All rights reserved.
* Copyright 2019, 2023 NXP
*/
#ifndef PKEY_H
#define PKEY_H
/*===========================================================================*/
/**
@file pkey.h
@brief CST private key and password provider API
*/
/*===========================================================================
INCLUDE FILES
=============================================================================*/
/*===========================================================================
CONSTANTS
=============================================================================*/
/*===========================================================================
MACROS
=============================================================================*/
/*===========================================================================
ENUMS
=============================================================================*/
/*===========================================================================
STRUCTURES AND OTHER TYPEDEFS
=============================================================================*/
/*===========================================================================
GLOBAL VARIABLE DECLARATIONS
=============================================================================*/
/*===========================================================================
FUNCTION PROTOTYPES
=============================================================================*/
#ifdef __cplusplus
extern "C" {
#endif
/** get_passcode_to_key_file
*
* @par Purpose
*
* Callback to gte password for the encrypted key file. Default behavior
* can be overridden by customers by linking with their own implementation
* of libpw.a and this function
*
* @par Operation
*
* @param[out] buf, return buffer for the password
*
* @param[in] size, size of the buf in bytes
*
* @param[in] rwflag, not used
*
* @param[in] userdata, filename for a public key used in the CSF
*
* @retval returns size of password string
*/
int get_passcode_to_key_file(char *buf, int size, int rwflag, void *userdata);
/** get_key_file
*
* @par Purpose
*
* This API extracts private key filename using cert filename. This API is
* moved to libpw to allow customers to change its implementation to better
* suit their needs.
*
* @par Operation
*
* @param[in] cert_file, filename for certificate
*
* @param[out] key_file, filename for private key for the input certificate
*
* @retval SUCCESS
*/
int32_t get_key_file(const char* cert_file, char* key_file);
#ifdef __cplusplus
}
#endif
#endif /* PKEY_H */
|