diff --git a/include/mbedtls/certs.h b/include/mbedtls/certs.h
index 7b00a8b..e2e9f77 100644
--- a/include/mbedtls/certs.h
+++ b/include/mbedtls/certs.h
@@ -24,47 +24,72 @@
 #ifndef POLARSSL_CERTS_H
 #define POLARSSL_CERTS_H
 
+#include <stddef.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /* Concatenation of all available CA certificates */
-extern const char test_ca_list[];
+extern const char   test_ca_list[];
+extern const size_t test_ca_list_len;
 
 /*
  * Convenience for users who just want a certificate:
  * RSA by default, or ECDSA if RSA is not available
  */
-extern const char *test_ca_crt;
-extern const char *test_ca_key;
-extern const char *test_ca_pwd;
-extern const char *test_srv_crt;
-extern const char *test_srv_key;
-extern const char *test_cli_crt;
-extern const char *test_cli_key;
+extern const char * test_ca_crt;
+extern const size_t test_ca_crt_len;
+extern const char * test_ca_key;
+extern const size_t test_ca_key_len;
+extern const char * test_ca_pwd;
+extern const size_t test_ca_pwd_len;
+extern const char * test_srv_crt;
+extern const size_t test_srv_crt_len;
+extern const char * test_srv_key;
+extern const size_t test_srv_key_len;
+extern const char * test_cli_crt;
+extern const size_t test_cli_crt_len;
+extern const char * test_cli_key;
+extern const size_t test_cli_key_len;
 
 #if defined(POLARSSL_ECDSA_C)
-extern const char test_ca_crt_ec[];
-extern const char test_ca_key_ec[];
-extern const char test_ca_pwd_ec[];
-extern const char test_srv_crt_ec[];
-extern const char test_srv_key_ec[];
-extern const char test_cli_crt_ec[];
-extern const char test_cli_key_ec[];
+extern const char   test_ca_crt_ec[];
+extern const size_t test_ca_crt_ec_len;
+extern const char   test_ca_key_ec[];
+extern const size_t test_ca_key_ec_len;
+extern const char   test_ca_pwd_ec[];
+extern const size_t test_ca_pwd_ec_len;
+extern const char   test_srv_crt_ec[];
+extern const size_t test_srv_crt_ec_len;
+extern const char   test_srv_key_ec[];
+extern const size_t test_srv_key_ec_len;
+extern const char   test_cli_crt_ec[];
+extern const size_t test_cli_crt_ec_len;
+extern const char   test_cli_key_ec[];
+extern const size_t test_cli_key_ec_len;
 #endif
 
 #if defined(POLARSSL_RSA_C)
-extern const char test_ca_crt_rsa[];
-extern const char test_ca_key_rsa[];
-extern const char test_ca_pwd_rsa[];
-extern const char test_srv_crt_rsa[];
-extern const char test_srv_key_rsa[];
-extern const char test_cli_crt_rsa[];
-extern const char test_cli_key_rsa[];
+extern const char   test_ca_crt_rsa[];
+extern const size_t test_ca_crt_rsa_len;
+extern const char   test_ca_key_rsa[];
+extern const size_t test_ca_key_rsa_len;
+extern const char   test_ca_pwd_rsa[];
+extern const size_t test_ca_pwd_rsa_len;
+extern const char   test_srv_crt_rsa[];
+extern const size_t test_srv_crt_rsa_len;
+extern const char   test_srv_key_rsa[];
+extern const size_t test_srv_key_rsa_len;
+extern const char   test_cli_crt_rsa[];
+extern const size_t test_cli_crt_rsa_len;
+extern const char   test_cli_key_rsa[];
+extern const size_t test_cli_key_rsa_len;
 #endif
 
 #if defined(POLARSSL_DHM_C)
-extern const char test_dhm_params[];
+extern const char   test_dhm_params[];
+extern const size_t test_dhm_params_len;
 #endif
 
 #ifdef __cplusplus
