Skip to content

Commit f4306de

Browse files
Release 20190517 with generic cert support
1 parent f86b9db commit f4306de

File tree

1,139 files changed

+49919
-39834
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,139 files changed

+49919
-39834
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ Examples
6161

6262
Release notes
6363
-----------
64+
05/17/2019
65+
- Added support for TNG devices (cert transforms, new API)
66+
- atcab_write_pub_key() now works when the data zone is unlocked
67+
6468
03/04/2019
6569
- mbed TLS wrapper added
6670
- Minor bug fixes

app/tng/readme.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# TNG Functions
2+
3+
This folder has a number of convenience functions for working with TNG devices
4+
(currently ATECC608A-MAH22-T and ATECC608A-MAHTN-T).
5+
6+
These devices have standard certificates that can be easily read using the
7+
functions in tng_atcacert_client.h

app/tng/tng22_cert_def_1_signer.c

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
/**
2+
* \file
3+
* \brief TNG 22 signer certificate definition
4+
*
5+
* \copyright (c) 2015-2019 Microchip Technology Inc. and its subsidiaries.
6+
*
7+
* \page License
8+
*
9+
* Subject to your compliance with these terms, you may use Microchip software
10+
* and any derivatives exclusively with Microchip products. It is your
11+
* responsibility to comply with third party license terms applicable to your
12+
* use of third party software (including open source software) that may
13+
* accompany Microchip software.
14+
*
15+
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
16+
* EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
17+
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
18+
* PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT,
19+
* SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE
20+
* OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
21+
* MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE
22+
* FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL
23+
* LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED
24+
* THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR
25+
* THIS SOFTWARE.
26+
*/
27+
28+
#include "atcacert/atcacert_def.h"
29+
#include "tng22_cert_def_1_signer.h"
30+
31+
const uint8_t g_tng22_cert_template_1_signer[TNG22_CERT_TEMPLATE_1_SIGNER_SIZE] = {
32+
0x30, 0x82, 0x02, 0x04, 0x30, 0x82, 0x01, 0xaa, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x44,
33+
0x0e, 0xe4, 0x17, 0x0c, 0xb5, 0x45, 0xce, 0x59, 0x69, 0x8e, 0x30, 0x56, 0x99, 0x0a, 0x5d, 0x30,
34+
0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x4f, 0x31, 0x21, 0x30,
35+
0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x18, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x63, 0x68, 0x69,
36+
0x70, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x20, 0x49, 0x6e, 0x63,
37+
0x31, 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x21, 0x43, 0x72, 0x79, 0x70, 0x74,
38+
0x6f, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
39+
0x20, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43, 0x41, 0x20, 0x30, 0x30, 0x32, 0x30, 0x20, 0x17, 0x0d,
40+
0x31, 0x38, 0x31, 0x31, 0x30, 0x38, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x32,
41+
0x30, 0x34, 0x39, 0x31, 0x31, 0x30, 0x38, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x4f,
42+
0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x18, 0x4d, 0x69, 0x63, 0x72, 0x6f,
43+
0x63, 0x68, 0x69, 0x70, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x20,
44+
0x49, 0x6e, 0x63, 0x31, 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x21, 0x43, 0x72,
45+
0x79, 0x70, 0x74, 0x6f, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74,
46+
0x69, 0x6f, 0x6e, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x20, 0x46, 0x46, 0x46, 0x46, 0x30,
47+
0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
48+
0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x84, 0x98, 0x44, 0x0a, 0x31, 0x9b,
49+
0x3f, 0x71, 0xe2, 0x5d, 0x52, 0x26, 0x00, 0x90, 0x00, 0xc7, 0x56, 0xbd, 0x5c, 0x0f, 0xae, 0x4a,
50+
0x1b, 0x84, 0x1a, 0xd4, 0xa3, 0x3f, 0x21, 0xab, 0xa0, 0x9a, 0x48, 0x10, 0x1c, 0x75, 0xc8, 0x28,
51+
0x24, 0x90, 0xb3, 0xb6, 0x5a, 0x52, 0x80, 0x27, 0x29, 0xbd, 0x3a, 0x75, 0x2c, 0x3d, 0xf0, 0xdd,
52+
0x1b, 0x04, 0xa2, 0xa1, 0xb5, 0x7e, 0x0c, 0x92, 0x24, 0x47, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x0e,
53+
0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x86, 0x30, 0x12,
54+
0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02,
55+
0x01, 0x00, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xbc, 0xd4, 0xfd,
56+
0xe8, 0x80, 0x8a, 0x2d, 0xc9, 0x0b, 0x6d, 0x01, 0xa8, 0xc5, 0xb9, 0xb2, 0x47, 0x33, 0x7e, 0xbd,
57+
0xda, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7a, 0xed,
58+
0x7d, 0x6d, 0xc6, 0xb7, 0x78, 0x9d, 0xb2, 0x38, 0x01, 0xa5, 0xe8, 0x4a, 0x8c, 0xb0, 0xa4, 0x0e,
59+
0x2a, 0x8c, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48,
60+
0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xc5, 0x07, 0xb8, 0x2a, 0x7b, 0xf9, 0xa3, 0x3a, 0x1b, 0x78,
61+
0xdc, 0xeb, 0x01, 0xc9, 0x26, 0x92, 0x9e, 0xf3, 0x78, 0x3d, 0x46, 0x8e, 0x69, 0xa2, 0x84, 0xd3,
62+
0x6a, 0xba, 0xb9, 0x25, 0x1b, 0xef, 0x02, 0x20, 0x0e, 0x6d, 0x7f, 0x76, 0x8d, 0x65, 0xa7, 0x49,
63+
0xfa, 0x71, 0x2d, 0xda, 0x2b, 0x69, 0x25, 0x35, 0xcd, 0x57, 0x7d, 0x65, 0x01, 0x96, 0xa3, 0xd2,
64+
0xbf, 0x3b, 0x22, 0x78, 0x8e, 0x75, 0x41, 0x86
65+
};
66+
67+
const atcacert_def_t g_tng22_cert_def_1_signer = {
68+
.type = CERTTYPE_X509,
69+
.template_id = 1,
70+
.chain_id = 0,
71+
.private_key_slot = 0,
72+
.sn_source = SNSRC_PUB_KEY_HASH,
73+
.cert_sn_dev_loc = {
74+
.zone = DEVZONE_NONE,
75+
.slot = 0,
76+
.is_genkey = 0,
77+
.offset = 0,
78+
.count = 0
79+
},
80+
.issue_date_format = DATEFMT_RFC5280_UTC,
81+
.expire_date_format = DATEFMT_RFC5280_GEN,
82+
.tbs_cert_loc = {
83+
.offset = 4,
84+
.count = 430
85+
},
86+
.expire_years = 31,
87+
.public_key_dev_loc = {
88+
.zone = DEVZONE_DATA,
89+
.slot = 11,
90+
.is_genkey = 0,
91+
.offset = 0,
92+
.count = 72
93+
},
94+
.comp_cert_dev_loc = {
95+
.zone = DEVZONE_DATA,
96+
.slot = 12,
97+
.is_genkey = 0,
98+
.offset = 0,
99+
.count = 72
100+
},
101+
.std_cert_elements = {
102+
{ // STDCERT_PUBLIC_KEY
103+
.offset = 266,
104+
.count = 64
105+
},
106+
{ // STDCERT_SIGNATURE
107+
.offset = 446,
108+
.count = 64
109+
},
110+
{ // STDCERT_ISSUE_DATE
111+
.offset = 128,
112+
.count = 13
113+
},
114+
{ // STDCERT_EXPIRE_DATE
115+
.offset = 143,
116+
.count = 15
117+
},
118+
{ // STDCERT_SIGNER_ID
119+
.offset = 235,
120+
.count = 4
121+
},
122+
{ // STDCERT_CERT_SN
123+
.offset = 15,
124+
.count = 16
125+
},
126+
{ // STDCERT_AUTH_KEY_ID
127+
.offset = 414,
128+
.count = 20
129+
},
130+
{ // STDCERT_SUBJ_KEY_ID
131+
.offset = 381,
132+
.count = 20
133+
}
134+
},
135+
.cert_elements = NULL,
136+
.cert_elements_count = 0,
137+
.cert_template = g_tng22_cert_template_1_signer,
138+
.cert_template_size = sizeof(g_tng22_cert_template_1_signer),
139+
.ca_cert_def = NULL
140+
};

