1 /*
2    Copyright (c) 2021 Fraunhofer AISEC. See the COPYRIGHT
3    file at the top-level directory of this distribution.
4 
5    Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6    http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7    <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8    option. This file may not be copied, modified, or distributed
9    except according to those terms.
10 */
11 #ifndef CREDENTIALS
12 #define CREDENTIALS
13 
14 #include <stdint.h>
15 
16 #include "credentials_select.h"
17 
18 #if defined INITIATOR_TEST_1 || defined INITIATOR_TEST_2 ||                    \
19 	defined INITIATOR_TEST_3 || defined INITIATOR_TEST_4 ||                \
20 	defined INITIATOR_TEST_5
21 extern enum method_type METHOD_TYPE;
22 extern uint8_t CORR;
23 
24 extern uint8_t SUITES_I[];
25 extern uint32_t SUITES_I_LEN;
26 
27 extern uint8_t G_X[];
28 extern uint32_t G_X_LEN;
29 
30 extern uint8_t X[];
31 extern uint32_t X_LEN;
32 
33 extern uint8_t C_I[];
34 extern uint32_t C_I_LEN;
35 
36 extern uint8_t AD_1[];
37 extern uint32_t AD_1_LEN;
38 
39 extern uint8_t AD_3[];
40 extern uint32_t AD_3_LEN;
41 
42 extern uint8_t I[];
43 extern uint32_t I_LEN;
44 
45 extern uint8_t G_I[];
46 extern uint32_t G_I_LEN;
47 
48 extern uint8_t ID_CRED_I[];
49 extern uint32_t ID_CRED_I_LEN;
50 
51 extern uint8_t CRED_I[];
52 extern uint32_t CRED_I_LEN;
53 
54 extern uint8_t SK_I[];
55 extern uint32_t SK_I_LEN;
56 
57 extern uint8_t PK_I[];
58 extern uint32_t PK_I_LEN;
59 
60 /*other party credentials*/
61 extern uint8_t ID_CRED_R[];
62 extern uint32_t ID_CRED_R_LEN;
63 
64 extern uint8_t CRED_R[];
65 extern uint32_t CRED_R_LEN;
66 
67 extern uint8_t PK_R[];
68 extern uint32_t PK_R_LEN;
69 
70 extern uint8_t G_R[];
71 extern uint32_t G_R_LEN;
72 
73 extern uint8_t CA[];
74 extern uint32_t CA_LEN;
75 
76 extern uint8_t CA_PK[];
77 extern uint32_t CA_PK_LEN;
78 #endif
79 
80 #if defined RESPONDER_TEST_1 || defined RESPONDER_TEST_2 ||                    \
81 	defined RESPONDER_TEST_3 || defined RESPONDER_TEST_4 ||                \
82 	defined RESPONDER_TEST_5
83 extern uint8_t SUITES_R[];
84 extern uint32_t SUITES_R_LEN;
85 
86 extern uint8_t G_Y[];
87 extern uint32_t G_Y_LEN;
88 
89 extern uint8_t Y[];
90 extern uint32_t Y_LEN;
91 
92 extern uint8_t C_R[];
93 extern uint32_t C_R_LEN;
94 
95 extern uint8_t AD_2[];
96 extern uint32_t AD_2_LEN;
97 
98 extern uint8_t ID_CRED_R[];
99 extern uint32_t ID_CRED_R_LEN;
100 
101 extern uint8_t CRED_R[];
102 extern uint32_t CRED_R_LEN;
103 
104 extern uint8_t SK_R[];
105 extern uint32_t SK_R_LEN;
106 
107 extern uint8_t PK_R[];
108 extern uint32_t PK_R_LEN;
109 
110 extern uint8_t R[];
111 extern uint32_t R_LEN;
112 
113 extern uint8_t G_R[];
114 extern uint32_t G_R_LEN;
115 
116 /*other party credentials*/
117 extern uint8_t ID_CRED_I[];
118 extern uint32_t ID_CRED_I_LEN;
119 
120 extern uint8_t CRED_I[];
121 extern uint32_t CRED_I_LEN;
122 
123 extern uint8_t PK_I[];
124 extern uint32_t PK_I_LEN;
125 
126 extern uint8_t G_I[];
127 extern uint32_t G_I_LEN;
128 
129 extern uint8_t CA[];
130 extern uint32_t CA_LEN;
131 
132 extern uint8_t CA_PK[];
133 extern uint32_t CA_PK_LEN;
134 #endif
135 
136 #if (defined INITIATOR_TEST_1) || (defined RESPONDER_TEST_1) ||                \
137 	(defined INITIATOR_TEST_2) || (defined RESPONDER_TEST_2) ||            \
138 	(defined INITIATOR_TEST_3) || (defined RESPONDER_TEST_3) ||            \
139 	(defined INITIATOR_TEST_4) || (defined RESPONDER_TEST_4) ||            \
140 	(defined INITIATOR_TEST_5) || (defined RESPONDER_TEST_5)
141 
142 extern uint8_t MSG_1[];
143 extern uint32_t MSG_1_LEN;
144 
145 extern uint8_t MSG_2[];
146 extern uint32_t MSG_2_LEN;
147 
148 extern uint8_t MSG_3[];
149 extern uint32_t MSG_3_LEN;
150 #endif
151 
152 #endif /* CREDENTIALS */
153