1*62c56f98SSadaf Ebrahimi /** 2*62c56f98SSadaf Ebrahimi * \file certs.h 3*62c56f98SSadaf Ebrahimi * 4*62c56f98SSadaf Ebrahimi * \brief Sample certificates and DHM parameters for testing 5*62c56f98SSadaf Ebrahimi */ 6*62c56f98SSadaf Ebrahimi /* 7*62c56f98SSadaf Ebrahimi * Copyright The Mbed TLS Contributors 8*62c56f98SSadaf Ebrahimi * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 9*62c56f98SSadaf Ebrahimi */ 10*62c56f98SSadaf Ebrahimi #ifndef MBEDTLS_CERTS_H 11*62c56f98SSadaf Ebrahimi #define MBEDTLS_CERTS_H 12*62c56f98SSadaf Ebrahimi 13*62c56f98SSadaf Ebrahimi #include "mbedtls/build_info.h" 14*62c56f98SSadaf Ebrahimi 15*62c56f98SSadaf Ebrahimi #include <stddef.h> 16*62c56f98SSadaf Ebrahimi 17*62c56f98SSadaf Ebrahimi #ifdef __cplusplus 18*62c56f98SSadaf Ebrahimi extern "C" { 19*62c56f98SSadaf Ebrahimi #endif 20*62c56f98SSadaf Ebrahimi 21*62c56f98SSadaf Ebrahimi /* List of all PEM-encoded CA certificates, terminated by NULL; 22*62c56f98SSadaf Ebrahimi * PEM encoded if MBEDTLS_PEM_PARSE_C is enabled, DER encoded 23*62c56f98SSadaf Ebrahimi * otherwise. */ 24*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_cas[]; 25*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cas_len[]; 26*62c56f98SSadaf Ebrahimi 27*62c56f98SSadaf Ebrahimi /* List of all DER-encoded CA certificates, terminated by NULL */ 28*62c56f98SSadaf Ebrahimi extern const unsigned char *mbedtls_test_cas_der[]; 29*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cas_der_len[]; 30*62c56f98SSadaf Ebrahimi 31*62c56f98SSadaf Ebrahimi #if defined(MBEDTLS_PEM_PARSE_C) 32*62c56f98SSadaf Ebrahimi /* Concatenation of all CA certificates in PEM format if available */ 33*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cas_pem[]; 34*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cas_pem_len; 35*62c56f98SSadaf Ebrahimi #endif /* MBEDTLS_PEM_PARSE_C */ 36*62c56f98SSadaf Ebrahimi 37*62c56f98SSadaf Ebrahimi /* 38*62c56f98SSadaf Ebrahimi * CA test certificates 39*62c56f98SSadaf Ebrahimi */ 40*62c56f98SSadaf Ebrahimi 41*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_ec_pem[]; 42*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_key_ec_pem[]; 43*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_pwd_ec_pem[]; 44*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_key_rsa_pem[]; 45*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_pwd_rsa_pem[]; 46*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_rsa_sha1_pem[]; 47*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_rsa_sha256_pem[]; 48*62c56f98SSadaf Ebrahimi 49*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_ca_crt_ec_der[]; 50*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_ca_key_ec_der[]; 51*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_ca_key_rsa_der[]; 52*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[]; 53*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[]; 54*62c56f98SSadaf Ebrahimi 55*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_ec_pem_len; 56*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_ec_pem_len; 57*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_ec_pem_len; 58*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_rsa_pem_len; 59*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_rsa_pem_len; 60*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len; 61*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len; 62*62c56f98SSadaf Ebrahimi 63*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_ec_der_len; 64*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_ec_der_len; 65*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_ec_der_len; 66*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_rsa_der_len; 67*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_rsa_der_len; 68*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha1_der_len; 69*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha256_der_len; 70*62c56f98SSadaf Ebrahimi 71*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between PEM and DER encoding 72*62c56f98SSadaf Ebrahimi * (PEM if enabled, otherwise DER) */ 73*62c56f98SSadaf Ebrahimi 74*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_ec[]; 75*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_key_ec[]; 76*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_pwd_ec[]; 77*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_key_rsa[]; 78*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_pwd_rsa[]; 79*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_rsa_sha1[]; 80*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_rsa_sha256[]; 81*62c56f98SSadaf Ebrahimi 82*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_ec_len; 83*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_ec_len; 84*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_ec_len; 85*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_rsa_len; 86*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_rsa_len; 87*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha1_len; 88*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_sha256_len; 89*62c56f98SSadaf Ebrahimi 90*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between SHA-1 and SHA-256 91*62c56f98SSadaf Ebrahimi * (SHA-256 if enabled, otherwise SHA-1) */ 92*62c56f98SSadaf Ebrahimi 93*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_ca_crt_rsa[]; 94*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_rsa_len; 95*62c56f98SSadaf Ebrahimi 96*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between EC and RSA 97*62c56f98SSadaf Ebrahimi * (RSA if enabled, otherwise EC) */ 98*62c56f98SSadaf Ebrahimi 99*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_ca_crt; 100*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_ca_key; 101*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_ca_pwd; 102*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_crt_len; 103*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_key_len; 104*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_ca_pwd_len; 105*62c56f98SSadaf Ebrahimi 106*62c56f98SSadaf Ebrahimi /* 107*62c56f98SSadaf Ebrahimi * Server test certificates 108*62c56f98SSadaf Ebrahimi */ 109*62c56f98SSadaf Ebrahimi 110*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_ec_pem[]; 111*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_key_ec_pem[]; 112*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_pwd_ec_pem[]; 113*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_key_rsa_pem[]; 114*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_pwd_rsa_pem[]; 115*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_rsa_sha1_pem[]; 116*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_rsa_sha256_pem[]; 117*62c56f98SSadaf Ebrahimi 118*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_srv_crt_ec_der[]; 119*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_srv_key_ec_der[]; 120*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_srv_key_rsa_der[]; 121*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[]; 122*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[]; 123*62c56f98SSadaf Ebrahimi 124*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_ec_pem_len; 125*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_ec_pem_len; 126*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_ec_pem_len; 127*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_rsa_pem_len; 128*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_rsa_pem_len; 129*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len; 130*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len; 131*62c56f98SSadaf Ebrahimi 132*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_ec_der_len; 133*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_ec_der_len; 134*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_ec_der_len; 135*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_rsa_der_len; 136*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_rsa_der_len; 137*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha1_der_len; 138*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha256_der_len; 139*62c56f98SSadaf Ebrahimi 140*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between PEM and DER encoding 141*62c56f98SSadaf Ebrahimi * (PEM if enabled, otherwise DER) */ 142*62c56f98SSadaf Ebrahimi 143*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_ec[]; 144*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_key_ec[]; 145*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_pwd_ec[]; 146*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_key_rsa[]; 147*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_pwd_rsa[]; 148*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_rsa_sha1[]; 149*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_rsa_sha256[]; 150*62c56f98SSadaf Ebrahimi 151*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_ec_len; 152*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_ec_len; 153*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_ec_len; 154*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_rsa_len; 155*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_rsa_len; 156*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha1_len; 157*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_sha256_len; 158*62c56f98SSadaf Ebrahimi 159*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between SHA-1 and SHA-256 160*62c56f98SSadaf Ebrahimi * (SHA-256 if enabled, otherwise SHA-1) */ 161*62c56f98SSadaf Ebrahimi 162*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_srv_crt_rsa[]; 163*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_rsa_len; 164*62c56f98SSadaf Ebrahimi 165*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between EC and RSA 166*62c56f98SSadaf Ebrahimi * (RSA if enabled, otherwise EC) */ 167*62c56f98SSadaf Ebrahimi 168*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_srv_crt; 169*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_srv_key; 170*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_srv_pwd; 171*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_crt_len; 172*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_key_len; 173*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_srv_pwd_len; 174*62c56f98SSadaf Ebrahimi 175*62c56f98SSadaf Ebrahimi /* 176*62c56f98SSadaf Ebrahimi * Client test certificates 177*62c56f98SSadaf Ebrahimi */ 178*62c56f98SSadaf Ebrahimi 179*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_crt_ec_pem[]; 180*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_key_ec_pem[]; 181*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_pwd_ec_pem[]; 182*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_key_rsa_pem[]; 183*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_pwd_rsa_pem[]; 184*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_crt_rsa_pem[]; 185*62c56f98SSadaf Ebrahimi 186*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_cli_crt_ec_der[]; 187*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_cli_key_ec_der[]; 188*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_cli_key_rsa_der[]; 189*62c56f98SSadaf Ebrahimi extern const unsigned char mbedtls_test_cli_crt_rsa_der[]; 190*62c56f98SSadaf Ebrahimi 191*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_ec_pem_len; 192*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_ec_pem_len; 193*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_pwd_ec_pem_len; 194*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_rsa_pem_len; 195*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_pwd_rsa_pem_len; 196*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_rsa_pem_len; 197*62c56f98SSadaf Ebrahimi 198*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_ec_der_len; 199*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_ec_der_len; 200*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_rsa_der_len; 201*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_rsa_der_len; 202*62c56f98SSadaf Ebrahimi 203*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between PEM and DER encoding 204*62c56f98SSadaf Ebrahimi * (PEM if enabled, otherwise DER) */ 205*62c56f98SSadaf Ebrahimi 206*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_crt_ec[]; 207*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_key_ec[]; 208*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_pwd_ec[]; 209*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_key_rsa[]; 210*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_pwd_rsa[]; 211*62c56f98SSadaf Ebrahimi extern const char mbedtls_test_cli_crt_rsa[]; 212*62c56f98SSadaf Ebrahimi 213*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_ec_len; 214*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_ec_len; 215*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_pwd_ec_len; 216*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_rsa_len; 217*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_pwd_rsa_len; 218*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_rsa_len; 219*62c56f98SSadaf Ebrahimi 220*62c56f98SSadaf Ebrahimi /* Config-dependent dispatch between EC and RSA 221*62c56f98SSadaf Ebrahimi * (RSA if enabled, otherwise EC) */ 222*62c56f98SSadaf Ebrahimi 223*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_cli_crt; 224*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_cli_key; 225*62c56f98SSadaf Ebrahimi extern const char *mbedtls_test_cli_pwd; 226*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_crt_len; 227*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_key_len; 228*62c56f98SSadaf Ebrahimi extern const size_t mbedtls_test_cli_pwd_len; 229*62c56f98SSadaf Ebrahimi 230*62c56f98SSadaf Ebrahimi #ifdef __cplusplus 231*62c56f98SSadaf Ebrahimi } 232*62c56f98SSadaf Ebrahimi #endif 233*62c56f98SSadaf Ebrahimi 234*62c56f98SSadaf Ebrahimi #endif /* certs.h */ 235