File: pkey.h

package info (click to toggle)
imx-code-signing-tool 3.4.1%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,912 kB
  • sloc: ansic: 10,258; sh: 2,558; python: 391; yacc: 245; makefile: 203; lex: 59
file content (92 lines) | stat: -rw-r--r-- 2,921 bytes parent folder | download
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 */