1/** 2 * \file certs.h 3 * 4 * \brief Sample certificates and DHM parameters for testing 5 */ 6/* 7 * Copyright The Mbed TLS Contributors 8 * 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. 21 */ 22#ifndef MBEDTLS_CERTS_H 23#define MBEDTLS_CERTS_H 24 25#include "mbedtls/build_info.h" 26 27#include <stddef.h> 28 29#ifdef __cplusplus 30extern "C" { 31#endif 32 33/* 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 43#if defined(MBEDTLS_PEM_PARSE_C) 44/* Concatenation of all CA certificates in PEM format if available */ 45extern const char mbedtls_test_cas_pem[]; 46extern const size_t mbedtls_test_cas_pem_len; 47#endif /* MBEDTLS_PEM_PARSE_C */ 48 49/* 50 * CA test certificates 51 */ 52 53extern 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 94extern const size_t mbedtls_test_ca_crt_ec_len; 95extern const size_t mbedtls_test_ca_key_ec_len; 96extern const size_t mbedtls_test_ca_pwd_ec_len; 97extern const size_t mbedtls_test_ca_key_rsa_len; 98extern const size_t mbedtls_test_ca_pwd_rsa_len; 99extern 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; 166extern const size_t mbedtls_test_srv_key_rsa_len; 167extern 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; 228extern const size_t mbedtls_test_cli_key_rsa_len; 229extern 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; 241 242#ifdef __cplusplus 243} 244#endif 245 246#endif /* certs.h */ 247