Loading...
Searching...
No Matches
atecc608a_config.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2024 HAW Hamburg
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
29#ifndef ATECC608A_CONFIG_H
30#define ATECC608A_CONFIG_H
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36#include <stdint.h>
37
42const uint8_t atecc608a_config[] = {
43 0x00, 0x00, 0x00, 0x00, /* Read only serial number */
44 0x00, 0x00, 0x00, 0x00, /* Read only revision number */
45 0x00, 0x00, 0x00, 0x00, /* Read only serial number */
46 0x00, 0x00, 0x00, 0x00, /* Read only reserved, I2C enable, reserved */
47 0xC0, 0x00, 0x00, 0x00, /* I2C address, reserved, CountMatch, chip mode*/
48
49 /* Private keys:
50 0x8720 = 1 0 0 0 | 0 1 1 1 | 0 0 1 0 | 0 0 0 0
51 7 - 4 | 3 - 0 | 15 - 12 | 11 - 8
52 - External signatures of arbitrary messages enabled
53 - Internal signatures of messages by GenDig/GenKey enabled
54 - ECDH operations permitted
55 - ECDH Master Secret will be output in the clear
56 - No write by write command */
57 0x87, 0x20, 0x87, 0x20, /* Slot 0, Slot 1 */
58 0x87, 0x20, 0x87, 0x20, /* Slot 2, Slot 3 */
59
60 /* Private Keys, write always allowed (use only for testing!!!)*/
61 0x87, 0x00, 0x87, 0x00,
62
63 /* Private key:
64 - as above but
65 - ECDH Master Secret will be written into slot n + 1 (7)*/
66 0x8F, 0x20, 0x87, 0x20, /* Slot 6, Slot 7 */
67
68 /* Data storage and public keys, anything goes */
69 0x00, 0x00, 0x00, 0x00, /* Slot 8, Slot 9 */
70 0x00, 0x00, 0x00, 0x00, /* Slot 10, Slot 11 */
71 0x00, 0x00, 0x00, 0x00, /* Slot 12, Slot 13 */
72 0x00, 0x00, 0x00, 0x00, /* Slot 14, Slot 15 */
73
74 0xFF, 0xFF, 0xFF, 0xFF, /* Counter 0 */
75 0x00, 0x00, 0x00, 0x00, /* Counter 0 */
76 0xFF, 0xFF, 0xFF, 0xFF, /* Counter 1 */
77 0x00, 0x00, 0x00, 0x00, /* Counter 1 */
78 0x00, 0x00, 0x00, 0x00, /* UseLock, VolatileKeyPermission, Secure Boot */
79 0x00, 0x00, 0x00, 0x00, /* KdflvLoc, KdflvStr, KdflcStr, Reserved */
80 0x00, 0x00, 0x00, 0x00, /* Reserved */
81 0x00, 0x00, 0x00, 0x00, /* Reserved */
82 0x00, 0x00, 0x55, 0x55, /* UserExtra, UserExtraAdd, LockValue, LockConfig */
83 0xFF, 0xFF, 0x00, 0x00, /* 2x SlotLocked, 2x ChipOptions */
84 0x00, 0x00, 0x00, 0x00, /* X509format */
85
86 /* Private Key, access only with Sign, GenKey, PrivWrite cmds
87 Public Version can always be generated
88 Slots are individually lockable with Lock command */
89 0x13, 0x00, 0x13, 0x00, /* KeyConfig 0, KeyConfig 1 */
90 0x13, 0x00, 0x13, 0x00, /* KeyConfig 2, KeyConfig 3 */
91
92 /* AES Key */
93 0x18, 0x00, 0x18, 0x00, /* KeyConfig 4, KeyConfig 5 -> not usable as AES keys! */
94
95 /* Private Key
96 - Used for ECDH
97 - Slot 7 will contain corresponding Master Secret */
98 0x13, 0x00, 0x1F, 0x00, /* KeyConfig 6, KeyConfig 7 */
99
100 /* SHA Key or other data */
101 0x1C, 0x00, /* KeyConfig 8 */
102
103 /* ECC Public Keys */
104 0x10, 0x00, /* KeyConfig 9 */
105 0x10, 0x00, 0x10, 0x00, /* KeyConfig 10, KeyConfig 11 */
106 0x10, 0x00, 0x10, 0x00, /* KeyConfig 12, KeyConfig 13 */
107
108 /* SHA Key or other data */
109 0x1C, 0x00, 0x1C, 0x00 /* KeyConfig 14, KeyConfig 15 */
110};
111
112#ifdef __cplusplus
113}
114#endif
115
116#endif /* ATECC608A_CONFIG_H */
const uint8_t atecc608a_config[]
Example device configuration for the atecc608a.