app/tng/tng22_cert_def_1_signer.h

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/**
2+
* \file
3+
* \brief TNG 22 signer certificate definition
4+
*
5+
* \copyright (c) 2015-2019 Microchip Technology Inc. and its subsidiaries.
6+
*
7+
* \page License
8+
*
9+
* Subject to your compliance with these terms, you may use Microchip software
10+
* and any derivatives exclusively with Microchip products. It is your
11+
* responsibility to comply with third party license terms applicable to your
12+
* use of third party software (including open source software) that may
13+
* accompany Microchip software.
14+
*
15+
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
16+
* EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
17+
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
18+
* PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT,
19+
* SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE
20+
* OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
21+
* MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE
22+
* FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL
23+
* LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED
24+
* THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR
25+
* THIS SOFTWARE.
26+
*/
27+
28+
#ifndef TNG22_CERT_DEF_1_SIGNER_H
29+
#define TNG22_CERT_DEF_1_SIGNER_H
30+
31+
#include "atcacert/atcacert_def.h"
32+
33+
#ifdef __cplusplus
34+
extern "C" {
35+
#endif
36+
37+
/** \ingroup tng_
38+
* @{
39+
*/
40+
41+
#define TNG22_CERT_TEMPLATE_1_SIGNER_SIZE 520
42+
extern const atcacert_def_t g_tng22_cert_def_1_signer;
43+
44+
/** @} */
45+
46+
#ifdef __cplusplus
47+
}
48+
#endif
49+
50+
#endif

