blob: 8a1f2935304faea49d5084158d3a9c4af86c5558 [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/*
Bence Szépkúti1e148272020-08-07 13:07:28 +02007 * Copyright The Mbed TLS Contributors
Dave Rodgman7ff79652023-11-03 12:04:52 +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
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020013#if !defined(MBEDTLS_CONFIG_FILE)
Jaeden Amero6609aef2019-07-04 20:01:14 +010014#include "mbedtls/config.h"
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020015#else
16#include MBEDTLS_CONFIG_FILE
17#endif
18
Manuel Pégourié-Gonnard75f90102015-03-27 09:56:18 +010019#include <stddef.h>
20
Paul Bakker5121ce52009-01-03 21:22:43 +000021#ifdef __cplusplus
22extern "C" {
23#endif
24
Hanno Becker960e5882019-03-12 16:38:17 +000025/* List of all PEM-encoded CA certificates, terminated by NULL;
26 * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded
27 * otherwise. */
Gilles Peskine1b6c09a2023-01-11 14:52:35 +010028extern const char *mbedtls_test_cas[];
Hanno Becker960e5882019-03-12 16:38:17 +000029extern const size_t mbedtls_test_cas_len[];
30
31/* List of all DER-encoded CA certificates, terminated by NULL */
Gilles Peskine1b6c09a2023-01-11 14:52:35 +010032extern const unsigned char *mbedtls_test_cas_der[];
Hanno Becker960e5882019-03-12 16:38:17 +000033extern const size_t mbedtls_test_cas_der_len[];
34
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020035#if defined(MBEDTLS_PEM_PARSE_C)
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010036/* Concatenation of all CA certificates in PEM format if available */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020037extern const char mbedtls_test_cas_pem[];
38extern const size_t mbedtls_test_cas_pem_len;
Hanno Becker960e5882019-03-12 16:38:17 +000039#endif /* MBEDTLS_PEM_PARSE_C */
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010040
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020041/*
Hanno Becker960e5882019-03-12 16:38:17 +000042 * CA test certificates
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020043 */
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +020044
Hanno Becker960e5882019-03-12 16:38:17 +000045extern const char mbedtls_test_ca_crt_ec_pem[];
46extern const char mbedtls_test_ca_key_ec_pem[];
47extern const char mbedtls_test_ca_pwd_ec_pem[];
48extern const char mbedtls_test_ca_key_rsa_pem[];
49extern const char mbedtls_test_ca_pwd_rsa_pem[];
50extern const char mbedtls_test_ca_crt_rsa_sha1_pem[];
51extern const char mbedtls_test_ca_crt_rsa_sha256_pem[];
52
53extern const unsigned char mbedtls_test_ca_crt_ec_der[];
54extern const unsigned char mbedtls_test_ca_key_ec_der[];
55extern const unsigned char mbedtls_test_ca_key_rsa_der[];
56extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[];
57extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[];
58
59extern const size_t mbedtls_test_ca_crt_ec_pem_len;
60extern const size_t mbedtls_test_ca_key_ec_pem_len;
61extern const size_t mbedtls_test_ca_pwd_ec_pem_len;
62extern const size_t mbedtls_test_ca_key_rsa_pem_len;
63extern const size_t mbedtls_test_ca_pwd_rsa_pem_len;
64extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len;
65extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len;
66
67extern const size_t mbedtls_test_ca_crt_ec_der_len;
68extern const size_t mbedtls_test_ca_key_ec_der_len;
69extern const size_t mbedtls_test_ca_pwd_ec_der_len;
70extern const size_t mbedtls_test_ca_key_rsa_der_len;
71extern const size_t mbedtls_test_ca_pwd_rsa_der_len;
72extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len;
73extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len;
74
75/* Config-dependent dispatch between PEM and DER encoding
76 * (PEM if enabled, otherwise DER) */
77
78extern const char mbedtls_test_ca_crt_ec[];
79extern const char mbedtls_test_ca_key_ec[];
80extern const char mbedtls_test_ca_pwd_ec[];
81extern const char mbedtls_test_ca_key_rsa[];
82extern const char mbedtls_test_ca_pwd_rsa[];
83extern const char mbedtls_test_ca_crt_rsa_sha1[];
84extern const char mbedtls_test_ca_crt_rsa_sha256[];
85
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020086extern const size_t mbedtls_test_ca_crt_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020087extern const size_t mbedtls_test_ca_key_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020088extern const size_t mbedtls_test_ca_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020089extern const size_t mbedtls_test_ca_key_rsa_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020090extern const size_t mbedtls_test_ca_pwd_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +000091extern const size_t mbedtls_test_ca_crt_rsa_sha1_len;
92extern const size_t mbedtls_test_ca_crt_rsa_sha256_len;
93
94/* Config-dependent dispatch between SHA-1 and SHA-256
95 * (SHA-256 if enabled, otherwise SHA-1) */
96
97extern const char mbedtls_test_ca_crt_rsa[];
98extern const size_t mbedtls_test_ca_crt_rsa_len;
99
100/* Config-dependent dispatch between EC and RSA
101 * (RSA if enabled, otherwise EC) */
102
Gilles Peskine1b6c09a2023-01-11 14:52:35 +0100103extern const char *mbedtls_test_ca_crt;
104extern const char *mbedtls_test_ca_key;
105extern const char *mbedtls_test_ca_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000106extern const size_t mbedtls_test_ca_crt_len;
107extern const size_t mbedtls_test_ca_key_len;
108extern const size_t mbedtls_test_ca_pwd_len;
109
110/*
111 * Server test certificates
112 */
113
114extern const char mbedtls_test_srv_crt_ec_pem[];
115extern const char mbedtls_test_srv_key_ec_pem[];
116extern const char mbedtls_test_srv_pwd_ec_pem[];
117extern const char mbedtls_test_srv_key_rsa_pem[];
118extern const char mbedtls_test_srv_pwd_rsa_pem[];
119extern const char mbedtls_test_srv_crt_rsa_sha1_pem[];
120extern const char mbedtls_test_srv_crt_rsa_sha256_pem[];
121
122extern const unsigned char mbedtls_test_srv_crt_ec_der[];
123extern const unsigned char mbedtls_test_srv_key_ec_der[];
124extern const unsigned char mbedtls_test_srv_key_rsa_der[];
125extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[];
126extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[];
127
128extern const size_t mbedtls_test_srv_crt_ec_pem_len;
129extern const size_t mbedtls_test_srv_key_ec_pem_len;
130extern const size_t mbedtls_test_srv_pwd_ec_pem_len;
131extern const size_t mbedtls_test_srv_key_rsa_pem_len;
132extern const size_t mbedtls_test_srv_pwd_rsa_pem_len;
133extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len;
134extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len;
135
136extern const size_t mbedtls_test_srv_crt_ec_der_len;
137extern const size_t mbedtls_test_srv_key_ec_der_len;
138extern const size_t mbedtls_test_srv_pwd_ec_der_len;
139extern const size_t mbedtls_test_srv_key_rsa_der_len;
140extern const size_t mbedtls_test_srv_pwd_rsa_der_len;
141extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len;
142extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len;
143
144/* Config-dependent dispatch between PEM and DER encoding
145 * (PEM if enabled, otherwise DER) */
146
147extern const char mbedtls_test_srv_crt_ec[];
148extern const char mbedtls_test_srv_key_ec[];
149extern const char mbedtls_test_srv_pwd_ec[];
150extern const char mbedtls_test_srv_key_rsa[];
151extern const char mbedtls_test_srv_pwd_rsa[];
152extern const char mbedtls_test_srv_crt_rsa_sha1[];
153extern const char mbedtls_test_srv_crt_rsa_sha256[];
154
155extern const size_t mbedtls_test_srv_crt_ec_len;
156extern const size_t mbedtls_test_srv_key_ec_len;
157extern const size_t mbedtls_test_srv_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200158extern const size_t mbedtls_test_srv_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000159extern const size_t mbedtls_test_srv_pwd_rsa_len;
160extern const size_t mbedtls_test_srv_crt_rsa_sha1_len;
161extern const size_t mbedtls_test_srv_crt_rsa_sha256_len;
162
163/* Config-dependent dispatch between SHA-1 and SHA-256
164 * (SHA-256 if enabled, otherwise SHA-1) */
165
166extern const char mbedtls_test_srv_crt_rsa[];
167extern const size_t mbedtls_test_srv_crt_rsa_len;
168
169/* Config-dependent dispatch between EC and RSA
170 * (RSA if enabled, otherwise EC) */
171
Gilles Peskine1b6c09a2023-01-11 14:52:35 +0100172extern const char *mbedtls_test_srv_crt;
173extern const char *mbedtls_test_srv_key;
174extern const char *mbedtls_test_srv_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000175extern const size_t mbedtls_test_srv_crt_len;
176extern const size_t mbedtls_test_srv_key_len;
177extern const size_t mbedtls_test_srv_pwd_len;
178
179/*
180 * Client test certificates
181 */
182
183extern const char mbedtls_test_cli_crt_ec_pem[];
184extern const char mbedtls_test_cli_key_ec_pem[];
185extern const char mbedtls_test_cli_pwd_ec_pem[];
186extern const char mbedtls_test_cli_key_rsa_pem[];
187extern const char mbedtls_test_cli_pwd_rsa_pem[];
188extern const char mbedtls_test_cli_crt_rsa_pem[];
189
190extern const unsigned char mbedtls_test_cli_crt_ec_der[];
191extern const unsigned char mbedtls_test_cli_key_ec_der[];
192extern const unsigned char mbedtls_test_cli_key_rsa_der[];
193extern const unsigned char mbedtls_test_cli_crt_rsa_der[];
194
195extern const size_t mbedtls_test_cli_crt_ec_pem_len;
196extern const size_t mbedtls_test_cli_key_ec_pem_len;
197extern const size_t mbedtls_test_cli_pwd_ec_pem_len;
198extern const size_t mbedtls_test_cli_key_rsa_pem_len;
199extern const size_t mbedtls_test_cli_pwd_rsa_pem_len;
200extern const size_t mbedtls_test_cli_crt_rsa_pem_len;
201
202extern const size_t mbedtls_test_cli_crt_ec_der_len;
203extern const size_t mbedtls_test_cli_key_ec_der_len;
204extern const size_t mbedtls_test_cli_key_rsa_der_len;
205extern const size_t mbedtls_test_cli_crt_rsa_der_len;
206
207/* Config-dependent dispatch between PEM and DER encoding
208 * (PEM if enabled, otherwise DER) */
209
210extern const char mbedtls_test_cli_crt_ec[];
211extern const char mbedtls_test_cli_key_ec[];
212extern const char mbedtls_test_cli_pwd_ec[];
213extern const char mbedtls_test_cli_key_rsa[];
214extern const char mbedtls_test_cli_pwd_rsa[];
215extern const char mbedtls_test_cli_crt_rsa[];
216
217extern const size_t mbedtls_test_cli_crt_ec_len;
218extern const size_t mbedtls_test_cli_key_ec_len;
219extern const size_t mbedtls_test_cli_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200220extern const size_t mbedtls_test_cli_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000221extern const size_t mbedtls_test_cli_pwd_rsa_len;
222extern const size_t mbedtls_test_cli_crt_rsa_len;
223
224/* Config-dependent dispatch between EC and RSA
225 * (RSA if enabled, otherwise EC) */
226
Gilles Peskine1b6c09a2023-01-11 14:52:35 +0100227extern const char *mbedtls_test_cli_crt;
228extern const char *mbedtls_test_cli_key;
229extern const char *mbedtls_test_cli_pwd;
Hanno Becker960e5882019-03-12 16:38:17 +0000230extern const size_t mbedtls_test_cli_crt_len;
231extern const size_t mbedtls_test_cli_key_len;
232extern const size_t mbedtls_test_cli_pwd_len;
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +0200233
Paul Bakker5121ce52009-01-03 21:22:43 +0000234#ifdef __cplusplus
235}
236#endif
237
238#endif /* certs.h */