blob: 03f0d03b85e86c2d733cb2554ec2693e3d1a74bc [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
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 Bakker5121ce52009-01-03 21:22:43 +000021 */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020022#ifndef MBEDTLS_CERTS_H
23#define MBEDTLS_CERTS_H
Paul Bakker5121ce52009-01-03 21:22:43 +000024
Bence Szépkútic662b362021-05-27 11:25:03 +020025#include "mbedtls/build_info.h"
Ron Eldor8b0cf2e2018-02-14 16:02:41 +020026
Manuel Pégourié-Gonnard75f90102015-03-27 09:56:18 +010027#include <stddef.h>
28
Paul Bakker5121ce52009-01-03 21:22:43 +000029#ifdef __cplusplus
30extern "C" {
31#endif
32
Hanno Becker960e5882019-03-12 16:38:17 +000033/* List of all PEM-encoded CA certificates, terminated by NULL;
34 * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded
35 * otherwise. */
36extern const char * mbedtls_test_cas[];
37extern const size_t mbedtls_test_cas_len[];
38
39/* List of all DER-encoded CA certificates, terminated by NULL */
40extern const unsigned char * mbedtls_test_cas_der[];
41extern const size_t mbedtls_test_cas_der_len[];
42
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020043#if defined(MBEDTLS_PEM_PARSE_C)
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010044/* Concatenation of all CA certificates in PEM format if available */
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020045extern const char mbedtls_test_cas_pem[];
46extern const size_t mbedtls_test_cas_pem_len;
Hanno Becker960e5882019-03-12 16:38:17 +000047#endif /* MBEDTLS_PEM_PARSE_C */
Manuel Pégourié-Gonnard2f165062015-03-27 10:20:26 +010048
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020049/*
Hanno Becker960e5882019-03-12 16:38:17 +000050 * CA test certificates
Manuel Pégourié-Gonnarda0fdf8b2013-09-25 14:05:49 +020051 */
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +020052
Hanno Becker960e5882019-03-12 16:38:17 +000053extern const char mbedtls_test_ca_crt_ec_pem[];
54extern const char mbedtls_test_ca_key_ec_pem[];
55extern const char mbedtls_test_ca_pwd_ec_pem[];
56extern const char mbedtls_test_ca_key_rsa_pem[];
57extern const char mbedtls_test_ca_pwd_rsa_pem[];
58extern const char mbedtls_test_ca_crt_rsa_sha1_pem[];
59extern const char mbedtls_test_ca_crt_rsa_sha256_pem[];
60
61extern const unsigned char mbedtls_test_ca_crt_ec_der[];
62extern const unsigned char mbedtls_test_ca_key_ec_der[];
63extern const unsigned char mbedtls_test_ca_key_rsa_der[];
64extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[];
65extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[];
66
67extern const size_t mbedtls_test_ca_crt_ec_pem_len;
68extern const size_t mbedtls_test_ca_key_ec_pem_len;
69extern const size_t mbedtls_test_ca_pwd_ec_pem_len;
70extern const size_t mbedtls_test_ca_key_rsa_pem_len;
71extern const size_t mbedtls_test_ca_pwd_rsa_pem_len;
72extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len;
73extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len;
74
75extern const size_t mbedtls_test_ca_crt_ec_der_len;
76extern const size_t mbedtls_test_ca_key_ec_der_len;
77extern const size_t mbedtls_test_ca_pwd_ec_der_len;
78extern const size_t mbedtls_test_ca_key_rsa_der_len;
79extern const size_t mbedtls_test_ca_pwd_rsa_der_len;
80extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len;
81extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len;
82
83/* Config-dependent dispatch between PEM and DER encoding
84 * (PEM if enabled, otherwise DER) */
85
86extern const char mbedtls_test_ca_crt_ec[];
87extern const char mbedtls_test_ca_key_ec[];
88extern const char mbedtls_test_ca_pwd_ec[];
89extern const char mbedtls_test_ca_key_rsa[];
90extern const char mbedtls_test_ca_pwd_rsa[];
91extern const char mbedtls_test_ca_crt_rsa_sha1[];
92extern const char mbedtls_test_ca_crt_rsa_sha256[];
93
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020094extern const size_t mbedtls_test_ca_crt_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020095extern const size_t mbedtls_test_ca_key_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020096extern const size_t mbedtls_test_ca_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020097extern const size_t mbedtls_test_ca_key_rsa_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +020098extern const size_t mbedtls_test_ca_pwd_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +000099extern const size_t mbedtls_test_ca_crt_rsa_sha1_len;
100extern const size_t mbedtls_test_ca_crt_rsa_sha256_len;
101
102/* Config-dependent dispatch between SHA-1 and SHA-256
103 * (SHA-256 if enabled, otherwise SHA-1) */
104
105extern const char mbedtls_test_ca_crt_rsa[];
106extern const size_t mbedtls_test_ca_crt_rsa_len;
107
108/* Config-dependent dispatch between EC and RSA
109 * (RSA if enabled, otherwise EC) */
110
111extern const char * mbedtls_test_ca_crt;
112extern const char * mbedtls_test_ca_key;
113extern const char * mbedtls_test_ca_pwd;
114extern const size_t mbedtls_test_ca_crt_len;
115extern const size_t mbedtls_test_ca_key_len;
116extern const size_t mbedtls_test_ca_pwd_len;
117
118/*
119 * Server test certificates
120 */
121
122extern const char mbedtls_test_srv_crt_ec_pem[];
123extern const char mbedtls_test_srv_key_ec_pem[];
124extern const char mbedtls_test_srv_pwd_ec_pem[];
125extern const char mbedtls_test_srv_key_rsa_pem[];
126extern const char mbedtls_test_srv_pwd_rsa_pem[];
127extern const char mbedtls_test_srv_crt_rsa_sha1_pem[];
128extern const char mbedtls_test_srv_crt_rsa_sha256_pem[];
129
130extern const unsigned char mbedtls_test_srv_crt_ec_der[];
131extern const unsigned char mbedtls_test_srv_key_ec_der[];
132extern const unsigned char mbedtls_test_srv_key_rsa_der[];
133extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[];
134extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[];
135
136extern const size_t mbedtls_test_srv_crt_ec_pem_len;
137extern const size_t mbedtls_test_srv_key_ec_pem_len;
138extern const size_t mbedtls_test_srv_pwd_ec_pem_len;
139extern const size_t mbedtls_test_srv_key_rsa_pem_len;
140extern const size_t mbedtls_test_srv_pwd_rsa_pem_len;
141extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len;
142extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len;
143
144extern const size_t mbedtls_test_srv_crt_ec_der_len;
145extern const size_t mbedtls_test_srv_key_ec_der_len;
146extern const size_t mbedtls_test_srv_pwd_ec_der_len;
147extern const size_t mbedtls_test_srv_key_rsa_der_len;
148extern const size_t mbedtls_test_srv_pwd_rsa_der_len;
149extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len;
150extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len;
151
152/* Config-dependent dispatch between PEM and DER encoding
153 * (PEM if enabled, otherwise DER) */
154
155extern const char mbedtls_test_srv_crt_ec[];
156extern const char mbedtls_test_srv_key_ec[];
157extern const char mbedtls_test_srv_pwd_ec[];
158extern const char mbedtls_test_srv_key_rsa[];
159extern const char mbedtls_test_srv_pwd_rsa[];
160extern const char mbedtls_test_srv_crt_rsa_sha1[];
161extern const char mbedtls_test_srv_crt_rsa_sha256[];
162
163extern const size_t mbedtls_test_srv_crt_ec_len;
164extern const size_t mbedtls_test_srv_key_ec_len;
165extern const size_t mbedtls_test_srv_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200166extern const size_t mbedtls_test_srv_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000167extern const size_t mbedtls_test_srv_pwd_rsa_len;
168extern const size_t mbedtls_test_srv_crt_rsa_sha1_len;
169extern const size_t mbedtls_test_srv_crt_rsa_sha256_len;
170
171/* Config-dependent dispatch between SHA-1 and SHA-256
172 * (SHA-256 if enabled, otherwise SHA-1) */
173
174extern const char mbedtls_test_srv_crt_rsa[];
175extern const size_t mbedtls_test_srv_crt_rsa_len;
176
177/* Config-dependent dispatch between EC and RSA
178 * (RSA if enabled, otherwise EC) */
179
180extern const char * mbedtls_test_srv_crt;
181extern const char * mbedtls_test_srv_key;
182extern const char * mbedtls_test_srv_pwd;
183extern const size_t mbedtls_test_srv_crt_len;
184extern const size_t mbedtls_test_srv_key_len;
185extern const size_t mbedtls_test_srv_pwd_len;
186
187/*
188 * Client test certificates
189 */
190
191extern const char mbedtls_test_cli_crt_ec_pem[];
192extern const char mbedtls_test_cli_key_ec_pem[];
193extern const char mbedtls_test_cli_pwd_ec_pem[];
194extern const char mbedtls_test_cli_key_rsa_pem[];
195extern const char mbedtls_test_cli_pwd_rsa_pem[];
196extern const char mbedtls_test_cli_crt_rsa_pem[];
197
198extern const unsigned char mbedtls_test_cli_crt_ec_der[];
199extern const unsigned char mbedtls_test_cli_key_ec_der[];
200extern const unsigned char mbedtls_test_cli_key_rsa_der[];
201extern const unsigned char mbedtls_test_cli_crt_rsa_der[];
202
203extern const size_t mbedtls_test_cli_crt_ec_pem_len;
204extern const size_t mbedtls_test_cli_key_ec_pem_len;
205extern const size_t mbedtls_test_cli_pwd_ec_pem_len;
206extern const size_t mbedtls_test_cli_key_rsa_pem_len;
207extern const size_t mbedtls_test_cli_pwd_rsa_pem_len;
208extern const size_t mbedtls_test_cli_crt_rsa_pem_len;
209
210extern const size_t mbedtls_test_cli_crt_ec_der_len;
211extern const size_t mbedtls_test_cli_key_ec_der_len;
212extern const size_t mbedtls_test_cli_key_rsa_der_len;
213extern const size_t mbedtls_test_cli_crt_rsa_der_len;
214
215/* Config-dependent dispatch between PEM and DER encoding
216 * (PEM if enabled, otherwise DER) */
217
218extern const char mbedtls_test_cli_crt_ec[];
219extern const char mbedtls_test_cli_key_ec[];
220extern const char mbedtls_test_cli_pwd_ec[];
221extern const char mbedtls_test_cli_key_rsa[];
222extern const char mbedtls_test_cli_pwd_rsa[];
223extern const char mbedtls_test_cli_crt_rsa[];
224
225extern const size_t mbedtls_test_cli_crt_ec_len;
226extern const size_t mbedtls_test_cli_key_ec_len;
227extern const size_t mbedtls_test_cli_pwd_ec_len;
Manuel Pégourié-Gonnard2cf5a7c2015-04-08 12:49:31 +0200228extern const size_t mbedtls_test_cli_key_rsa_len;
Hanno Becker960e5882019-03-12 16:38:17 +0000229extern const size_t mbedtls_test_cli_pwd_rsa_len;
230extern const size_t mbedtls_test_cli_crt_rsa_len;
231
232/* Config-dependent dispatch between EC and RSA
233 * (RSA if enabled, otherwise EC) */
234
235extern const char * mbedtls_test_cli_crt;
236extern const char * mbedtls_test_cli_key;
237extern const char * mbedtls_test_cli_pwd;
238extern const size_t mbedtls_test_cli_crt_len;
239extern const size_t mbedtls_test_cli_key_len;
240extern const size_t mbedtls_test_cli_pwd_len;
Manuel Pégourié-Gonnard482a2822013-09-24 19:33:17 +0200241
Paul Bakker5121ce52009-01-03 21:22:43 +0000242#ifdef __cplusplus
243}
244#endif
245
246#endif /* certs.h */