blob: 5ec013be26215512fca37421c59896193c2e1e6b [file] [log] [blame]
Tamas Banf70ef8c2017-12-19 15:35:09 +00001/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
Tamas Ban81daed02019-05-20 15:05:22 +010020/*
21 * Original code taken from mcuboot project at:
22 * https://github.com/JuulLabs-OSS/mcuboot
David Vincze401c7422019-06-21 20:44:05 +020023 * Git SHA of the original version: 3c469bc698a9767859ed73cd0201c44161204d5c
Tamas Ban81daed02019-05-20 15:05:22 +010024 * Modifications are Copyright (c) 2019 Arm Limited.
25 */
26
Tamas Banf70ef8c2017-12-19 15:35:09 +000027#include <bootutil/sign_key.h>
28
Tamas Ban1d37c342019-07-11 08:55:55 +010029#if !defined(MCUBOOT_HW_KEY)
Tamas Banf70ef8c2017-12-19 15:35:09 +000030#if defined(MCUBOOT_SIGN_RSA)
Tamas Ban81daed02019-05-20 15:05:22 +010031#if MCUBOOT_SIGN_RSA_LEN == 2048
32#define HAVE_KEYS
33const unsigned char rsa_pub_key[] = {
34 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
35 0x00, 0xd1, 0x06, 0x08, 0x1a, 0x18, 0x44, 0x2c,
36 0x18, 0xe8, 0xfb, 0xfd, 0xf7, 0x0d, 0xa3, 0x4f,
37 0x1f, 0xbb, 0xee, 0x5e, 0xf9, 0xaa, 0xd2, 0x4b,
38 0x18, 0xd3, 0x5a, 0xe9, 0x6d, 0x18, 0x80, 0x19,
39 0xf9, 0xf0, 0x9c, 0x34, 0x1b, 0xcb, 0xf3, 0xbc,
40 0x74, 0xdb, 0x42, 0xe7, 0x8c, 0x7f, 0x10, 0x53,
41 0x7e, 0x43, 0x5e, 0x0d, 0x57, 0x2c, 0x44, 0xd1,
42 0x67, 0x08, 0x0f, 0x0d, 0xbb, 0x5c, 0xee, 0xec,
43 0xb3, 0x99, 0xdf, 0xe0, 0x4d, 0x84, 0x0b, 0xaa,
44 0x77, 0x41, 0x60, 0xed, 0x15, 0x28, 0x49, 0xa7,
45 0x01, 0xb4, 0x3c, 0x10, 0xe6, 0x69, 0x8c, 0x2f,
46 0x5f, 0xac, 0x41, 0x4d, 0x9e, 0x5c, 0x14, 0xdf,
47 0xf2, 0xf8, 0xcf, 0x3d, 0x1e, 0x6f, 0xe7, 0x5b,
48 0xba, 0xb4, 0xa9, 0xc8, 0x88, 0x7e, 0x47, 0x3c,
49 0x94, 0xc3, 0x77, 0x67, 0x54, 0x4b, 0xaa, 0x8d,
50 0x38, 0x35, 0xca, 0x62, 0x61, 0x7e, 0xb7, 0xe1,
51 0x15, 0xdb, 0x77, 0x73, 0xd4, 0xbe, 0x7b, 0x72,
52 0x21, 0x89, 0x69, 0x24, 0xfb, 0xf8, 0x65, 0x6e,
53 0x64, 0x3e, 0xc8, 0x0e, 0xd7, 0x85, 0xd5, 0x5c,
54 0x4a, 0xe4, 0x53, 0x0d, 0x2f, 0xff, 0xb7, 0xfd,
55 0xf3, 0x13, 0x39, 0x83, 0x3f, 0xa3, 0xae, 0xd2,
56 0x0f, 0xa7, 0x6a, 0x9d, 0xf9, 0xfe, 0xb8, 0xce,
57 0xfa, 0x2a, 0xbe, 0xaf, 0xb8, 0xe0, 0xfa, 0x82,
58 0x37, 0x54, 0xf4, 0x3e, 0xe1, 0x2b, 0xd0, 0xd3,
59 0x08, 0x58, 0x18, 0xf6, 0x5e, 0x4c, 0xc8, 0x88,
60 0x81, 0x31, 0xad, 0x5f, 0xb0, 0x82, 0x17, 0xf2,
61 0x8a, 0x69, 0x27, 0x23, 0xf3, 0xab, 0x87, 0x3e,
62 0x93, 0x1a, 0x1d, 0xfe, 0xe8, 0xf8, 0x1a, 0x24,
63 0x66, 0x59, 0xf8, 0x1c, 0xab, 0xdc, 0xce, 0x68,
64 0x1b, 0x66, 0x64, 0x35, 0xec, 0xfa, 0x0d, 0x11,
65 0x9d, 0xaf, 0x5c, 0x3a, 0xa7, 0xd1, 0x67, 0xc6,
66 0x47, 0xef, 0xb1, 0x4b, 0x2c, 0x62, 0xe1, 0xd1,
67 0xc9, 0x02, 0x03, 0x01, 0x00, 0x01,
Tamas Banf70ef8c2017-12-19 15:35:09 +000068};
Tamas Ban81daed02019-05-20 15:05:22 +010069const unsigned int rsa_pub_key_len = 270;
70#elif MCUBOOT_SIGN_RSA_LEN == 3072
71#define HAVE_KEYS
72const unsigned char rsa_pub_key[] = {
73 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
74 0x00, 0x9c, 0xba, 0xc2, 0x5a, 0xbf, 0xcc, 0xc5,
75 0x4f, 0x20, 0x0c, 0x4f, 0x6f, 0x6c, 0x51, 0x4f,
76 0x5c, 0x0a, 0xab, 0x80, 0xb8, 0x6b, 0x10, 0xc4,
77 0x9b, 0x2b, 0xc4, 0x52, 0x32, 0x09, 0x4b, 0x3b,
78 0x27, 0x94, 0x6a, 0x1d, 0xd5, 0x4c, 0xa8, 0x5c,
79 0xa0, 0xc0, 0x76, 0x95, 0x7b, 0x26, 0x04, 0xb1,
80 0x13, 0x7e, 0x78, 0x27, 0xd6, 0x0c, 0xb4, 0xe8,
81 0xb0, 0x2d, 0x92, 0x52, 0x8a, 0xfb, 0x69, 0xff,
82 0x42, 0x10, 0xaa, 0x56, 0x0c, 0x83, 0xc8, 0x65,
83 0x6e, 0xba, 0x0d, 0x5f, 0x8e, 0xf7, 0x2b, 0x29,
84 0x92, 0xfc, 0x42, 0x2d, 0x2d, 0xf9, 0x80, 0xf5,
85 0x85, 0x21, 0x87, 0xea, 0xac, 0x40, 0xa8, 0xcb,
86 0xd0, 0xa8, 0x3b, 0xe2, 0xd2, 0xec, 0xf0, 0x14,
87 0x48, 0x0e, 0xcf, 0x2b, 0x8a, 0x4b, 0xa4, 0xcd,
88 0xa1, 0x05, 0x5b, 0x17, 0x66, 0x1d, 0xde, 0x6e,
89 0x44, 0xfe, 0x46, 0xa3, 0x0d, 0xd0, 0x69, 0xbf,
90 0x8c, 0xad, 0xa9, 0x16, 0x68, 0x51, 0xeb, 0x79,
91 0x91, 0x20, 0xe6, 0x81, 0x03, 0x07, 0x89, 0x40,
92 0x55, 0x4b, 0xeb, 0xcf, 0x67, 0xf8, 0x31, 0xc7,
93 0x1c, 0x54, 0x4e, 0x52, 0x0b, 0x60, 0xe8, 0xa2,
94 0x50, 0x07, 0xd1, 0xcf, 0xce, 0x12, 0x26, 0xcd,
95 0x8e, 0x82, 0x8d, 0x4e, 0x64, 0xa9, 0xf7, 0xc7,
96 0x21, 0x99, 0x25, 0x07, 0xdd, 0xc5, 0xd5, 0x5f,
97 0xf4, 0x63, 0xfa, 0xcc, 0x2b, 0xda, 0x06, 0x5c,
98 0x59, 0x67, 0xb0, 0x06, 0x35, 0xe9, 0xaa, 0x92,
99 0x45, 0x35, 0xe5, 0xa0, 0x03, 0xff, 0x1c, 0x02,
100 0xb5, 0xc7, 0x4e, 0x94, 0x4b, 0x6e, 0xad, 0x73,
101 0x9d, 0xce, 0x6f, 0x09, 0xb3, 0xb1, 0x8f, 0x60,
102 0x6c, 0xa2, 0xfa, 0xcd, 0x77, 0x0f, 0xcc, 0x27,
103 0xe6, 0x36, 0x58, 0xb3, 0x52, 0xf7, 0x8f, 0xbe,
104 0x49, 0x98, 0xb7, 0xe9, 0x60, 0xfd, 0x97, 0x57,
105 0xcd, 0xea, 0xd3, 0x0b, 0xdf, 0xa2, 0x42, 0xf7,
106 0x44, 0xd3, 0x87, 0xde, 0xe0, 0x10, 0x03, 0x94,
107 0xda, 0xfc, 0xbc, 0xdd, 0xbe, 0x93, 0xb3, 0x4a,
108 0x2b, 0x58, 0xdc, 0x96, 0x12, 0xf2, 0x6f, 0x23,
109 0xba, 0x3b, 0x37, 0xfe, 0xfc, 0x18, 0x1f, 0x75,
110 0x7d, 0x54, 0x01, 0x0e, 0xbe, 0x3d, 0x18, 0x13,
111 0xb3, 0x28, 0xb9, 0x34, 0x2c, 0xd5, 0xfb, 0xc5,
112 0x33, 0xbd, 0x87, 0xbd, 0x3b, 0xe4, 0x1d, 0xd7,
113 0x02, 0x3d, 0x1c, 0x72, 0x65, 0x72, 0x43, 0x43,
114 0x36, 0xa8, 0xfa, 0xe6, 0x73, 0x2d, 0xa4, 0x61,
115 0xe8, 0x02, 0x9c, 0x3a, 0x56, 0x4d, 0x1c, 0xd1,
116 0x76, 0x9c, 0x8c, 0xaa, 0x5f, 0x1b, 0xeb, 0x1c,
117 0x4a, 0xf5, 0xb9, 0xb8, 0x6f, 0x41, 0x4b, 0x27,
118 0x87, 0xde, 0xf6, 0x94, 0x1f, 0xdd, 0xe6, 0xf1,
119 0xa9, 0xc2, 0x02, 0xc2, 0x4f, 0xa3, 0xfc, 0xa4,
120 0x03, 0x5a, 0xd9, 0x6f, 0x78, 0xfd, 0x84, 0xf0,
121 0xe5, 0xfd, 0x3d, 0xa5, 0x4d, 0x1b, 0xad, 0x5b,
122 0x4b, 0x02, 0x03, 0x01, 0x00, 0x01,
123};
124const unsigned int rsa_pub_key_len = 398;
125#endif
Tamas Banf70ef8c2017-12-19 15:35:09 +0000126#else
127#error "No public key available for given signing algorithm."
128#endif
129
Tamas Ban81daed02019-05-20 15:05:22 +0100130#if defined(HAVE_KEYS)
Tamas Banf70ef8c2017-12-19 15:35:09 +0000131const struct bootutil_key bootutil_keys[] = {
132 {
Tamas Ban81daed02019-05-20 15:05:22 +0100133 .key = rsa_pub_key,
134 .len = &rsa_pub_key_len,
Tamas Banf70ef8c2017-12-19 15:35:09 +0000135 },
136};
137const int bootutil_key_cnt = 1;
138#endif
Tamas Ban1d37c342019-07-11 08:55:55 +0100139#else /* MCUBOOT_HW_KEY */
140unsigned int pub_key_len;
141struct bootutil_key bootutil_keys[1] = {
142 {
143 .key = 0,
144 .len = &pub_key_len,
145 },
146};
147const int bootutil_key_cnt = 1;
148#endif