app/tng/tng22_cert_def_2_device.c

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
/**
2+
* \file
3+
* \brief TNG 22 device certificate definition
4+
*
5+
* \copyright (c) 2015-2019 Microchip Technology Inc. and its subsidiaries.
6+
*
7+
* \page License
8+
*
9+
* Subject to your compliance with these terms, you may use Microchip software
10+
* and any derivatives exclusively with Microchip products. It is your
11+
* responsibility to comply with third party license terms applicable to your
12+
* use of third party software (including open source software) that may
13+
* accompany Microchip software.
14+
*
15+
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER
16+
* EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED
17+
* WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A
18+
* PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT,
19+
* SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE
20+
* OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
21+
* MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE
22+
* FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP'S TOTAL
23+
* LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT EXCEED
24+
* THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR
25+
* THIS SOFTWARE.
26+
*/
27+
28+
#include "atcacert/atcacert_def.h"
29+
#include "tng22_cert_def_2_device.h"
30+
#include "tng22_cert_def_1_signer.h"
31+
32+
const uint8_t g_tng22_cert_template_2_device[TNG22_CERT_TEMPLATE_2_DEVICE_SIZE] = {
33+
0x30, 0x82, 0x01, 0xf5, 0x30, 0x82, 0x01, 0x9b, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x55,
34+
0xce, 0x2e, 0x8f, 0xf6, 0x1c, 0x62, 0x50, 0xb7, 0xe1, 0x68, 0x03, 0x54, 0x14, 0x1c, 0x94, 0x30,
35+
0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x4f, 0x31, 0x21, 0x30,
36+
0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x18, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x63, 0x68, 0x69,
37+
0x70, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x20, 0x49, 0x6e, 0x63,
38+
0x31, 0x2a, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x21, 0x43, 0x72, 0x79, 0x70, 0x74,
39+
0x6f, 0x20, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
40+
0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x20, 0x46, 0x46, 0x46, 0x46, 0x30, 0x20, 0x17, 0x0d,
41+
0x31, 0x38, 0x31, 0x31, 0x30, 0x38, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x18, 0x0f, 0x32,
42+
0x30, 0x34, 0x36, 0x31, 0x31, 0x30, 0x38, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x30, 0x46,
43+
0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x18, 0x4d, 0x69, 0x63, 0x72, 0x6f,
44+
0x63, 0x68, 0x69, 0x70, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x20,
45+
0x49, 0x6e, 0x63, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x18, 0x30, 0x31,
46+
0x32, 0x33, 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x31,
47+
0x20, 0x41, 0x54, 0x45, 0x43, 0x43, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce,
48+
0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00,
49+
0x04, 0x71, 0xf1, 0xa7, 0x0d, 0xa3, 0x79, 0xa3, 0xfd, 0xed, 0x6b, 0x50, 0x10, 0xbd, 0xad, 0x6e,
50+
0x1f, 0xb9, 0xe8, 0xeb, 0xa7, 0xdf, 0x2c, 0x4b, 0x5c, 0x67, 0xd3, 0x5e, 0xba, 0x84, 0xda, 0x09,
51+
0xe7, 0x7a, 0xe8, 0xdb, 0x2c, 0xcb, 0x96, 0x28, 0xee, 0xeb, 0x85, 0xcd, 0xaa, 0xb3, 0x5c, 0x92,
52+
0xe5, 0x3e, 0x1c, 0x44, 0xd5, 0x5a, 0x2b, 0xa7, 0xa0, 0x24, 0xaa, 0x92, 0x60, 0x3b, 0x68, 0x94,
53+
0x8a, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04,
54+
0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
55+
0x02, 0x03, 0x88, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x1a, 0x90,
56+
0xb2, 0x22, 0x37, 0xa4, 0x51, 0xb7, 0x57, 0xdd, 0x36, 0xd1, 0x3a, 0x85, 0x2b, 0xe1, 0x3d, 0x2e,
57+
0xf2, 0xca, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xbc,
58+
0xd4, 0xfd, 0xe8, 0x80, 0x8a, 0x2d, 0xc9, 0x0b, 0x6d, 0x01, 0xa8, 0xc5, 0xb9, 0xb2, 0x47, 0x33,
59+
0x7e, 0xbd, 0xda, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03,
60+
0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x31, 0x0d, 0x58, 0xc9, 0xd5, 0xf8, 0x96, 0xd3, 0xfa, 0x8b,
61+
0xea, 0x6a, 0x13, 0x53, 0x7e, 0x14, 0x10, 0x54, 0xb5, 0xad, 0x17, 0x38, 0xa6, 0x65, 0xb1, 0x42,
62+
0xf8, 0xff, 0xe9, 0xef, 0xbc, 0xa8, 0x02, 0x21, 0x00, 0xd6, 0x23, 0x3a, 0x8b, 0x1a, 0x10, 0x93,
63+
0xae, 0xa1, 0x43, 0xb1, 0x0c, 0x96, 0x80, 0x56, 0x6e, 0x19, 0x41, 0x82, 0xeb, 0x84, 0xff, 0x1f,
64+
0xd3, 0x9f, 0x3d, 0xf6, 0x3e, 0xe5, 0xb3, 0x7a, 0x19
65+
};
66+
67+
const atcacert_cert_element_t g_tng22_cert_elements_2_device[TNG22_CERT_ELEMENTS_2_DEVICE_COUNT] = {
68+
{
69+
.id = "SN03",
70+
.device_loc ={
71+
.zone = DEVZONE_CONFIG,
72+
.slot = 0,
73+
.is_genkey = 0,
74+
.offset = 0,
75+
.count = 4
76+
},
77+
.cert_loc ={
78+
.offset = 206,
79+
.count = 8
80+
},
81+
.transforms ={
82+
TF_BIN2HEX_UC,
83+
TF_NONE
84+
}
85+
},
86+
{
87+
.id = "SN48",
88+
.device_loc ={
89+
.zone = DEVZONE_CONFIG,
90+
.slot = 0,
91+
.is_genkey = 0,
92+
.offset = 8,
93+
.count = 5
94+
},
95+
.cert_loc ={
96+
.offset = 214,
97+
.count = 10
98+
},
99+
.transforms ={
100+
TF_BIN2HEX_UC,
101+
TF_NONE
102+
}
103+
}
104+
};
105+
106+
const atcacert_def_t g_tng22_cert_def_2_device = {
107+
.type = CERTTYPE_X509,
108+
.template_id = 2,
109+
.chain_id = 0,
110+
.private_key_slot = 0,
111+
.sn_source = SNSRC_PUB_KEY_HASH,
112+
.cert_sn_dev_loc = {
113+
.zone = DEVZONE_NONE,
114+
.slot = 0,
115+
.is_genkey = 0,
116+
.offset = 0,
117+
.count = 0
118+
},
119+
.issue_date_format = DATEFMT_RFC5280_UTC,
120+
.expire_date_format = DATEFMT_RFC5280_GEN,
121+
.tbs_cert_loc = {
122+
.offset = 4,
123+
.count = 415
124+
},
125+
.expire_years = 28,
126+
.public_key_dev_loc = {
127+
.zone = DEVZONE_DATA,
128+
.slot = 0,
129+
.is_genkey = 1,
130+
.offset = 0,
131+
.count = 64
132+
},
133+
.comp_cert_dev_loc = {
134+
.zone = DEVZONE_DATA,
135+
.slot = 10,
136+
.is_genkey = 0,
137+
.offset = 0,
138+
.count = 72
139+
},
140+
.std_cert_elements = {
141+
{ // STDCERT_PUBLIC_KEY
142+
.offset = 257,
143+
.count = 64
144+
},
145+
{ // STDCERT_SIGNATURE
146+
.offset = 431,
147+
.count = 64
148+
},
149+
{ // STDCERT_ISSUE_DATE
150+
.offset = 128,
151+
.count = 13
152+
},
153+
{ // STDCERT_EXPIRE_DATE
154+
.offset = 143,
155+
.count = 15
156+
},
157+
{ // STDCERT_SIGNER_ID
158+
.offset = 120,
159+
.count = 4
160+
},
161+
{ // STDCERT_CERT_SN
162+
.offset = 15,
163+
.count = 16
164+
},
165+
{ // STDCERT_AUTH_KEY_ID
166+
.offset = 399,
167+
.count = 20
168+
},
169+
{ // STDCERT_SUBJ_KEY_ID
170+
.offset = 366,
171+
.count = 20
172+
}
173+
},
174+
.cert_elements = g_tng22_cert_elements_2_device,
175+
.cert_elements_count = sizeof(g_tng22_cert_elements_2_device) / sizeof(g_tng22_cert_elements_2_device[0]),
176+
.cert_template = g_tng22_cert_template_2_device,
177+
.cert_template_size = sizeof(g_tng22_cert_template_2_device),
178+
.ca_cert_def = &g_tng22_cert_def_1_signer
179+
};

0 commit comments

Comments
 (0)