4 * \brief Sample certificates and DHM parameters for testing
7 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
8 * SPDX-License-Identifier: Apache-2.0
10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
11 * not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
22 * This file is part of mbed TLS (https://tls.mbed.org)
24 #ifndef MBEDTLS_CERTS_H
25 #define MBEDTLS_CERTS_H
27 #if !defined(MBEDTLS_CONFIG_FILE)
30 #include MBEDTLS_CONFIG_FILE
39 /* List of all PEM-encoded CA certificates, terminated by NULL;
40 * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded
42 extern const char * mbedtls_test_cas[];
43 extern const size_t mbedtls_test_cas_len[];
45 /* List of all DER-encoded CA certificates, terminated by NULL */
46 extern const unsigned char * mbedtls_test_cas_der[];
47 extern const size_t mbedtls_test_cas_der_len[];
49 #if defined(MBEDTLS_PEM_PARSE_C)
50 /* Concatenation of all CA certificates in PEM format if available */
51 extern const char mbedtls_test_cas_pem[];
52 extern const size_t mbedtls_test_cas_pem_len;
53 #endif /* MBEDTLS_PEM_PARSE_C */
56 * CA test certificates
59 extern const char mbedtls_test_ca_crt_ec_pem[];
60 extern const char mbedtls_test_ca_key_ec_pem[];
61 extern const char mbedtls_test_ca_pwd_ec_pem[];
62 extern const char mbedtls_test_ca_key_rsa_pem[];
63 extern const char mbedtls_test_ca_pwd_rsa_pem[];
64 extern const char mbedtls_test_ca_crt_rsa_sha1_pem[];
65 extern const char mbedtls_test_ca_crt_rsa_sha256_pem[];
67 extern const unsigned char mbedtls_test_ca_crt_ec_der[];
68 extern const unsigned char mbedtls_test_ca_key_ec_der[];
69 extern const unsigned char mbedtls_test_ca_key_rsa_der[];
70 extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[];
71 extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[];
73 extern const size_t mbedtls_test_ca_crt_ec_pem_len;
74 extern const size_t mbedtls_test_ca_key_ec_pem_len;
75 extern const size_t mbedtls_test_ca_pwd_ec_pem_len;
76 extern const size_t mbedtls_test_ca_key_rsa_pem_len;
77 extern const size_t mbedtls_test_ca_pwd_rsa_pem_len;
78 extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len;
79 extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len;
81 extern const size_t mbedtls_test_ca_crt_ec_der_len;
82 extern const size_t mbedtls_test_ca_key_ec_der_len;
83 extern const size_t mbedtls_test_ca_pwd_ec_der_len;
84 extern const size_t mbedtls_test_ca_key_rsa_der_len;
85 extern const size_t mbedtls_test_ca_pwd_rsa_der_len;
86 extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len;
87 extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len;
89 /* Config-dependent dispatch between PEM and DER encoding
90 * (PEM if enabled, otherwise DER) */
92 extern const char mbedtls_test_ca_crt_ec[];
93 extern const char mbedtls_test_ca_key_ec[];
94 extern const char mbedtls_test_ca_pwd_ec[];
95 extern const char mbedtls_test_ca_key_rsa[];
96 extern const char mbedtls_test_ca_pwd_rsa[];
97 extern const char mbedtls_test_ca_crt_rsa_sha1[];
98 extern const char mbedtls_test_ca_crt_rsa_sha256[];
100 extern const size_t mbedtls_test_ca_crt_ec_len;
101 extern const size_t mbedtls_test_ca_key_ec_len;
102 extern const size_t mbedtls_test_ca_pwd_ec_len;
103 extern const size_t mbedtls_test_ca_key_rsa_len;
104 extern const size_t mbedtls_test_ca_pwd_rsa_len;
105 extern const size_t mbedtls_test_ca_crt_rsa_sha1_len;
106 extern const size_t mbedtls_test_ca_crt_rsa_sha256_len;
108 /* Config-dependent dispatch between SHA-1 and SHA-256
109 * (SHA-256 if enabled, otherwise SHA-1) */
111 extern const char mbedtls_test_ca_crt_rsa[];
112 extern const size_t mbedtls_test_ca_crt_rsa_len;
114 /* Config-dependent dispatch between EC and RSA
115 * (RSA if enabled, otherwise EC) */
117 extern const char * mbedtls_test_ca_crt;
118 extern const char * mbedtls_test_ca_key;
119 extern const char * mbedtls_test_ca_pwd;
120 extern const size_t mbedtls_test_ca_crt_len;
121 extern const size_t mbedtls_test_ca_key_len;
122 extern const size_t mbedtls_test_ca_pwd_len;
125 * Server test certificates
128 extern const char mbedtls_test_srv_crt_ec_pem[];
129 extern const char mbedtls_test_srv_key_ec_pem[];
130 extern const char mbedtls_test_srv_pwd_ec_pem[];
131 extern const char mbedtls_test_srv_key_rsa_pem[];
132 extern const char mbedtls_test_srv_pwd_rsa_pem[];
133 extern const char mbedtls_test_srv_crt_rsa_sha1_pem[];
134 extern const char mbedtls_test_srv_crt_rsa_sha256_pem[];
136 extern const unsigned char mbedtls_test_srv_crt_ec_der[];
137 extern const unsigned char mbedtls_test_srv_key_ec_der[];
138 extern const unsigned char mbedtls_test_srv_key_rsa_der[];
139 extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[];
140 extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[];
142 extern const size_t mbedtls_test_srv_crt_ec_pem_len;
143 extern const size_t mbedtls_test_srv_key_ec_pem_len;
144 extern const size_t mbedtls_test_srv_pwd_ec_pem_len;
145 extern const size_t mbedtls_test_srv_key_rsa_pem_len;
146 extern const size_t mbedtls_test_srv_pwd_rsa_pem_len;
147 extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len;
148 extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len;
150 extern const size_t mbedtls_test_srv_crt_ec_der_len;
151 extern const size_t mbedtls_test_srv_key_ec_der_len;
152 extern const size_t mbedtls_test_srv_pwd_ec_der_len;
153 extern const size_t mbedtls_test_srv_key_rsa_der_len;
154 extern const size_t mbedtls_test_srv_pwd_rsa_der_len;
155 extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len;
156 extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len;
158 /* Config-dependent dispatch between PEM and DER encoding
159 * (PEM if enabled, otherwise DER) */
161 extern const char mbedtls_test_srv_crt_ec[];
162 extern const char mbedtls_test_srv_key_ec[];
163 extern const char mbedtls_test_srv_pwd_ec[];
164 extern const char mbedtls_test_srv_key_rsa[];
165 extern const char mbedtls_test_srv_pwd_rsa[];
166 extern const char mbedtls_test_srv_crt_rsa_sha1[];
167 extern const char mbedtls_test_srv_crt_rsa_sha256[];
169 extern const size_t mbedtls_test_srv_crt_ec_len;
170 extern const size_t mbedtls_test_srv_key_ec_len;
171 extern const size_t mbedtls_test_srv_pwd_ec_len;
172 extern const size_t mbedtls_test_srv_key_rsa_len;
173 extern const size_t mbedtls_test_srv_pwd_rsa_len;
174 extern const size_t mbedtls_test_srv_crt_rsa_sha1_len;
175 extern const size_t mbedtls_test_srv_crt_rsa_sha256_len;
177 /* Config-dependent dispatch between SHA-1 and SHA-256
178 * (SHA-256 if enabled, otherwise SHA-1) */
180 extern const char mbedtls_test_srv_crt_rsa[];
181 extern const size_t mbedtls_test_srv_crt_rsa_len;
183 /* Config-dependent dispatch between EC and RSA
184 * (RSA if enabled, otherwise EC) */
186 extern const char * mbedtls_test_srv_crt;
187 extern const char * mbedtls_test_srv_key;
188 extern const char * mbedtls_test_srv_pwd;
189 extern const size_t mbedtls_test_srv_crt_len;
190 extern const size_t mbedtls_test_srv_key_len;
191 extern const size_t mbedtls_test_srv_pwd_len;
194 * Client test certificates
197 extern const char mbedtls_test_cli_crt_ec_pem[];
198 extern const char mbedtls_test_cli_key_ec_pem[];
199 extern const char mbedtls_test_cli_pwd_ec_pem[];
200 extern const char mbedtls_test_cli_key_rsa_pem[];
201 extern const char mbedtls_test_cli_pwd_rsa_pem[];
202 extern const char mbedtls_test_cli_crt_rsa_pem[];
204 extern const unsigned char mbedtls_test_cli_crt_ec_der[];
205 extern const unsigned char mbedtls_test_cli_key_ec_der[];
206 extern const unsigned char mbedtls_test_cli_key_rsa_der[];
207 extern const unsigned char mbedtls_test_cli_crt_rsa_der[];
209 extern const size_t mbedtls_test_cli_crt_ec_pem_len;
210 extern const size_t mbedtls_test_cli_key_ec_pem_len;
211 extern const size_t mbedtls_test_cli_pwd_ec_pem_len;
212 extern const size_t mbedtls_test_cli_key_rsa_pem_len;
213 extern const size_t mbedtls_test_cli_pwd_rsa_pem_len;
214 extern const size_t mbedtls_test_cli_crt_rsa_pem_len;
216 extern const size_t mbedtls_test_cli_crt_ec_der_len;
217 extern const size_t mbedtls_test_cli_key_ec_der_len;
218 extern const size_t mbedtls_test_cli_key_rsa_der_len;
219 extern const size_t mbedtls_test_cli_crt_rsa_der_len;
221 /* Config-dependent dispatch between PEM and DER encoding
222 * (PEM if enabled, otherwise DER) */
224 extern const char mbedtls_test_cli_crt_ec[];
225 extern const char mbedtls_test_cli_key_ec[];
226 extern const char mbedtls_test_cli_pwd_ec[];
227 extern const char mbedtls_test_cli_key_rsa[];
228 extern const char mbedtls_test_cli_pwd_rsa[];
229 extern const char mbedtls_test_cli_crt_rsa[];
231 extern const size_t mbedtls_test_cli_crt_ec_len;
232 extern const size_t mbedtls_test_cli_key_ec_len;
233 extern const size_t mbedtls_test_cli_pwd_ec_len;
234 extern const size_t mbedtls_test_cli_key_rsa_len;
235 extern const size_t mbedtls_test_cli_pwd_rsa_len;
236 extern const size_t mbedtls_test_cli_crt_rsa_len;
238 /* Config-dependent dispatch between EC and RSA
239 * (RSA if enabled, otherwise EC) */
241 extern const char * mbedtls_test_cli_crt;
242 extern const char * mbedtls_test_cli_key;
243 extern const char * mbedtls_test_cli_pwd;
244 extern const size_t mbedtls_test_cli_crt_len;
245 extern const size_t mbedtls_test_cli_key_len;
246 extern const size_t mbedtls_test_cli_pwd_len;