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