xref: /rk3399_ARM-atf/tools/cert_create/src/tbbr/tbb_key.c (revision 51faada71a219a8b94cd8d8e423f0f22e9da4d8f)
1 /*
2  * Copyright (c) 2015, ARM Limited and Contributors. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * Redistributions of source code must retain the above copyright notice, this
8  * list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * Neither the name of ARM nor the names of its contributors may be used
15  * to endorse or promote products derived from this software without specific
16  * prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 #include "tbbr/tbb_key.h"
32 
33 /*
34  * Keys used to establish the chain of trust
35  *
36  * The order of the keys must follow the enumeration specified in tbb_key.h
37  */
38 static key_t tbb_keys[] = {
39 	[ROT_KEY] = {
40 		.id = ROT_KEY,
41 		.opt = "rot-key",
42 		.help_msg = "Root Of Trust key (input/output file)",
43 		.desc = "Root Of Trust key"
44 	},
45 	[TRUSTED_WORLD_KEY] = {
46 		.id = TRUSTED_WORLD_KEY,
47 		.opt = "trusted-world-key",
48 		.help_msg = "Trusted World key (input/output file)",
49 		.desc = "Trusted World key"
50 	},
51 	[NON_TRUSTED_WORLD_KEY] = {
52 		.id = NON_TRUSTED_WORLD_KEY,
53 		.opt = "non-trusted-world-key",
54 		.help_msg = "Non Trusted World key (input/output file)",
55 		.desc = "Non Trusted World key"
56 	},
57 	[SCP_FW_CONTENT_CERT_KEY] = {
58 		.id = SCP_FW_CONTENT_CERT_KEY,
59 		.opt = "scp-fw-key",
60 		.help_msg = "SCP Firmware Content Certificate key (input/output file)",
61 		.desc = "SCP Firmware Content Certificate key"
62 	},
63 	[SOC_FW_CONTENT_CERT_KEY] = {
64 		.id = SOC_FW_CONTENT_CERT_KEY,
65 		.opt = "soc-fw-key",
66 		.help_msg = "SoC Firmware Content Certificate key (input/output file)",
67 		.desc = "SoC Firmware Content Certificate key"
68 	},
69 	[TRUSTED_OS_FW_CONTENT_CERT_KEY] = {
70 		.id = TRUSTED_OS_FW_CONTENT_CERT_KEY,
71 		.opt = "tos-fw-key",
72 		.help_msg = "Trusted OS Firmware Content Certificate key (input/output file)",
73 		.desc = "Trusted OS Firmware Content Certificate key"
74 	},
75 	[NON_TRUSTED_FW_CONTENT_CERT_KEY] = {
76 		.id = NON_TRUSTED_FW_CONTENT_CERT_KEY,
77 		.opt = "nt-fw-key",
78 		.help_msg = "Non Trusted Firmware Content Certificate key (input/output file)",
79 		.desc = "Non Trusted Firmware Content Certificate key"
80 	}
81 };
82 
83 REGISTER_KEYS(tbb_keys);
84