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