certs.h 9.2 KB

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