blob: 31f4477c2b54d93382e265078e685d3085b5076f [file] [log] [blame]
Paul Bakker5121ce52009-01-03 21:22:43 +00001/**
2 * \file certs.h
Paul Bakkere0ccd0a2009-01-04 16:27:10 +00003 *
Valerio Settieb63eb22025-02-12 13:32:49 +01004 * \brief Sample certificates for testing
Darryl Greena40a1012018-01-05 15:33:17 +00005 */
6/*
Bence Szépkúti1e148272020-08-07 13:07:28 +02007 * Copyright The Mbed TLS Contributors
Dave Rodgman16799db2023-11-02 19:47:20 +00008 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
Paul Bakker5121ce52009-01-03 21:22:43 +00009 */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020010#ifndef MBEDTLS_CERTS_H
11#define MBEDTLS_CERTS_H
Paul Bakker5121ce52009-01-03 21:22:43 +000012
Bence Szépkútic662b362021-05-27 11:25:03 +020013#include "mbedtls/build_info.h"
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020014
Manuel Pégourié-Gonnard75f90102015-03-27 09:56:18 +010015#include <stddef.h>
16
Paul Bakker5121ce52009-01-03 21:22:43 +000017#ifdef __cplusplus
18extern "C" {
19#endif
20
Hanno Becker960e5882019-03-12 16:38:17 +000021/* List of all PEM-encoded CA certificates, terminated by NULL;
22 * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded
23 * otherwise. */
Gilles Peskine449bd832023-01-11 14:50:10 +010024extern const char *mbedtls_test_cas[];
Hanno Becker960e5882019-03-12 16:38:17 +000025extern const size_t mbedtls_test_cas_len[];
26
27/* List of all DER-encoded CA certificates, terminated by NULL */
Gilles Peskine449bd832023-01-11 14:50:10 +010028extern const unsigned char *mbedtls_test_cas_der[];
Hanno Becker960e5882019-03-12 16:38:17 +000029extern const size_t mbedtls_test_cas_der_len[];
30
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020031#if defined(MBEDTLS_PEM_PARSE_C)
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010032/* Concatenation of all CA certificates in PEM format if available */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020033extern const char mbedtls_test_cas_pem[];
34extern const size_t mbedtls_test_cas_pem_len;
Hanno Becker960e5882019-03-12 16:38:17 +000035#endif /* MBEDTLS_PEM_PARSE_C */
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010036
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020037/*
Hanno Becker960e5882019-03-12 16:38:17 +000038 * CA test certificates
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020039 */
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +020040
Hanno Becker960e5882019-03-12 16:38:17 +000041extern const char mbedtls_test_ca_crt_ec_pem[];
42extern const char mbedtls_test_ca_key_ec_pem[];
43extern const char mbedtls_test_ca_pwd_ec_pem[];
44extern const char mbedtls_test_ca_key_rsa_pem[];
45extern const char mbedtls_test_ca_pwd_rsa_pem[];
46extern const char mbedtls_test_ca_crt_rsa_sha1_pem[];
47extern const char mbedtls_test_ca_crt_rsa_sha256_pem[];
48
49extern const unsigned char mbedtls_test_ca_crt_ec_der[];
50extern const unsigned char mbedtls_test_ca_key_ec_der[];
51extern const unsigned char mbedtls_test_ca_key_rsa_der[];
52extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[];
53extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[];
54
55extern const size_t mbedtls_test_ca_crt_ec_pem_len;
56extern const size_t mbedtls_test_ca_key_ec_pem_len;
57extern const size_t mbedtls_test_ca_pwd_ec_pem_len;
58extern const size_t mbedtls_test_ca_key_rsa_pem_len;
59extern const size_t mbedtls_test_ca_pwd_rsa_pem_len;
60extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len;
61extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len;
62
63extern const size_t mbedtls_test_ca_crt_ec_der_len;
64extern const size_t mbedtls_test_ca_key_ec_der_len;
65extern const size_t mbedtls_test_ca_pwd_ec_der_len;
66extern const size_t mbedtls_test_ca_key_rsa_der_len;
67extern const size_t mbedtls_test_ca_pwd_rsa_der_len;
68extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len;
69extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len;
70
71/* Config-dependent dispatch between PEM and DER encoding
72 * (PEM if enabled, otherwise DER) */
73
74extern const char mbedtls_test_ca_crt_ec[];
75extern const char mbedtls_test_ca_key_ec[];
76extern const char mbedtls_test_ca_pwd_ec[];
77extern const char mbedtls_test_ca_key_rsa[];
78extern const char mbedtls_test_ca_pwd_rsa[];
79extern const char mbedtls_test_ca_crt_rsa_sha1[];
80extern const char mbedtls_test_ca_crt_rsa_sha256[];
81
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020082extern const size_t mbedtls_test_ca_crt_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020083extern const size_t mbedtls_test_ca_key_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020084extern const size_t mbedtls_test_ca_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020085extern const size_t mbedtls_test_ca_key_rsa_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020086extern const size_t mbedtls_test_ca_pwd_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +000087extern const size_t mbedtls_test_ca_crt_rsa_sha1_len;
88extern const size_t mbedtls_test_ca_crt_rsa_sha256_len;
89
90/* Config-dependent dispatch between SHA-1 and SHA-256
91 * (SHA-256 if enabled, otherwise SHA-1) */
92
93extern const char mbedtls_test_ca_crt_rsa[];
94extern const size_t mbedtls_test_ca_crt_rsa_len;
95
96/* Config-dependent dispatch between EC and RSA
97 * (RSA if enabled, otherwise EC) */
98
Gilles Peskine449bd832023-01-11 14:50:10 +010099extern const char *mbedtls_test_ca_crt;
100extern const char *mbedtls_test_ca_key;
101extern const char *mbedtls_test_ca_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000102extern const size_t mbedtls_test_ca_crt_len;
103extern const size_t mbedtls_test_ca_key_len;
104extern const size_t mbedtls_test_ca_pwd_len;
105
106/*
107 * Server test certificates
108 */
109
110extern const char mbedtls_test_srv_crt_ec_pem[];
111extern const char mbedtls_test_srv_key_ec_pem[];
112extern const char mbedtls_test_srv_pwd_ec_pem[];
113extern const char mbedtls_test_srv_key_rsa_pem[];
114extern const char mbedtls_test_srv_pwd_rsa_pem[];
115extern const char mbedtls_test_srv_crt_rsa_sha1_pem[];
116extern const char mbedtls_test_srv_crt_rsa_sha256_pem[];
117
118extern const unsigned char mbedtls_test_srv_crt_ec_der[];
119extern const unsigned char mbedtls_test_srv_key_ec_der[];
120extern const unsigned char mbedtls_test_srv_key_rsa_der[];
121extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[];
122extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[];
123
124extern const size_t mbedtls_test_srv_crt_ec_pem_len;
125extern const size_t mbedtls_test_srv_key_ec_pem_len;
126extern const size_t mbedtls_test_srv_pwd_ec_pem_len;
127extern const size_t mbedtls_test_srv_key_rsa_pem_len;
128extern const size_t mbedtls_test_srv_pwd_rsa_pem_len;
129extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len;
130extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len;
131
132extern const size_t mbedtls_test_srv_crt_ec_der_len;
133extern const size_t mbedtls_test_srv_key_ec_der_len;
134extern const size_t mbedtls_test_srv_pwd_ec_der_len;
135extern const size_t mbedtls_test_srv_key_rsa_der_len;
136extern const size_t mbedtls_test_srv_pwd_rsa_der_len;
137extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len;
138extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len;
139
140/* Config-dependent dispatch between PEM and DER encoding
141 * (PEM if enabled, otherwise DER) */
142
143extern const char mbedtls_test_srv_crt_ec[];
144extern const char mbedtls_test_srv_key_ec[];
145extern const char mbedtls_test_srv_pwd_ec[];
146extern const char mbedtls_test_srv_key_rsa[];
147extern const char mbedtls_test_srv_pwd_rsa[];
148extern const char mbedtls_test_srv_crt_rsa_sha1[];
149extern const char mbedtls_test_srv_crt_rsa_sha256[];
150
151extern const size_t mbedtls_test_srv_crt_ec_len;
152extern const size_t mbedtls_test_srv_key_ec_len;
153extern const size_t mbedtls_test_srv_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200154extern const size_t mbedtls_test_srv_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000155extern const size_t mbedtls_test_srv_pwd_rsa_len;
156extern const size_t mbedtls_test_srv_crt_rsa_sha1_len;
157extern const size_t mbedtls_test_srv_crt_rsa_sha256_len;
158
159/* Config-dependent dispatch between SHA-1 and SHA-256
160 * (SHA-256 if enabled, otherwise SHA-1) */
161
162extern const char mbedtls_test_srv_crt_rsa[];
163extern const size_t mbedtls_test_srv_crt_rsa_len;
164
165/* Config-dependent dispatch between EC and RSA
166 * (RSA if enabled, otherwise EC) */
167
Gilles Peskine449bd832023-01-11 14:50:10 +0100168extern const char *mbedtls_test_srv_crt;
169extern const char *mbedtls_test_srv_key;
170extern const char *mbedtls_test_srv_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000171extern const size_t mbedtls_test_srv_crt_len;
172extern const size_t mbedtls_test_srv_key_len;
173extern const size_t mbedtls_test_srv_pwd_len;
174
175/*
176 * Client test certificates
177 */
178
179extern const char mbedtls_test_cli_crt_ec_pem[];
180extern const char mbedtls_test_cli_key_ec_pem[];
181extern const char mbedtls_test_cli_pwd_ec_pem[];
182extern const char mbedtls_test_cli_key_rsa_pem[];
183extern const char mbedtls_test_cli_pwd_rsa_pem[];
184extern const char mbedtls_test_cli_crt_rsa_pem[];
185
186extern const unsigned char mbedtls_test_cli_crt_ec_der[];
187extern const unsigned char mbedtls_test_cli_key_ec_der[];
188extern const unsigned char mbedtls_test_cli_key_rsa_der[];
189extern const unsigned char mbedtls_test_cli_crt_rsa_der[];
190
191extern const size_t mbedtls_test_cli_crt_ec_pem_len;
192extern const size_t mbedtls_test_cli_key_ec_pem_len;
193extern const size_t mbedtls_test_cli_pwd_ec_pem_len;
194extern const size_t mbedtls_test_cli_key_rsa_pem_len;
195extern const size_t mbedtls_test_cli_pwd_rsa_pem_len;
196extern const size_t mbedtls_test_cli_crt_rsa_pem_len;
197
198extern const size_t mbedtls_test_cli_crt_ec_der_len;
199extern const size_t mbedtls_test_cli_key_ec_der_len;
200extern const size_t mbedtls_test_cli_key_rsa_der_len;
201extern const size_t mbedtls_test_cli_crt_rsa_der_len;
202
203/* Config-dependent dispatch between PEM and DER encoding
204 * (PEM if enabled, otherwise DER) */
205
206extern const char mbedtls_test_cli_crt_ec[];
207extern const char mbedtls_test_cli_key_ec[];
208extern const char mbedtls_test_cli_pwd_ec[];
209extern const char mbedtls_test_cli_key_rsa[];
210extern const char mbedtls_test_cli_pwd_rsa[];
211extern const char mbedtls_test_cli_crt_rsa[];
212
213extern const size_t mbedtls_test_cli_crt_ec_len;
214extern const size_t mbedtls_test_cli_key_ec_len;
215extern const size_t mbedtls_test_cli_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200216extern const size_t mbedtls_test_cli_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000217extern const size_t mbedtls_test_cli_pwd_rsa_len;
218extern const size_t mbedtls_test_cli_crt_rsa_len;
219
220/* Config-dependent dispatch between EC and RSA
221 * (RSA if enabled, otherwise EC) */
222
Gilles Peskine449bd832023-01-11 14:50:10 +0100223extern const char *mbedtls_test_cli_crt;
224extern const char *mbedtls_test_cli_key;
225extern const char *mbedtls_test_cli_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000226extern const size_t mbedtls_test_cli_crt_len;
227extern const size_t mbedtls_test_cli_key_len;
228extern const size_t mbedtls_test_cli_pwd_len;
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +0200229
Paul Bakker5121ce52009-01-03 21:22:43 +0000230#ifdef __cplusplus
231}
232#endif
233
234#endif /* certs.h */