diff --git a/include/mbedtls/certs.h b/include/mbedtls/certs.h
index 62db0ce..ee4d3a6 100644
--- a/include/mbedtls/certs.h
+++ b/include/mbedtls/certs.h
@@ -21,8 +21,8 @@
  *  with this program; if not, write to the Free Software Foundation, Inc.,
  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
-#ifndef POLARSSL_CERTS_H
-#define POLARSSL_CERTS_H
+#ifndef MBEDTLS_CERTS_H
+#define MBEDTLS_CERTS_H
 
 #include <stddef.h>
 
@@ -30,72 +30,72 @@
 extern "C" {
 #endif
 
-#if defined(POLARSSL_PEM_PARSE_C)
+#if defined(MBEDTLS_PEM_PARSE_C)
 /* Concatenation of all CA certificates in PEM format if available */
-extern const char   test_cas_pem[];
-extern const size_t test_cas_pem_len;
+extern const char   mbedtls_test_cas_pem[];
+extern const size_t mbedtls_test_cas_pem_len;
 #endif
 
 /* List of all CA certificates, terminated by NULL */
-extern const char * test_cas[];
-extern const size_t test_cas_len[];
+extern const char * mbedtls_test_cas[];
+extern const size_t mbedtls_test_cas_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 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;
+extern const char * mbedtls_test_ca_crt;
+extern const size_t mbedtls_test_ca_crt_len;
+extern const char * mbedtls_test_ca_key;
+extern const size_t mbedtls_test_ca_key_len;
+extern const char * mbedtls_test_ca_pwd;
+extern const size_t mbedtls_test_ca_pwd_len;
+extern const char * mbedtls_test_srv_crt;
+extern const size_t mbedtls_test_srv_crt_len;
+extern const char * mbedtls_test_srv_key;
+extern const size_t mbedtls_test_srv_key_len;
+extern const char * mbedtls_test_cli_crt;
+extern const size_t mbedtls_test_cli_crt_len;
+extern const char * mbedtls_test_cli_key;
+extern const size_t mbedtls_test_cli_key_len;
 
-#if defined(POLARSSL_ECDSA_C)
-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;
+#if defined(MBEDTLS_ECDSA_C)
+extern const char   mbedtls_test_ca_crt_ec[];
+extern const size_t mbedtls_test_ca_crt_ec_len;
+extern const char   mbedtls_test_ca_key_ec[];
+extern const size_t mbedtls_test_ca_key_ec_len;
+extern const char   mbedtls_test_ca_pwd_ec[];
+extern const size_t mbedtls_test_ca_pwd_ec_len;
+extern const char   mbedtls_test_srv_crt_ec[];
+extern const size_t mbedtls_test_srv_crt_ec_len;
+extern const char   mbedtls_test_srv_key_ec[];
+extern const size_t mbedtls_test_srv_key_ec_len;
+extern const char   mbedtls_test_cli_crt_ec[];
+extern const size_t mbedtls_test_cli_crt_ec_len;
+extern const char   mbedtls_test_cli_key_ec[];
+extern const size_t mbedtls_test_cli_key_ec_len;
 #endif
 
-#if defined(POLARSSL_RSA_C)
-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;
+#if defined(MBEDTLS_RSA_C)
+extern const char   mbedtls_test_ca_crt_rsa[];
+extern const size_t mbedtls_test_ca_crt_rsa_len;
+extern const char   mbedtls_test_ca_key_rsa[];
+extern const size_t mbedtls_test_ca_key_rsa_len;
+extern const char   mbedtls_test_ca_pwd_rsa[];
+extern const size_t mbedtls_test_ca_pwd_rsa_len;
+extern const char   mbedtls_test_srv_crt_rsa[];
+extern const size_t mbedtls_test_srv_crt_rsa_len;
+extern const char   mbedtls_test_srv_key_rsa[];
+extern const size_t mbedtls_test_srv_key_rsa_len;
+extern const char   mbedtls_test_cli_crt_rsa[];
+extern const size_t mbedtls_test_cli_crt_rsa_len;
+extern const char   mbedtls_test_cli_key_rsa[];
+extern const size_t mbedtls_test_cli_key_rsa_len;
 #endif
 
-#if defined(POLARSSL_DHM_C)
-extern const char   test_dhm_params[];
-extern const size_t test_dhm_params_len;
+#if defined(MBEDTLS_DHM_C)
+extern const char   mbedtls_test_dhm_params[];
+extern const size_t mbedtls_test_dhm_params_len;
 #endif
 
 #ifdef __cplusplus
