1/* 2 * X.509 test certificates 3 * 4 * Copyright The Mbed TLS Contributors 5 * SPDX-License-Identifier: Apache-2.0 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); you may 8 * not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20#include "common.h" 21 22#include <test/certs.h> 23 24#include "mbedtls/build_info.h" 25 26#include "mbedtls/pk.h" 27 28#include "test_certs.h" 29 30/* 31 * 32 * Test certificates and keys as C variables 33 * 34 */ 35 36/* 37 * CA 38 */ 39 40const char mbedtls_test_ca_crt_ec_pem[] = TEST_CA_CRT_EC_PEM; 41const char mbedtls_test_ca_key_ec_pem[] = TEST_CA_KEY_EC_PEM; 42const char mbedtls_test_ca_pwd_ec_pem[] = TEST_CA_PWD_EC_PEM; 43const char mbedtls_test_ca_key_rsa_pem[] = TEST_CA_KEY_RSA_PEM; 44const char mbedtls_test_ca_pwd_rsa_pem[] = TEST_CA_PWD_RSA_PEM; 45const char mbedtls_test_ca_crt_rsa_sha1_pem[] = TEST_CA_CRT_RSA_SHA1_PEM; 46const char mbedtls_test_ca_crt_rsa_sha256_pem[] = TEST_CA_CRT_RSA_SHA256_PEM; 47 48const unsigned char mbedtls_test_ca_crt_ec_der[] = TEST_CA_CRT_EC_DER; 49const unsigned char mbedtls_test_ca_key_ec_der[] = TEST_CA_KEY_EC_DER; 50const unsigned char mbedtls_test_ca_key_rsa_der[] = TEST_CA_KEY_RSA_DER; 51const unsigned char mbedtls_test_ca_crt_rsa_sha1_der[] = 52 TEST_CA_CRT_RSA_SHA1_DER; 53const unsigned char mbedtls_test_ca_crt_rsa_sha256_der[] = 54 TEST_CA_CRT_RSA_SHA256_DER; 55 56const size_t mbedtls_test_ca_crt_ec_pem_len = 57 sizeof(mbedtls_test_ca_crt_ec_pem); 58const size_t mbedtls_test_ca_key_ec_pem_len = 59 sizeof(mbedtls_test_ca_key_ec_pem); 60const size_t mbedtls_test_ca_pwd_ec_pem_len = 61 sizeof(mbedtls_test_ca_pwd_ec_pem) - 1; 62const size_t mbedtls_test_ca_key_rsa_pem_len = 63 sizeof(mbedtls_test_ca_key_rsa_pem); 64const size_t mbedtls_test_ca_pwd_rsa_pem_len = 65 sizeof(mbedtls_test_ca_pwd_rsa_pem) - 1; 66const size_t mbedtls_test_ca_crt_rsa_sha1_pem_len = 67 sizeof(mbedtls_test_ca_crt_rsa_sha1_pem); 68const size_t mbedtls_test_ca_crt_rsa_sha256_pem_len = 69 sizeof(mbedtls_test_ca_crt_rsa_sha256_pem); 70 71const size_t mbedtls_test_ca_crt_ec_der_len = 72 sizeof(mbedtls_test_ca_crt_ec_der); 73const size_t mbedtls_test_ca_key_ec_der_len = 74 sizeof(mbedtls_test_ca_key_ec_der); 75const size_t mbedtls_test_ca_pwd_ec_der_len = 0; 76const size_t mbedtls_test_ca_key_rsa_der_len = 77 sizeof(mbedtls_test_ca_key_rsa_der); 78const size_t mbedtls_test_ca_pwd_rsa_der_len = 0; 79const size_t mbedtls_test_ca_crt_rsa_sha1_der_len = 80 sizeof(mbedtls_test_ca_crt_rsa_sha1_der); 81const size_t mbedtls_test_ca_crt_rsa_sha256_der_len = 82 sizeof(mbedtls_test_ca_crt_rsa_sha256_der); 83 84/* 85 * Server 86 */ 87 88const char mbedtls_test_srv_crt_ec_pem[] = TEST_SRV_CRT_EC_PEM; 89const char mbedtls_test_srv_key_ec_pem[] = TEST_SRV_KEY_EC_PEM; 90const char mbedtls_test_srv_pwd_ec_pem[] = ""; 91const char mbedtls_test_srv_key_rsa_pem[] = TEST_SRV_KEY_RSA_PEM; 92const char mbedtls_test_srv_pwd_rsa_pem[] = ""; 93const char mbedtls_test_srv_crt_rsa_sha1_pem[] = TEST_SRV_CRT_RSA_SHA1_PEM; 94const char mbedtls_test_srv_crt_rsa_sha256_pem[] = TEST_SRV_CRT_RSA_SHA256_PEM; 95 96const unsigned char mbedtls_test_srv_crt_ec_der[] = TEST_SRV_CRT_EC_DER; 97const unsigned char mbedtls_test_srv_key_ec_der[] = TEST_SRV_KEY_EC_DER; 98const unsigned char mbedtls_test_srv_key_rsa_der[] = TEST_SRV_KEY_RSA_DER; 99const unsigned char mbedtls_test_srv_crt_rsa_sha1_der[] = 100 TEST_SRV_CRT_RSA_SHA1_DER; 101const unsigned char mbedtls_test_srv_crt_rsa_sha256_der[] = 102 TEST_SRV_CRT_RSA_SHA256_DER; 103 104const size_t mbedtls_test_srv_crt_ec_pem_len = 105 sizeof(mbedtls_test_srv_crt_ec_pem); 106const size_t mbedtls_test_srv_key_ec_pem_len = 107 sizeof(mbedtls_test_srv_key_ec_pem); 108const size_t mbedtls_test_srv_pwd_ec_pem_len = 109 sizeof(mbedtls_test_srv_pwd_ec_pem) - 1; 110const size_t mbedtls_test_srv_key_rsa_pem_len = 111 sizeof(mbedtls_test_srv_key_rsa_pem); 112const size_t mbedtls_test_srv_pwd_rsa_pem_len = 113 sizeof(mbedtls_test_srv_pwd_rsa_pem) - 1; 114const size_t mbedtls_test_srv_crt_rsa_sha1_pem_len = 115 sizeof(mbedtls_test_srv_crt_rsa_sha1_pem); 116const size_t mbedtls_test_srv_crt_rsa_sha256_pem_len = 117 sizeof(mbedtls_test_srv_crt_rsa_sha256_pem); 118 119const size_t mbedtls_test_srv_crt_ec_der_len = 120 sizeof(mbedtls_test_srv_crt_ec_der); 121const size_t mbedtls_test_srv_key_ec_der_len = 122 sizeof(mbedtls_test_srv_key_ec_der); 123const size_t mbedtls_test_srv_pwd_ec_der_len = 0; 124const size_t mbedtls_test_srv_key_rsa_der_len = 125 sizeof(mbedtls_test_srv_key_rsa_der); 126const size_t mbedtls_test_srv_pwd_rsa_der_len = 0; 127const size_t mbedtls_test_srv_crt_rsa_sha1_der_len = 128 sizeof(mbedtls_test_srv_crt_rsa_sha1_der); 129const size_t mbedtls_test_srv_crt_rsa_sha256_der_len = 130 sizeof(mbedtls_test_srv_crt_rsa_sha256_der); 131 132/* 133 * Client 134 */ 135 136const char mbedtls_test_cli_crt_ec_pem[] = TEST_CLI_CRT_EC_PEM; 137const char mbedtls_test_cli_key_ec_pem[] = TEST_CLI_KEY_EC_PEM; 138const char mbedtls_test_cli_pwd_ec_pem[] = ""; 139const char mbedtls_test_cli_key_rsa_pem[] = TEST_CLI_KEY_RSA_PEM; 140const char mbedtls_test_cli_pwd_rsa_pem[] = ""; 141const char mbedtls_test_cli_crt_rsa_pem[] = TEST_CLI_CRT_RSA_PEM; 142 143const unsigned char mbedtls_test_cli_crt_ec_der[] = TEST_CLI_CRT_EC_DER; 144const unsigned char mbedtls_test_cli_key_ec_der[] = TEST_CLI_KEY_EC_DER; 145const unsigned char mbedtls_test_cli_key_rsa_der[] = TEST_CLI_KEY_RSA_DER; 146const unsigned char mbedtls_test_cli_crt_rsa_der[] = TEST_CLI_CRT_RSA_DER; 147 148const size_t mbedtls_test_cli_crt_ec_pem_len = 149 sizeof(mbedtls_test_cli_crt_ec_pem); 150const size_t mbedtls_test_cli_key_ec_pem_len = 151 sizeof(mbedtls_test_cli_key_ec_pem); 152const size_t mbedtls_test_cli_pwd_ec_pem_len = 153 sizeof(mbedtls_test_cli_pwd_ec_pem) - 1; 154const size_t mbedtls_test_cli_key_rsa_pem_len = 155 sizeof(mbedtls_test_cli_key_rsa_pem); 156const size_t mbedtls_test_cli_pwd_rsa_pem_len = 157 sizeof(mbedtls_test_cli_pwd_rsa_pem) - 1; 158const size_t mbedtls_test_cli_crt_rsa_pem_len = 159 sizeof(mbedtls_test_cli_crt_rsa_pem); 160 161const size_t mbedtls_test_cli_crt_ec_der_len = 162 sizeof(mbedtls_test_cli_crt_ec_der); 163const size_t mbedtls_test_cli_key_ec_der_len = 164 sizeof(mbedtls_test_cli_key_ec_der); 165const size_t mbedtls_test_cli_key_rsa_der_len = 166 sizeof(mbedtls_test_cli_key_rsa_der); 167const size_t mbedtls_test_cli_crt_rsa_der_len = 168 sizeof(mbedtls_test_cli_crt_rsa_der); 169 170/* 171 * 172 * Definitions of test CRTs without specification of all parameters, choosing 173 * them automatically according to the config. For example, mbedtls_test_ca_crt 174 * is one of mbedtls_test_ca_crt_{rsa|ec}_{sha1|sha256}_{pem|der}. 175 * 176 */ 177 178/* 179 * Dispatch between PEM and DER according to config 180 */ 181 182#if defined(MBEDTLS_PEM_PARSE_C) 183 184/* PEM encoded test CA certificates and keys */ 185 186#define TEST_CA_KEY_RSA TEST_CA_KEY_RSA_PEM 187#define TEST_CA_PWD_RSA TEST_CA_PWD_RSA_PEM 188#define TEST_CA_CRT_RSA_SHA256 TEST_CA_CRT_RSA_SHA256_PEM 189#define TEST_CA_CRT_RSA_SHA1 TEST_CA_CRT_RSA_SHA1_PEM 190#define TEST_CA_KEY_EC TEST_CA_KEY_EC_PEM 191#define TEST_CA_PWD_EC TEST_CA_PWD_EC_PEM 192#define TEST_CA_CRT_EC TEST_CA_CRT_EC_PEM 193 194/* PEM encoded test server certificates and keys */ 195 196#define TEST_SRV_KEY_RSA TEST_SRV_KEY_RSA_PEM 197#define TEST_SRV_PWD_RSA "" 198#define TEST_SRV_CRT_RSA_SHA256 TEST_SRV_CRT_RSA_SHA256_PEM 199#define TEST_SRV_CRT_RSA_SHA1 TEST_SRV_CRT_RSA_SHA1_PEM 200#define TEST_SRV_KEY_EC TEST_SRV_KEY_EC_PEM 201#define TEST_SRV_PWD_EC "" 202#define TEST_SRV_CRT_EC TEST_SRV_CRT_EC_PEM 203 204/* PEM encoded test client certificates and keys */ 205 206#define TEST_CLI_KEY_RSA TEST_CLI_KEY_RSA_PEM 207#define TEST_CLI_PWD_RSA "" 208#define TEST_CLI_CRT_RSA TEST_CLI_CRT_RSA_PEM 209#define TEST_CLI_KEY_EC TEST_CLI_KEY_EC_PEM 210#define TEST_CLI_PWD_EC "" 211#define TEST_CLI_CRT_EC TEST_CLI_CRT_EC_PEM 212 213#else /* MBEDTLS_PEM_PARSE_C */ 214 215/* DER encoded test CA certificates and keys */ 216 217#define TEST_CA_KEY_RSA TEST_CA_KEY_RSA_DER 218#define TEST_CA_PWD_RSA "" 219#define TEST_CA_CRT_RSA_SHA256 TEST_CA_CRT_RSA_SHA256_DER 220#define TEST_CA_CRT_RSA_SHA1 TEST_CA_CRT_RSA_SHA1_DER 221#define TEST_CA_KEY_EC TEST_CA_KEY_EC_DER 222#define TEST_CA_PWD_EC "" 223#define TEST_CA_CRT_EC TEST_CA_CRT_EC_DER 224 225/* DER encoded test server certificates and keys */ 226 227#define TEST_SRV_KEY_RSA TEST_SRV_KEY_RSA_DER 228#define TEST_SRV_PWD_RSA "" 229#define TEST_SRV_CRT_RSA_SHA256 TEST_SRV_CRT_RSA_SHA256_DER 230#define TEST_SRV_CRT_RSA_SHA1 TEST_SRV_CRT_RSA_SHA1_DER 231#define TEST_SRV_KEY_EC TEST_SRV_KEY_EC_DER 232#define TEST_SRV_PWD_EC "" 233#define TEST_SRV_CRT_EC TEST_SRV_CRT_EC_DER 234 235/* DER encoded test client certificates and keys */ 236 237#define TEST_CLI_KEY_RSA TEST_CLI_KEY_RSA_DER 238#define TEST_CLI_PWD_RSA "" 239#define TEST_CLI_CRT_RSA TEST_CLI_CRT_RSA_DER 240#define TEST_CLI_KEY_EC TEST_CLI_KEY_EC_DER 241#define TEST_CLI_PWD_EC "" 242#define TEST_CLI_CRT_EC TEST_CLI_CRT_EC_DER 243 244#endif /* MBEDTLS_PEM_PARSE_C */ 245 246const char mbedtls_test_ca_key_rsa[] = TEST_CA_KEY_RSA; 247const char mbedtls_test_ca_pwd_rsa[] = TEST_CA_PWD_RSA; 248const char mbedtls_test_ca_crt_rsa_sha256[] = TEST_CA_CRT_RSA_SHA256; 249const char mbedtls_test_ca_crt_rsa_sha1[] = TEST_CA_CRT_RSA_SHA1; 250const char mbedtls_test_ca_key_ec[] = TEST_CA_KEY_EC; 251const char mbedtls_test_ca_pwd_ec[] = TEST_CA_PWD_EC; 252const char mbedtls_test_ca_crt_ec[] = TEST_CA_CRT_EC; 253 254const char mbedtls_test_srv_key_rsa[] = TEST_SRV_KEY_RSA; 255const char mbedtls_test_srv_pwd_rsa[] = TEST_SRV_PWD_RSA; 256const char mbedtls_test_srv_crt_rsa_sha256[] = TEST_SRV_CRT_RSA_SHA256; 257const char mbedtls_test_srv_crt_rsa_sha1[] = TEST_SRV_CRT_RSA_SHA1; 258const char mbedtls_test_srv_key_ec[] = TEST_SRV_KEY_EC; 259const char mbedtls_test_srv_pwd_ec[] = TEST_SRV_PWD_EC; 260const char mbedtls_test_srv_crt_ec[] = TEST_SRV_CRT_EC; 261 262const char mbedtls_test_cli_key_rsa[] = TEST_CLI_KEY_RSA; 263const char mbedtls_test_cli_pwd_rsa[] = TEST_CLI_PWD_RSA; 264const char mbedtls_test_cli_crt_rsa[] = TEST_CLI_CRT_RSA; 265const char mbedtls_test_cli_key_ec[] = TEST_CLI_KEY_EC; 266const char mbedtls_test_cli_pwd_ec[] = TEST_CLI_PWD_EC; 267const char mbedtls_test_cli_crt_ec[] = TEST_CLI_CRT_EC; 268 269const size_t mbedtls_test_ca_key_rsa_len = 270 sizeof(mbedtls_test_ca_key_rsa); 271const size_t mbedtls_test_ca_pwd_rsa_len = 272 sizeof(mbedtls_test_ca_pwd_rsa) - 1; 273const size_t mbedtls_test_ca_crt_rsa_sha256_len = 274 sizeof(mbedtls_test_ca_crt_rsa_sha256); 275const size_t mbedtls_test_ca_crt_rsa_sha1_len = 276 sizeof(mbedtls_test_ca_crt_rsa_sha1); 277const size_t mbedtls_test_ca_key_ec_len = 278 sizeof(mbedtls_test_ca_key_ec); 279const size_t mbedtls_test_ca_pwd_ec_len = 280 sizeof(mbedtls_test_ca_pwd_ec) - 1; 281const size_t mbedtls_test_ca_crt_ec_len = 282 sizeof(mbedtls_test_ca_crt_ec); 283 284const size_t mbedtls_test_srv_key_rsa_len = 285 sizeof(mbedtls_test_srv_key_rsa); 286const size_t mbedtls_test_srv_pwd_rsa_len = 287 sizeof(mbedtls_test_srv_pwd_rsa) -1; 288const size_t mbedtls_test_srv_crt_rsa_sha256_len = 289 sizeof(mbedtls_test_srv_crt_rsa_sha256); 290const size_t mbedtls_test_srv_crt_rsa_sha1_len = 291 sizeof(mbedtls_test_srv_crt_rsa_sha1); 292const size_t mbedtls_test_srv_key_ec_len = 293 sizeof(mbedtls_test_srv_key_ec); 294const size_t mbedtls_test_srv_pwd_ec_len = 295 sizeof(mbedtls_test_srv_pwd_ec) - 1; 296const size_t mbedtls_test_srv_crt_ec_len = 297 sizeof(mbedtls_test_srv_crt_ec); 298 299const size_t mbedtls_test_cli_key_rsa_len = 300 sizeof(mbedtls_test_cli_key_rsa); 301const size_t mbedtls_test_cli_pwd_rsa_len = 302 sizeof(mbedtls_test_cli_pwd_rsa) - 1; 303const size_t mbedtls_test_cli_crt_rsa_len = 304 sizeof(mbedtls_test_cli_crt_rsa); 305const size_t mbedtls_test_cli_key_ec_len = 306 sizeof(mbedtls_test_cli_key_ec); 307const size_t mbedtls_test_cli_pwd_ec_len = 308 sizeof(mbedtls_test_cli_pwd_ec) - 1; 309const size_t mbedtls_test_cli_crt_ec_len = 310 sizeof(mbedtls_test_cli_crt_ec); 311 312/* 313 * Dispatch between SHA-1 and SHA-256 314 */ 315 316#if defined(MBEDTLS_MD_CAN_SHA256) 317#define TEST_CA_CRT_RSA TEST_CA_CRT_RSA_SHA256 318#define TEST_SRV_CRT_RSA TEST_SRV_CRT_RSA_SHA256 319#else 320#define TEST_CA_CRT_RSA TEST_CA_CRT_RSA_SHA1 321#define TEST_SRV_CRT_RSA TEST_SRV_CRT_RSA_SHA1 322#endif /* MBEDTLS_MD_CAN_SHA256 */ 323 324const char mbedtls_test_ca_crt_rsa[] = TEST_CA_CRT_RSA; 325const char mbedtls_test_srv_crt_rsa[] = TEST_SRV_CRT_RSA; 326 327const size_t mbedtls_test_ca_crt_rsa_len = 328 sizeof(mbedtls_test_ca_crt_rsa); 329const size_t mbedtls_test_srv_crt_rsa_len = 330 sizeof(mbedtls_test_srv_crt_rsa); 331 332/* 333 * Dispatch between RSA and EC 334 */ 335 336#if defined(MBEDTLS_RSA_C) 337 338#define TEST_CA_KEY TEST_CA_KEY_RSA 339#define TEST_CA_PWD TEST_CA_PWD_RSA 340#define TEST_CA_CRT TEST_CA_CRT_RSA 341 342#define TEST_SRV_KEY TEST_SRV_KEY_RSA 343#define TEST_SRV_PWD TEST_SRV_PWD_RSA 344#define TEST_SRV_CRT TEST_SRV_CRT_RSA 345 346#define TEST_CLI_KEY TEST_CLI_KEY_RSA 347#define TEST_CLI_PWD TEST_CLI_PWD_RSA 348#define TEST_CLI_CRT TEST_CLI_CRT_RSA 349 350#else /* no RSA, so assume ECDSA */ 351 352#define TEST_CA_KEY TEST_CA_KEY_EC 353#define TEST_CA_PWD TEST_CA_PWD_EC 354#define TEST_CA_CRT TEST_CA_CRT_EC 355 356#define TEST_SRV_KEY TEST_SRV_KEY_EC 357#define TEST_SRV_PWD TEST_SRV_PWD_EC 358#define TEST_SRV_CRT TEST_SRV_CRT_EC 359 360#define TEST_CLI_KEY TEST_CLI_KEY_EC 361#define TEST_CLI_PWD TEST_CLI_PWD_EC 362#define TEST_CLI_CRT TEST_CLI_CRT_EC 363#endif /* MBEDTLS_RSA_C */ 364 365/* API stability forces us to declare 366 * mbedtls_test_{ca|srv|cli}_{key|pwd|crt} 367 * as pointers. */ 368static const char test_ca_key[] = TEST_CA_KEY; 369static const char test_ca_pwd[] = TEST_CA_PWD; 370static const char test_ca_crt[] = TEST_CA_CRT; 371 372static const char test_srv_key[] = TEST_SRV_KEY; 373static const char test_srv_pwd[] = TEST_SRV_PWD; 374static const char test_srv_crt[] = TEST_SRV_CRT; 375 376static const char test_cli_key[] = TEST_CLI_KEY; 377static const char test_cli_pwd[] = TEST_CLI_PWD; 378static const char test_cli_crt[] = TEST_CLI_CRT; 379 380const char *mbedtls_test_ca_key = test_ca_key; 381const char *mbedtls_test_ca_pwd = test_ca_pwd; 382const char *mbedtls_test_ca_crt = test_ca_crt; 383 384const char *mbedtls_test_srv_key = test_srv_key; 385const char *mbedtls_test_srv_pwd = test_srv_pwd; 386const char *mbedtls_test_srv_crt = test_srv_crt; 387 388const char *mbedtls_test_cli_key = test_cli_key; 389const char *mbedtls_test_cli_pwd = test_cli_pwd; 390const char *mbedtls_test_cli_crt = test_cli_crt; 391 392const size_t mbedtls_test_ca_key_len = 393 sizeof(test_ca_key); 394const size_t mbedtls_test_ca_pwd_len = 395 sizeof(test_ca_pwd) - 1; 396const size_t mbedtls_test_ca_crt_len = 397 sizeof(test_ca_crt); 398 399const size_t mbedtls_test_srv_key_len = 400 sizeof(test_srv_key); 401const size_t mbedtls_test_srv_pwd_len = 402 sizeof(test_srv_pwd) - 1; 403const size_t mbedtls_test_srv_crt_len = 404 sizeof(test_srv_crt); 405 406const size_t mbedtls_test_cli_key_len = 407 sizeof(test_cli_key); 408const size_t mbedtls_test_cli_pwd_len = 409 sizeof(test_cli_pwd) - 1; 410const size_t mbedtls_test_cli_crt_len = 411 sizeof(test_cli_crt); 412 413/* 414 * 415 * Lists of certificates 416 * 417 */ 418 419/* List of CAs in PEM or DER, depending on config */ 420const char *mbedtls_test_cas[] = { 421#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_MD_CAN_SHA1) 422 mbedtls_test_ca_crt_rsa_sha1, 423#endif 424#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_MD_CAN_SHA256) 425 mbedtls_test_ca_crt_rsa_sha256, 426#endif 427#if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 428 mbedtls_test_ca_crt_ec, 429#endif 430 NULL 431}; 432const size_t mbedtls_test_cas_len[] = { 433#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_MD_CAN_SHA1) 434 sizeof(mbedtls_test_ca_crt_rsa_sha1), 435#endif 436#if defined(MBEDTLS_RSA_C) && defined(MBEDTLS_MD_CAN_SHA256) 437 sizeof(mbedtls_test_ca_crt_rsa_sha256), 438#endif 439#if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 440 sizeof(mbedtls_test_ca_crt_ec), 441#endif 442 0 443}; 444 445/* List of all available CA certificates in DER format */ 446const unsigned char *mbedtls_test_cas_der[] = { 447#if defined(MBEDTLS_RSA_C) 448#if defined(MBEDTLS_MD_CAN_SHA256) 449 mbedtls_test_ca_crt_rsa_sha256_der, 450#endif /* MBEDTLS_MD_CAN_SHA256 */ 451#if defined(MBEDTLS_MD_CAN_SHA1) 452 mbedtls_test_ca_crt_rsa_sha1_der, 453#endif /* MBEDTLS_MD_CAN_SHA1 */ 454#endif /* MBEDTLS_RSA_C */ 455#if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 456 mbedtls_test_ca_crt_ec_der, 457#endif /* MBEDTLS_PK_CAN_ECDSA_SOME */ 458 NULL 459}; 460 461const size_t mbedtls_test_cas_der_len[] = { 462#if defined(MBEDTLS_RSA_C) 463#if defined(MBEDTLS_MD_CAN_SHA256) 464 sizeof(mbedtls_test_ca_crt_rsa_sha256_der), 465#endif /* MBEDTLS_MD_CAN_SHA256 */ 466#if defined(MBEDTLS_MD_CAN_SHA1) 467 sizeof(mbedtls_test_ca_crt_rsa_sha1_der), 468#endif /* MBEDTLS_MD_CAN_SHA1 */ 469#endif /* MBEDTLS_RSA_C */ 470#if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 471 sizeof(mbedtls_test_ca_crt_ec_der), 472#endif /* MBEDTLS_PK_CAN_ECDSA_SOME */ 473 0 474}; 475 476/* Concatenation of all available CA certificates in PEM format */ 477#if defined(MBEDTLS_PEM_PARSE_C) 478const char mbedtls_test_cas_pem[] = 479#if defined(MBEDTLS_RSA_C) 480#if defined(MBEDTLS_MD_CAN_SHA256) 481 TEST_CA_CRT_RSA_SHA256_PEM 482#endif /* MBEDTLS_MD_CAN_SHA256 */ 483#if defined(MBEDTLS_MD_CAN_SHA1) 484 TEST_CA_CRT_RSA_SHA1_PEM 485#endif /* MBEDTLS_MD_CAN_SHA1 */ 486#endif /* MBEDTLS_RSA_C */ 487#if defined(MBEDTLS_PK_CAN_ECDSA_SOME) 488 TEST_CA_CRT_EC_PEM 489#endif /* MBEDTLS_PK_CAN_ECDSA_SOME */ 490 ""; 491const size_t mbedtls_test_cas_pem_len = sizeof(mbedtls_test_cas_pem); 492#endif /* MBEDTLS_PEM_PARSE_C */ 493