certs.h 9.0 KB

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