blob: 8beb380ffe900feb865c5c02452fbc3e15dbf319 [file] [log] [blame]
Paul Bakker5121ce52009-01-03 21:22:43 +00001/**
2 * \file certs.h
Paul Bakkere0ccd0a2009-01-04 16:27:10 +00003 *
Paul Bakkerf3b86c12011-01-27 15:24:17 +00004 * \brief Sample certificates and DHM parameters for testing
Darryl Greena40a1012018-01-05 15:33:17 +00005 */
6/*
Manuel Pégourié-Gonnard6fb81872015-07-27 11:11:48 +02007 * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
Manuel Pégourié-Gonnard37ff1402015-09-04 14:21:07 +02008 * SPDX-License-Identifier: Apache-2.0
9 *
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
13 *
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
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.
Paul Bakkerb96f1542010-07-18 20:36:00 +000021 *
Manuel Pégourié-Gonnardfe446432015-03-06 13:17:10 +000022 * This file is part of mbed TLS (https://tls.mbed.org)
Paul Bakker5121ce52009-01-03 21:22:43 +000023 */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020024#ifndef MBEDTLS_CERTS_H
25#define MBEDTLS_CERTS_H
Paul Bakker5121ce52009-01-03 21:22:43 +000026
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020027#if !defined(MBEDTLS_CONFIG_FILE)
Jaeden Amero6609aef2019-07-04 20:01:14 +010028#include "mbedtls/config.h"
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020029#else
30#include MBEDTLS_CONFIG_FILE
31#endif
32
Manuel Pégourié-Gonnard75f90102015-03-27 09:56:18 +010033#include <stddef.h>
34
Paul Bakker5121ce52009-01-03 21:22:43 +000035#ifdef __cplusplus
36extern "C" {
37#endif
38
Hanno Becker960e5882019-03-12 16:38:17 +000039/* List of all PEM-encoded CA certificates, terminated by NULL;
40 * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded
41 * otherwise. */
42extern const char * mbedtls_test_cas[];
43extern const size_t mbedtls_test_cas_len[];
44
45/* List of all DER-encoded CA certificates, terminated by NULL */
46extern const unsigned char * mbedtls_test_cas_der[];
47extern const size_t mbedtls_test_cas_der_len[];
48
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020049#if defined(MBEDTLS_PEM_PARSE_C)
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010050/* Concatenation of all CA certificates in PEM format if available */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020051extern const char mbedtls_test_cas_pem[];
52extern const size_t mbedtls_test_cas_pem_len;
Hanno Becker960e5882019-03-12 16:38:17 +000053#endif /* MBEDTLS_PEM_PARSE_C */
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010054
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020055/*
Hanno Becker960e5882019-03-12 16:38:17 +000056 * CA test certificates
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020057 */
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +020058
Hanno Becker960e5882019-03-12 16:38:17 +000059extern const char mbedtls_test_ca_crt_ec_pem[];
60extern const char mbedtls_test_ca_key_ec_pem[];
61extern const char mbedtls_test_ca_pwd_ec_pem[];
62extern const char mbedtls_test_ca_key_rsa_pem[];
63extern const char mbedtls_test_ca_pwd_rsa_pem[];
64extern const char mbedtls_test_ca_crt_rsa_sha1_pem[];
65extern const char mbedtls_test_ca_crt_rsa_sha256_pem[];
66
67extern const unsigned char mbedtls_test_ca_crt_ec_der[];
68extern const unsigned char mbedtls_test_ca_key_ec_der[];
69extern const unsigned char mbedtls_test_ca_key_rsa_der[];
70extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[];
71extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[];
72
73extern const size_t mbedtls_test_ca_crt_ec_pem_len;
74extern const size_t mbedtls_test_ca_key_ec_pem_len;
75extern const size_t mbedtls_test_ca_pwd_ec_pem_len;
76extern const size_t mbedtls_test_ca_key_rsa_pem_len;
77extern const size_t mbedtls_test_ca_pwd_rsa_pem_len;
78extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len;
79extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len;
80
81extern const size_t mbedtls_test_ca_crt_ec_der_len;
82extern const size_t mbedtls_test_ca_key_ec_der_len;
83extern const size_t mbedtls_test_ca_pwd_ec_der_len;
84extern const size_t mbedtls_test_ca_key_rsa_der_len;
85extern const size_t mbedtls_test_ca_pwd_rsa_der_len;
86extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len;
87extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len;
88
89/* Config-dependent dispatch between PEM and DER encoding
90 * (PEM if enabled, otherwise DER) */
91
92extern const char mbedtls_test_ca_crt_ec[];
93extern const char mbedtls_test_ca_key_ec[];
94extern const char mbedtls_test_ca_pwd_ec[];
95extern const char mbedtls_test_ca_key_rsa[];
96extern const char mbedtls_test_ca_pwd_rsa[];
97extern const char mbedtls_test_ca_crt_rsa_sha1[];
98extern const char mbedtls_test_ca_crt_rsa_sha256[];
99
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200100extern const size_t mbedtls_test_ca_crt_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200101extern const size_t mbedtls_test_ca_key_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200102extern const size_t mbedtls_test_ca_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200103extern const size_t mbedtls_test_ca_key_rsa_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200104extern const size_t mbedtls_test_ca_pwd_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000105extern const size_t mbedtls_test_ca_crt_rsa_sha1_len;
106extern const size_t mbedtls_test_ca_crt_rsa_sha256_len;
107
108/* Config-dependent dispatch between SHA-1 and SHA-256
109 * (SHA-256 if enabled, otherwise SHA-1) */
110
111extern const char mbedtls_test_ca_crt_rsa[];
112extern const size_t mbedtls_test_ca_crt_rsa_len;
113
114/* Config-dependent dispatch between EC and RSA
115 * (RSA if enabled, otherwise EC) */
116
117extern const char * mbedtls_test_ca_crt;
118extern const char * mbedtls_test_ca_key;
119extern const char * mbedtls_test_ca_pwd;
120extern const size_t mbedtls_test_ca_crt_len;
121extern const size_t mbedtls_test_ca_key_len;
122extern const size_t mbedtls_test_ca_pwd_len;
123
124/*
125 * Server test certificates
126 */
127
128extern const char mbedtls_test_srv_crt_ec_pem[];
129extern const char mbedtls_test_srv_key_ec_pem[];
130extern const char mbedtls_test_srv_pwd_ec_pem[];
131extern const char mbedtls_test_srv_key_rsa_pem[];
132extern const char mbedtls_test_srv_pwd_rsa_pem[];
133extern const char mbedtls_test_srv_crt_rsa_sha1_pem[];
134extern const char mbedtls_test_srv_crt_rsa_sha256_pem[];
135
136extern const unsigned char mbedtls_test_srv_crt_ec_der[];
137extern const unsigned char mbedtls_test_srv_key_ec_der[];
138extern const unsigned char mbedtls_test_srv_key_rsa_der[];
139extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[];
140extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[];
141
142extern const size_t mbedtls_test_srv_crt_ec_pem_len;
143extern const size_t mbedtls_test_srv_key_ec_pem_len;
144extern const size_t mbedtls_test_srv_pwd_ec_pem_len;
145extern const size_t mbedtls_test_srv_key_rsa_pem_len;
146extern const size_t mbedtls_test_srv_pwd_rsa_pem_len;
147extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len;
148extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len;
149
150extern const size_t mbedtls_test_srv_crt_ec_der_len;
151extern const size_t mbedtls_test_srv_key_ec_der_len;
152extern const size_t mbedtls_test_srv_pwd_ec_der_len;
153extern const size_t mbedtls_test_srv_key_rsa_der_len;
154extern const size_t mbedtls_test_srv_pwd_rsa_der_len;
155extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len;
156extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len;
157
158/* Config-dependent dispatch between PEM and DER encoding
159 * (PEM if enabled, otherwise DER) */
160
161extern const char mbedtls_test_srv_crt_ec[];
162extern const char mbedtls_test_srv_key_ec[];
163extern const char mbedtls_test_srv_pwd_ec[];
164extern const char mbedtls_test_srv_key_rsa[];
165extern const char mbedtls_test_srv_pwd_rsa[];
166extern const char mbedtls_test_srv_crt_rsa_sha1[];
167extern const char mbedtls_test_srv_crt_rsa_sha256[];
168
169extern const size_t mbedtls_test_srv_crt_ec_len;
170extern const size_t mbedtls_test_srv_key_ec_len;
171extern const size_t mbedtls_test_srv_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200172extern const size_t mbedtls_test_srv_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000173extern const size_t mbedtls_test_srv_pwd_rsa_len;
174extern const size_t mbedtls_test_srv_crt_rsa_sha1_len;
175extern const size_t mbedtls_test_srv_crt_rsa_sha256_len;
176
177/* Config-dependent dispatch between SHA-1 and SHA-256
178 * (SHA-256 if enabled, otherwise SHA-1) */
179
180extern const char mbedtls_test_srv_crt_rsa[];
181extern const size_t mbedtls_test_srv_crt_rsa_len;
182
183/* Config-dependent dispatch between EC and RSA
184 * (RSA if enabled, otherwise EC) */
185
186extern const char * mbedtls_test_srv_crt;
187extern const char * mbedtls_test_srv_key;
188extern const char * mbedtls_test_srv_pwd;
189extern const size_t mbedtls_test_srv_crt_len;
190extern const size_t mbedtls_test_srv_key_len;
191extern const size_t mbedtls_test_srv_pwd_len;
192
193/*
194 * Client test certificates
195 */
196
197extern const char mbedtls_test_cli_crt_ec_pem[];
198extern const char mbedtls_test_cli_key_ec_pem[];
199extern const char mbedtls_test_cli_pwd_ec_pem[];
200extern const char mbedtls_test_cli_key_rsa_pem[];
201extern const char mbedtls_test_cli_pwd_rsa_pem[];
202extern const char mbedtls_test_cli_crt_rsa_pem[];
203
204extern const unsigned char mbedtls_test_cli_crt_ec_der[];
205extern const unsigned char mbedtls_test_cli_key_ec_der[];
206extern const unsigned char mbedtls_test_cli_key_rsa_der[];
207extern const unsigned char mbedtls_test_cli_crt_rsa_der[];
208
209extern const size_t mbedtls_test_cli_crt_ec_pem_len;
210extern const size_t mbedtls_test_cli_key_ec_pem_len;
211extern const size_t mbedtls_test_cli_pwd_ec_pem_len;
212extern const size_t mbedtls_test_cli_key_rsa_pem_len;
213extern const size_t mbedtls_test_cli_pwd_rsa_pem_len;
214extern const size_t mbedtls_test_cli_crt_rsa_pem_len;
215
216extern const size_t mbedtls_test_cli_crt_ec_der_len;
217extern const size_t mbedtls_test_cli_key_ec_der_len;
218extern const size_t mbedtls_test_cli_key_rsa_der_len;
219extern const size_t mbedtls_test_cli_crt_rsa_der_len;
220
221/* Config-dependent dispatch between PEM and DER encoding
222 * (PEM if enabled, otherwise DER) */
223
224extern const char mbedtls_test_cli_crt_ec[];
225extern const char mbedtls_test_cli_key_ec[];
226extern const char mbedtls_test_cli_pwd_ec[];
227extern const char mbedtls_test_cli_key_rsa[];
228extern const char mbedtls_test_cli_pwd_rsa[];
229extern const char mbedtls_test_cli_crt_rsa[];
230
231extern const size_t mbedtls_test_cli_crt_ec_len;
232extern const size_t mbedtls_test_cli_key_ec_len;
233extern const size_t mbedtls_test_cli_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200234extern const size_t mbedtls_test_cli_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000235extern const size_t mbedtls_test_cli_pwd_rsa_len;
236extern const size_t mbedtls_test_cli_crt_rsa_len;
237
238/* Config-dependent dispatch between EC and RSA
239 * (RSA if enabled, otherwise EC) */
240
241extern const char * mbedtls_test_cli_crt;
242extern const char * mbedtls_test_cli_key;
243extern const char * mbedtls_test_cli_pwd;
244extern const size_t mbedtls_test_cli_crt_len;
245extern const size_t mbedtls_test_cli_key_len;
246extern const size_t mbedtls_test_cli_pwd_len;
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +0200247
Paul Bakker5121ce52009-01-03 21:22:43 +0000248#ifdef __cplusplus
249}
250#endif
251
252#endif /* certs.h */