quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

certs.c (17094B)


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