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