From 335db3f121053e5e5286fb5e8b1c75dfb5129aa9 Mon Sep 17 00:00:00 2001
From: Paul Bakker
Date: Mon, 25 Apr 2011 15:28:35 +0000
Subject: [PATCH] - Functions requiring File System functions can now be
disables by undefining POLARSSL_FS_IO
---
ChangeLog | 2 +
include/polarssl/config.h | 7 ++
include/polarssl/md.h | 2 +
library/bignum.c | 2 +
library/md.c | 7 ++
library/md2.c | 4 +
library/md4.c | 4 +
library/md5.c | 4 +
library/md_wrap.c | 76 +++++++++++++++-
library/sha1.c | 4 +
library/sha2.c | 4 +
library/sha4.c | 4 +
library/x509parse.c | 97 ++++++++++----------
tests/suites/test_suite_aes.data | 1 +
tests/suites/test_suite_arc4.data | 1 +
tests/suites/test_suite_base64.data | 1 +
tests/suites/test_suite_camellia.data | 1 +
tests/suites/test_suite_cipher.data | 1 +
tests/suites/test_suite_debug.data | 2 +-
tests/suites/test_suite_des.data | 1 +
tests/suites/test_suite_md.data | 64 +++++++-------
tests/suites/test_suite_mdx.data | 14 +--
tests/suites/test_suite_mpi.data | 5 ++
tests/suites/test_suite_rsa.data | 1 +
tests/suites/test_suite_shax.data | 31 ++++++-
tests/suites/test_suite_x509parse.data | 118 ++++++++++++-------------
26 files changed, 306 insertions(+), 152 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e1b31df75..88db5f312 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,8 @@ Features
* Added additional Cipher Block Modes to symmetric ciphers
(AES CTR, Camellia CTR, XTEA CBC) including the option to
enable and disable individual modes when needed
+ * Functions requiring File System functions can now be disabled
+ by undefining POLARSSL_FS_IO
Changes
* Major argument / variable rewrite. Introduced use of size_t
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 3f8d52fcc..cf3eb9a2c 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -143,6 +143,13 @@
*/
#define POLARSSL_GENPRIME
+/**
+ * \def POLARSSL_FS_IO
+ *
+ * Enable functions that use the filesystem.
+ */
+#define POLARSSL_FS_IO
+
/**
* \def POLARSSL_PKCS1_V21
*
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index 9bda3ee57..57a0d6a90 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -36,6 +36,8 @@
#define inline _inline
#endif
+#define POLARSSL_ERR_MD_FEATURE_UNAVAILABLE -0x0830
+
typedef enum {
POLARSSL_MD_NONE=0,
POLARSSL_MD_MD2,
diff --git a/library/bignum.c b/library/bignum.c
index a2b132d65..8f29324e4 100644
--- a/library/bignum.c
+++ b/library/bignum.c
@@ -407,6 +407,7 @@ cleanup:
return( ret );
}
+#if defined(POLARSSL_FS_IO)
/*
* Read X from an opened file
*/
@@ -468,6 +469,7 @@ cleanup:
return( ret );
}
+#endif /* POLARSSL_FS_IO */
/*
* Import X from unsigned binary data, big endian
diff --git a/library/md.c b/library/md.c
index dcdf7c9cb..cb720bb81 100644
--- a/library/md.c
+++ b/library/md.c
@@ -225,7 +225,14 @@ int md_file( const md_info_t *md_info, const char *path, unsigned char *output )
if( md_info == NULL )
return 3;
+#if defined(POLARSSL_FS_IO)
return md_info->file_func( path, output );
+#else
+ ((void) path);
+ ((void) output);
+
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
int md_hmac_starts( md_context_t *ctx, const unsigned char *key, size_t keylen )
diff --git a/library/md2.c b/library/md2.c
index 4daea580d..de64d70a9 100644
--- a/library/md2.c
+++ b/library/md2.c
@@ -35,7 +35,9 @@
#include "polarssl/md2.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
static const unsigned char PI_SUBST[256] =
{
@@ -175,6 +177,7 @@ void md2( const unsigned char *input, size_t ilen, unsigned char output[16] )
memset( &ctx, 0, sizeof( md2_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = MD2( file contents )
*/
@@ -206,6 +209,7 @@ int md2_file( const char *path, unsigned char output[16] )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* MD2 HMAC context setup
diff --git a/library/md4.c b/library/md4.c
index 36948991c..2b5fcff8e 100644
--- a/library/md4.c
+++ b/library/md4.c
@@ -35,7 +35,9 @@
#include "polarssl/md4.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
/*
* 32-bit integer manipulation macros (little endian)
@@ -271,6 +273,7 @@ void md4( const unsigned char *input, size_t ilen, unsigned char output[16] )
memset( &ctx, 0, sizeof( md4_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = MD4( file contents )
*/
@@ -302,6 +305,7 @@ int md4_file( const char *path, unsigned char output[16] )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* MD4 HMAC context setup
diff --git a/library/md5.c b/library/md5.c
index f37999215..a7faa8db1 100644
--- a/library/md5.c
+++ b/library/md5.c
@@ -34,7 +34,9 @@
#include "polarssl/md5.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
/*
* 32-bit integer manipulation macros (little endian)
@@ -290,6 +292,7 @@ void md5( const unsigned char *input, size_t ilen, unsigned char output[16] )
memset( &ctx, 0, sizeof( md5_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = MD5( file contents )
*/
@@ -321,6 +324,7 @@ int md5_file( const char *path, unsigned char output[16] )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* MD5 HMAC context setup
diff --git a/library/md_wrap.c b/library/md_wrap.c
index bb87c63b9..64d8bb673 100644
--- a/library/md_wrap.c
+++ b/library/md_wrap.c
@@ -58,6 +58,17 @@ static void md2_finish_wrap( void *ctx, unsigned char *output )
md2_finish( (md2_context *) ctx, output );
}
+int md2_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md2_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
static void md2_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md2_hmac_starts( (md2_context *) ctx, key, keylen );
@@ -96,7 +107,7 @@ const md_info_t md2_info = {
md2_update_wrap,
md2_finish_wrap,
md2,
- md2_file,
+ md2_file_wrap,
md2_hmac_starts_wrap,
md2_hmac_update_wrap,
md2_hmac_finish_wrap,
@@ -125,6 +136,17 @@ void md4_finish_wrap( void *ctx, unsigned char *output )
md4_finish( (md4_context *) ctx, output );
}
+int md4_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md4_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
void md4_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md4_hmac_starts( (md4_context *) ctx, key, keylen );
@@ -163,7 +185,7 @@ const md_info_t md4_info = {
md4_update_wrap,
md4_finish_wrap,
md4,
- md4_file,
+ md4_file_wrap,
md4_hmac_starts_wrap,
md4_hmac_update_wrap,
md4_hmac_finish_wrap,
@@ -192,6 +214,17 @@ static void md5_finish_wrap( void *ctx, unsigned char *output )
md5_finish( (md5_context *) ctx, output );
}
+int md5_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return md5_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
static void md5_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
md5_hmac_starts( (md5_context *) ctx, key, keylen );
@@ -230,7 +263,7 @@ const md_info_t md5_info = {
md5_update_wrap,
md5_finish_wrap,
md5,
- md5_file,
+ md5_file_wrap,
md5_hmac_starts_wrap,
md5_hmac_update_wrap,
md5_hmac_finish_wrap,
@@ -259,6 +292,17 @@ void sha1_finish_wrap( void *ctx, unsigned char *output )
sha1_finish( (sha1_context *) ctx, output );
}
+int sha1_file_wrap( const char *path, unsigned char *output )
+{
+#if defined(POLARSSL_FS_IO)
+ return sha1_file( path, output );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
+}
+
void sha1_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
{
sha1_hmac_starts( (sha1_context *) ctx, key, keylen );
@@ -297,7 +341,7 @@ const md_info_t sha1_info = {
sha1_update_wrap,
sha1_finish_wrap,
sha1,
- sha1_file,
+ sha1_file_wrap,
sha1_hmac_starts_wrap,
sha1_hmac_update_wrap,
sha1_hmac_finish_wrap,
@@ -337,7 +381,13 @@ void sha224_wrap( const unsigned char *input, size_t ilen,
int sha224_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha2_file( path, output, 1 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha224_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -418,7 +468,13 @@ void sha256_wrap( const unsigned char *input, size_t ilen,
int sha256_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha2_file( path, output, 0 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha256_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -503,7 +559,13 @@ void sha384_wrap( const unsigned char *input, size_t ilen,
int sha384_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha4_file( path, output, 1 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha384_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
@@ -584,7 +646,13 @@ void sha512_wrap( const unsigned char *input, size_t ilen,
int sha512_file_wrap( const char *path, unsigned char *output )
{
+#if defined(POLARSSL_FS_IO)
return sha4_file( path, output, 0 );
+#else
+ ((void) path);
+ ((void) output);
+ return POLARSSL_ERR_MD_FEATURE_UNAVAILABLE;
+#endif
}
void sha512_hmac_starts_wrap( void *ctx, const unsigned char *key, size_t keylen )
diff --git a/library/sha1.c b/library/sha1.c
index 5f625839f..b65ab24aa 100644
--- a/library/sha1.c
+++ b/library/sha1.c
@@ -34,7 +34,9 @@
#include "polarssl/sha1.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
/*
* 32-bit integer manipulation macros (big endian)
@@ -325,6 +327,7 @@ void sha1( const unsigned char *input, size_t ilen, unsigned char output[20] )
memset( &ctx, 0, sizeof( sha1_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = SHA-1( file contents )
*/
@@ -356,6 +359,7 @@ int sha1_file( const char *path, unsigned char output[20] )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* SHA-1 HMAC context setup
diff --git a/library/sha2.c b/library/sha2.c
index 64ebc43d5..385c04818 100644
--- a/library/sha2.c
+++ b/library/sha2.c
@@ -34,7 +34,9 @@
#include "polarssl/sha2.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
/*
* 32-bit integer manipulation macros (big endian)
@@ -327,6 +329,7 @@ void sha2( const unsigned char *input, size_t ilen,
memset( &ctx, 0, sizeof( sha2_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = SHA-256( file contents )
*/
@@ -358,6 +361,7 @@ int sha2_file( const char *path, unsigned char output[32], int is224 )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* SHA-256 HMAC context setup
diff --git a/library/sha4.c b/library/sha4.c
index bbb3108f7..e0232376a 100644
--- a/library/sha4.c
+++ b/library/sha4.c
@@ -34,7 +34,9 @@
#include "polarssl/sha4.h"
+#if defined(POLARSSL_FS_IO) || defined(POLARSSL_SELF_TEST)
#include
+#endif
/*
* 64-bit integer manipulation macros (big endian)
@@ -325,6 +327,7 @@ void sha4( const unsigned char *input, size_t ilen,
memset( &ctx, 0, sizeof( sha4_context ) );
}
+#if defined(POLARSSL_FS_IO)
/*
* output = SHA-512( file contents )
*/
@@ -356,6 +359,7 @@ int sha4_file( const char *path, unsigned char output[64], int is384 )
fclose( f );
return( 0 );
}
+#endif /* POLARSSL_FS_IO */
/*
* SHA-512 HMAC context setup
diff --git a/library/x509parse.c b/library/x509parse.c
index c6a9245af..3a6753963 100644
--- a/library/x509parse.c
+++ b/library/x509parse.c
@@ -51,9 +51,12 @@
#include
#include
-#include
#include
+#if defined(POLARSSL_FS_IO)
+#include
+#endif
+
/*
* ASN.1 DER decoding routines
*/
@@ -1739,6 +1742,7 @@ int x509parse_crl( x509_crl *chain, const unsigned char *buf, size_t buflen )
return( 0 );
}
+#if defined(POLARSSL_FS_IO)
/*
* Load all data from a file into a given buffer.
*/
@@ -1810,6 +1814,51 @@ int x509parse_crlfile( x509_crl *chain, const char *path )
return( ret );
}
+/*
+ * Load and parse a private RSA key
+ */
+int x509parse_keyfile( rsa_context *rsa, const char *path, const char *pwd )
+{
+ int ret;
+ size_t n;
+ unsigned char *buf;
+
+ if ( load_file( path, &buf, &n ) )
+ return( 1 );
+
+ if( pwd == NULL )
+ ret = x509parse_key( rsa, buf, (int) n, NULL, 0 );
+ else
+ ret = x509parse_key( rsa, buf, (int) n,
+ (unsigned char *) pwd, strlen( pwd ) );
+
+ memset( buf, 0, n + 1 );
+ free( buf );
+
+ return( ret );
+}
+
+/*
+ * Load and parse a public RSA key
+ */
+int x509parse_public_keyfile( rsa_context *rsa, const char *path )
+{
+ int ret;
+ size_t n;
+ unsigned char *buf;
+
+ if ( load_file( path, &buf, &n ) )
+ return( 1 );
+
+ ret = x509parse_public_key( rsa, buf, (int) n );
+
+ memset( buf, 0, n + 1 );
+ free( buf );
+
+ return( ret );
+}
+#endif /* POLARSSL_FS_IO */
+
/*
* Parse a private RSA key
*/
@@ -1935,30 +1984,6 @@ int x509parse_key( rsa_context *rsa, const unsigned char *key, size_t keylen,
return( 0 );
}
-/*
- * Load and parse a private RSA key
- */
-int x509parse_keyfile( rsa_context *rsa, const char *path, const char *pwd )
-{
- int ret;
- size_t n;
- unsigned char *buf;
-
- if ( load_file( path, &buf, &n ) )
- return( 1 );
-
- if( pwd == NULL )
- ret = x509parse_key( rsa, buf, (int) n, NULL, 0 );
- else
- ret = x509parse_key( rsa, buf, (int) n,
- (unsigned char *) pwd, strlen( pwd ) );
-
- memset( buf, 0, n + 1 );
- free( buf );
-
- return( ret );
-}
-
/*
* Parse a public RSA key
*/
@@ -2050,26 +2075,6 @@ int x509parse_public_key( rsa_context *rsa, const unsigned char *key, size_t key
return( 0 );
}
-/*
- * Load and parse a public RSA key
- */
-int x509parse_public_keyfile( rsa_context *rsa, const char *path )
-{
- int ret;
- size_t n;
- unsigned char *buf;
-
- if ( load_file( path, &buf, &n ) )
- return( 1 );
-
- ret = x509parse_public_key( rsa, buf, (int) n );
-
- memset( buf, 0, n + 1 );
- free( buf );
-
- return( ret );
-}
-
#if defined(POLARSSL_DHM_C)
/*
* Parse DHM parameters
@@ -2154,6 +2159,7 @@ int x509parse_dhm( dhm_context *dhm, const unsigned char *dhmin, size_t dhminlen
return( 0 );
}
+#if defined(POLARSSL_FS_IO)
/*
* Load and parse a private RSA key
*/
@@ -2173,6 +2179,7 @@ int x509parse_dhmfile( dhm_context *dhm, const char *path )
return( ret );
}
+#endif /* POLARSSL_FS_IO */
#endif /* POLARSSL_DHM_C */
#if defined _MSC_VER && !defined snprintf
diff --git a/tests/suites/test_suite_aes.data b/tests/suites/test_suite_aes.data
index bbdfc3fca..0849f75e4 100644
--- a/tests/suites/test_suite_aes.data
+++ b/tests/suites/test_suite_aes.data
@@ -746,4 +746,5 @@ AES-256-CBC Decrypt (Invalid input length)
aes_decrypt_cbc:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"623a52fcea5d443e48d9181ab32c74":"":POLARSSL_ERR_AES_INVALID_INPUT_LENGTH
AES Selftest
+depends_on:POLARSSL_SELF_TEST
aes_selftest:
diff --git a/tests/suites/test_suite_arc4.data b/tests/suites/test_suite_arc4.data
index 8f354252a..bfb5648e1 100644
--- a/tests/suites/test_suite_arc4.data
+++ b/tests/suites/test_suite_arc4.data
@@ -8,4 +8,5 @@ Test vector ARC4 [SSH ARCFOUR]
arc4_crypt:"527569736c696e6e756e206c61756c75206b6f727669737373616e692c2074e4686be470e46964656e2070e4e46c6ce42074e47973696b75752e204b6573e479f66e206f6e206f6e6e69206f6d616e616e692c206b61736b6973617675756e206c61616b736f7420766572686f75752e20456e206d6120696c6f697473652c20737572652068756f6b61612c206d75747461206d657473e46e2074756d6d757573206d756c6c652074756f6b61612e205075756e746f2070696c76656e2c206d692068756b6b75752c207369696e746f20766172616e207475756c6973656e2c206d69206e756b6b75752e2054756f6b7375742076616e616d6f6e206a61207661726a6f74207665656e2c206e69697374e420737964e46d656e69206c61756c756e207465656e2e202d2045696e6f204c65696e6f":"29041972fb42ba5fc7127712f13829c9":"358186999001e6b5daf05eceeb7eee21e0689c1f00eea81f7dd2caaee1d2763e68af0ead33d66c268bc946c484fbe94c5f5e0b86a59279e4f824e7a640bd223210b0a61160b7bce986ea65688003596b630a6b90f8e0caf6912a98eb872176e83c202caa64166d2cce57ff1bca57b213f0ed1aa72fb8ea52b0be01cd1e412867720b326eb389d011bd70d8af035fb0d8589dbce3c666f5ea8d4c7954c50c3f340b0467f81b425961c11843074df620f208404b394cf9d37ff54b5f1ad8f6ea7da3c561dfa7281f964463d2cc35a4d1b03490dec51b0711fbd6f55f79234d5b7c766622a66de92be996461d5e4dc878ef9bca030521e8351e4baed2fd04f9467368c4ad6ac186d08245b263a2666d1f6c5420f1599dfd9f438921c2f5a463938ce0982265eef70179bc553f339eb1a4c1af5f6a547f"
ARC4 Selftest
+depends_on:POLARSSL_SELF_TEST
arc4_selftest:
diff --git a/tests/suites/test_suite_base64.data b/tests/suites/test_suite_base64.data
index c12ba28e3..c400ccbd7 100644
--- a/tests/suites/test_suite_base64.data
+++ b/tests/suites/test_suite_base64.data
@@ -56,4 +56,5 @@ Base64 decode (Invalid char after equal signs)
base64_decode:"zm=masd":"":POLARSSL_ERR_BASE64_INVALID_CHARACTER
Base64 Selftest
+depends_on:POLARSSL_SELF_TEST
base64_selftest:
diff --git a/tests/suites/test_suite_camellia.data b/tests/suites/test_suite_camellia.data
index 51f556607..2459af1c6 100644
--- a/tests/suites/test_suite_camellia.data
+++ b/tests/suites/test_suite_camellia.data
@@ -197,4 +197,5 @@ Camellia-256-CBC Decrypt (Invalid input length)
camellia_decrypt_cbc:"0000000000000000000000000000000000000000000000000000000000000000":"00000000000000000000000000000000":"623a52fcea5d443e48d9181ab32c74":"":POLARSSL_ERR_CAMELLIA_INVALID_INPUT_LENGTH
Camellia Selftest
+depends_on:POLARSSL_SELF_TEST
camellia_selftest:
diff --git a/tests/suites/test_suite_cipher.data b/tests/suites/test_suite_cipher.data
index 758aa84df..08f13d7b8 100644
--- a/tests/suites/test_suite_cipher.data
+++ b/tests/suites/test_suite_cipher.data
@@ -1,4 +1,5 @@
Cipher Selftest
+depends_on:POLARSSL_SELF_TEST
cipher_selftest:
Decrypt empty buffer
diff --git a/tests/suites/test_suite_debug.data b/tests/suites/test_suite_debug.data
index 31adc0e80..eccf37479 100644
--- a/tests/suites/test_suite_debug.data
+++ b/tests/suites/test_suite_debug.data
@@ -1,5 +1,5 @@
Debug print certificate #1
-depends_on:POLARSSL_DEBUG_C:POLARSSL_PEM_C
+depends_on:POLARSSL_DEBUG_C:POLARSSL_PEM_C:POLARSSL_FS_IO
debug_print_crt:"data_files/server1.crt":"MyFile":999:"PREFIX_":"MyFile(0999)\: PREFIX_ #1\:\nMyFile(0999)\: cert. version \: 3\nMyFile(0999)\: serial number \: 01\nMyFile(0999)\: issuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nMyFile(0999)\: subject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nMyFile(0999)\: issued on \: 2011-02-12 14\:44\:06\nMyFile(0999)\: expires on \: 2021-02-12 14\:44\:06\nMyFile(0999)\: signed using \: RSA+SHA1\nMyFile(0999)\: RSA key size \: 2048 bits\nMyFile(0999)\: value of 'crt->rsa.N' (2048 bits) is\:\nMyFile(0999)\: a9 02 1f 3d 40 6a d5 55 53 8b fd 36 ee 82 65 2e\nMyFile(0999)\: 15 61 5e 89 bf b8 e8 45 90 db ee 88 16 52 d3 f1\nMyFile(0999)\: 43 50 47 96 12 59 64 87 6b fd 2b e0 46 f9 73 be\nMyFile(0999)\: dd cf 92 e1 91 5b ed 66 a0 6f 89 29 79 45 80 d0\nMyFile(0999)\: 83 6a d5 41 43 77 5f 39 7c 09 04 47 82 b0 57 39\nMyFile(0999)\: 70 ed a3 ec 15 19 1e a8 33 08 47 c1 05 42 a9 fd\nMyFile(0999)\: 4c c3 b4 df dd 06 1f 4d 10 51 40 67 73 13 0f 40\nMyFile(0999)\: f8 6d 81 25 5f 0a b1 53 c6 30 7e 15 39 ac f9 5a\nMyFile(0999)\: ee 7f 92 9e a6 05 5b e7 13 97 85 b5 23 92 d9 d4\nMyFile(0999)\: 24 06 d5 09 25 89 75 07 dd a6 1a 8f 3f 09 19 be\nMyFile(0999)\: ad 65 2c 64 eb 95 9b dc fe 41 5e 17 a6 da 6c 5b\nMyFile(0999)\: 69 cc 02 ba 14 2c 16 24 9c 4a dc cd d0 f7 52 67\nMyFile(0999)\: 73 f1 2d a0 23 fd 7e f4 31 ca 2d 70 ca 89 0b 04\nMyFile(0999)\: db 2e a6 4f 70 6e 9e ce bd 58 89 e2 53 59 9e 6e\nMyFile(0999)\: 5a 92 65 e2 88 3f 0c 94 19 a3 dd e5 e8 9d 95 13\nMyFile(0999)\: ed 29 db ab 70 12 dc 5a ca 6b 17 ab 52 82 54 b1\nMyFile(0999)\: value of 'crt->rsa.E' (17 bits) is\:\nMyFile(0999)\: 01 00 01\n"
Debug print mpi #1
diff --git a/tests/suites/test_suite_des.data b/tests/suites/test_suite_des.data
index 729164905..344ad30f0 100644
--- a/tests/suites/test_suite_des.data
+++ b/tests/suites/test_suite_des.data
@@ -236,4 +236,5 @@ Run through parity bit tests
des_key_parity_run:
DES Selftest
+depends_on:POLARSSL_SELF_TEST
des_selftest:
diff --git a/tests/suites/test_suite_md.data b/tests/suites/test_suite_md.data
index 841700259..2b5de52a6 100644
--- a/tests/suites/test_suite_md.data
+++ b/tests/suites/test_suite_md.data
@@ -295,51 +295,51 @@ depends_on:POLARSSL_MD5_C
md_hmac_multi:"md5":16:"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa":"54657374205573696e67204c6172676572205468616e20426c6f636b2d53697a65204b657920616e64204c6172676572205468616e204f6e6520426c6f636b2d53697a652044617461":"6f630fad67cda0ee1fb1f562db3aa53e"
generic MD2 Hash file #1
-depends_on:POLARSSL_MD2_C
+depends_on:POLARSSL_MD2_C:POLARSSL_FS_IO
md_file:"md2":"data_files/hash_file_1":"b593c098712d2e21628c8986695451a8"
generic MD2 Hash file #2
-depends_on:POLARSSL_MD2_C
+depends_on:POLARSSL_MD2_C:POLARSSL_FS_IO
md_file:"md2":"data_files/hash_file_2":"3c027b7409909a4c4b26bbab69ad9f4f"
generic MD2 Hash file #3
-depends_on:POLARSSL_MD2_C
+depends_on:POLARSSL_MD2_C:POLARSSL_FS_IO
md_file:"md2":"data_files/hash_file_3":"6bb43eb285e81f414083a94cdbe2989d"
generic MD2 Hash file #4
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO
md_file:"md2":"data_files/hash_file_4":"8350e5a3e24c153df2275c9f80692773"
generic MD4 Hash file #1
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO
md_file:"md4":"data_files/hash_file_1":"8d19772c176bd27153b9486715e2c0b9"
generic MD4 Hash file #2
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO
md_file:"md4":"data_files/hash_file_2":"f2ac53b8542882a5a0007c6f84b4d9fd"
generic MD4 Hash file #3
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO
md_file:"md4":"data_files/hash_file_3":"195c15158e2d07881d9a654095ce4a42"
generic MD4 Hash file #4
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_FS_IO
md_file:"md4":"data_files/hash_file_4":"31d6cfe0d16ae931b73c59d7e0c089c0"
generic MD5 Hash file #1
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md_file:"md5":"data_files/hash_file_1":"52bcdc983c9ed64fc148a759b3c7a415"
generic MD5 Hash file #2
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md_file:"md5":"data_files/hash_file_2":"d17d466f15891df10542207ae78277f0"
generic MD5 Hash file #3
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md_file:"md5":"data_files/hash_file_3":"d945bcc6200ea95d061a2a818167d920"
generic MD5 Hash file #4
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md_file:"md5":"data_files/hash_file_4":"d41d8cd98f00b204e9800998ecf8427e"
generic HMAC-SHA-1 Test Vector FIPS-198a #1
@@ -951,81 +951,81 @@ depends_on:POLARSSL_SHA4_C
md_hex_multi:"sha512":"990d1ae71a62d7bda9bfdaa1762a68d296eee72a4cd946f287a898fbabc002ea941fd8d4d991030b4d27a637cce501a834bb95eab1b7889a3e784c7968e67cbf552006b206b68f76d9191327524fcc251aeb56af483d10b4e0c6c5e599ee8c0fe4faeca8293844a8547c6a9a90d093f2526873a19ad4a5e776794c68c742fb834793d2dfcb7fea46c63af4b70fd11cb6e41834e72ee40edb067b292a794990c288d5007e73f349fb383af6a756b8301ad6e5e0aa8cd614399bb3a452376b1575afa6bdaeaafc286cb064bb91edef97c632b6c1113d107fa93a0905098a105043c2f05397f702514439a08a9e5ddc196100721d45c8fc17d2ed659376f8a00bd5cb9a0860e26d8a29d8d6aaf52de97e9346033d6db501a35dbbaf97c20b830cd2d18c2532f3a59cc497ee64c0e57d8d060e5069b28d86edf1adcf59144b221ce3ddaef134b3124fbc7dd000240eff0f5f5f41e83cd7f5bb37c9ae21953fe302b0f6e8b68fa91c6ab99265c64b2fd9cd4942be04321bb5d6d71932376c6f2f88e02422ba6a5e2cb765df93fd5dd0728c6abdaf03bce22e0678a544e2c3636f741b6f4447ee58a8fc656b43ef817932176adbfc2e04b2c812c273cd6cbfa4098f0be036a34221fa02643f5ee2e0b38135f2a18ecd2f16ebc45f8eb31b8ab967a1567ee016904188910861ca1fa205c7adaa194b286893ffe2f4fbe0384c2aef72a4522aeafd3ebc71f9db71eeeef86c48394a1c86d5b36c352cc33a0a2c800bc99e62fd65b3a2fd69e0b53996ec13d8ce483ce9319efd9a85acefabdb5342226febb83fd1daf4b24265f50c61c6de74077ef89b6fecf9f29a1f871af1e9f89b2d345cda7499bd45c42fa5d195a1e1a6ba84851889e730da3b2b916e96152ae0c92154b49719841db7e7cc707ba8a5d7b101eb4ac7b629bb327817910fff61580b59aab78182d1a2e33473d05b00b170b29e331870826cfe45af206aa7d0246bbd8566ca7cfb2d3c10bfa1db7dd48dd786036469ce7282093d78b5e1a5b0fc81a54c8ed4ceac1e5305305e78284ac276f5d7862727aff246e17addde50c670028d572cbfc0be2e4f8b2eb28fa68ad7b4c6c2a239c460441bfb5ea049f23b08563b4e47729a59e5986a61a6093dbd54f8c36ebe87edae01f251cb060ad1364ce677d7e8d5a4a4ca966a7241cc360bc2acb280e5f9e9c1b032ad6a180a35e0c5180b9d16d026c865b252098cc1d99ba7375ca31c7702c0d943d5e3dd2f6861fa55bd46d94b67ed3e52eccd8dd06d968e01897d6de97ed3058d91dd":"8e4bc6f8b8c60fe4d68c61d9b159c8693c3151c46749af58da228442d927f23359bd6ccd6c2ec8fa3f00a86cecbfa728e1ad60b821ed22fcd309ba91a4138bc9"
generic SHA1 Hash file #1
-depends_on:POLARSSL_SHA1_C
+depends_on:POLARSSL_SHA1_C:POLARSSL_FS_IO
md_file:"sha1":"data_files/hash_file_1":"d21c965b1e768bd7a6aa6869f5f821901d255f9f"
generic SHA1 Hash file #2
-depends_on:POLARSSL_SHA1_C
+depends_on:POLARSSL_SHA1_C:POLARSSL_FS_IO
md_file:"sha1":"data_files/hash_file_2":"353f34271f2aef49d23a8913d4a6bd82b2cecdc6"
generic SHA1 Hash file #3
-depends_on:POLARSSL_SHA1_C
+depends_on:POLARSSL_SHA1_C:POLARSSL_FS_IO
md_file:"sha1":"data_files/hash_file_3":"93640ed592076328096270c756db2fba9c486b35"
generic SHA1 Hash file #4
-depends_on:POLARSSL_SHA1_C
+depends_on:POLARSSL_SHA1_C:POLARSSL_FS_IO
md_file:"sha1":"data_files/hash_file_4":"da39a3ee5e6b4b0d3255bfef95601890afd80709"
generic SHA-224 Hash file #1
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha224":"data_files/hash_file_1":"8606da018870f0c16834a21bc3385704cb1683b9dbab04c5ddb90a48"
generic SHA-224 Hash file #2
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha224":"data_files/hash_file_2":"733b2ab97b6f63f2e29b9a2089756d81e14c93fe4cc9615c0d5e8a03"
generic SHA-224 Hash file #3
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha224":"data_files/hash_file_3":"e1df95867580e2cc2100e9565bf9c2e42c24fe5250c19efe33d1c4fe"
generic SHA-224 Hash file #4
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha224":"data_files/hash_file_4":"d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f"
generic SHA-256 Hash file #1
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha256":"data_files/hash_file_1":"975d0c620d3936886f8a3665e585a3e84aa0501f4225bf53029710242823e391"
generic SHA-256 Hash file #2
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha256":"data_files/hash_file_2":"11fcbf1baa36ca45745f10cc5467aee86f066f80ba2c46806d876bf783022ad2"
generic SHA-256 Hash file #3
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha256":"data_files/hash_file_3":"9ae4b369f9f4f03b86505b46a5469542e00aaff7cf7417a71af6d6d0aba3b70c"
generic SHA-256 Hash file #4
-depends_on:POLARSSL_SHA2_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_FS_IO
md_file:"sha256":"data_files/hash_file_4":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
generic SHA-384 Hash file #1
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha384":"data_files/hash_file_1":"e0a3e6259d6378001b54ef82f5dd087009c5fad86d8db226a9fe1d14ecbe33a6fc916e3a4b16f5f286424de15d5a8e0e"
generic SHA-384 Hash file #2
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha384":"data_files/hash_file_2":"eff727afc8495c92e2f370f97a317f93c3350324b0646b0f0e264708b3c97d3d332d3c5390e1e47130f5c92f1ef4b9cf"
generic SHA-384 Hash file #3
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha384":"data_files/hash_file_3":"6fc10ebda96a1ccf61777cac72f6034f92533d42052a4bf9f9d929c672973c71e5aeb1213268043c21527ac0f7f349c4"
generic SHA-384 Hash file #4
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha384":"data_files/hash_file_4":"38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"
generic SHA-512 Hash file #1
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha512":"data_files/hash_file_1":"d8207a2e1ff2b424f2c4163fe1b723c9bd42e464061eb411e8df730bcd24a7ab3956a6f3ff044a52eb2d262f9e4ca6b524092b544ab78f14d6f9c4cc8ddf335a"
generic SHA-512 Hash file #2
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha512":"data_files/hash_file_2":"ecbb7f0ed8a702b49f16ad3088bcc06ea93451912a7187db15f64d93517b09630b039293aed418d4a00695777b758b1f381548c2fd7b92ce5ed996b32c8734e7"
generic SHA-512 Hash file #3
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha512":"data_files/hash_file_3":"7ccc9b2da71ffde9966c3ce44d7f20945fccf33b1fade4da152b021f1afcc7293382944aa6c09eac67af25f22026758e2bf6bed86ae2a43592677ee50f8eea41"
generic SHA-512 Hash file #4
-depends_on:POLARSSL_SHA4_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_FS_IO
md_file:"sha512":"data_files/hash_file_4":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
diff --git a/tests/suites/test_suite_mdx.data b/tests/suites/test_suite_mdx.data
index 81e9facea..f8d5af172 100644
--- a/tests/suites/test_suite_mdx.data
+++ b/tests/suites/test_suite_mdx.data
@@ -179,29 +179,29 @@ depends_on:POLARSSL_MD4_C
md4_file:"data_files/hash_file_4":"31d6cfe0d16ae931b73c59d7e0c089c0"
MD5 Hash file #1
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md5_file:"data_files/hash_file_1":"52bcdc983c9ed64fc148a759b3c7a415"
MD5 Hash file #2
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md5_file:"data_files/hash_file_2":"d17d466f15891df10542207ae78277f0"
MD5 Hash file #3
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md5_file:"data_files/hash_file_3":"d945bcc6200ea95d061a2a818167d920"
MD5 Hash file #4
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_FS_IO
md5_file:"data_files/hash_file_4":"d41d8cd98f00b204e9800998ecf8427e"
MD2 Selftest
-depends_on:POLARSSL_MD2_C
+depends_on:POLARSSL_MD2_C:POLARSSL_SELF_TEST
md2_selftest:
MD4 Selftest
-depends_on:POLARSSL_MD4_C
+depends_on:POLARSSL_MD4_C:POLARSSL_SELF_TEST
md4_selftest:
MD5 Selftest
-depends_on:POLARSSL_MD5_C
+depends_on:POLARSSL_MD5_C:POLARSSL_SELF_TEST
md5_selftest:
diff --git a/tests/suites/test_suite_mpi.data b/tests/suites/test_suite_mpi.data
index ee568078c..889f73de5 100644
--- a/tests/suites/test_suite_mpi.data
+++ b/tests/suites/test_suite_mpi.data
@@ -50,15 +50,19 @@ Test mpi_write_binary #2 (Buffer too small)
mpi_write_binary:16:"123123123123123123123123123":"123123123123123123123123123":13:POLARSSL_ERR_MPI_BUFFER_TOO_SMALL
Base test mpi_read_file #1
+depends_on:POLARSSL_FS_IO
mpi_read_file:10:"data_files/mpi_10":"01f55332c3a48b910f9942f6c914e58bef37a47ee45cb164a5b6b8d1006bf59a059c21449939ebebfdf517d2e1dbac88010d7b1f141e997bd6801ddaec9d05910f4f2de2b2c4d714e2c14a72fc7f17aa428d59c531627f09":0
Test mpi_read_file #1 (Empty file)
+depends_on:POLARSSL_FS_IO
mpi_read_file:10:"data_files/hash_file_4":"":POLARSSL_ERR_MPI_FILE_IO_ERROR
Test mpi_read_file #2 (Illegal input)
+depends_on:POLARSSL_FS_IO
mpi_read_file:10:"data_files/hash_file_3":"":0
Base test mpi_write_file #1
+depends_on:POLARSSL_FS_IO
mpi_write_file:10:"56125680981752282334141896320372489490613963693556392520816017892111350604111697682705498319512049040516698827829292076808006940873974979584527073481012636016353913462376755556720019831187364993587901952757307830896531678727717924":16:"data_files/mpi_write":0
Base test mpi_lsb #1
@@ -515,4 +519,5 @@ Test mpi_is_prime #20
mpi_is_prime:10:"49979687":0
MPI Selftest
+depends_on:POLARSSL_SELF_TEST
mpi_selftest:
diff --git a/tests/suites/test_suite_rsa.data b/tests/suites/test_suite_rsa.data
index dd3573cec..dcc8b758a 100644
--- a/tests/suites/test_suite_rsa.data
+++ b/tests/suites/test_suite_rsa.data
@@ -278,4 +278,5 @@ RSA PKCS1 Encrypt Bad RNG
rsa_pkcs1_encrypt_bad_rng:"4E636AF98E40F3ADCFCCB698F4E80B9F":RSA_PKCS_V15:2048:16:"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":16:"3":"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404fea284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":POLARSSL_ERR_RSA_RNG_FAILED
RSA Selftest
+depends_on:POLARSSL_SELF_TEST
rsa_selftest:
diff --git a/tests/suites/test_suite_shax.data b/tests/suites/test_suite_shax.data
index 790b99e22..54826799d 100644
--- a/tests/suites/test_suite_shax.data
+++ b/tests/suites/test_suite_shax.data
@@ -119,70 +119,93 @@ SHA-512 Test Vector NIST CAVS #8
sha512:"990d1ae71a62d7bda9bfdaa1762a68d296eee72a4cd946f287a898fbabc002ea941fd8d4d991030b4d27a637cce501a834bb95eab1b7889a3e784c7968e67cbf552006b206b68f76d9191327524fcc251aeb56af483d10b4e0c6c5e599ee8c0fe4faeca8293844a8547c6a9a90d093f2526873a19ad4a5e776794c68c742fb834793d2dfcb7fea46c63af4b70fd11cb6e41834e72ee40edb067b292a794990c288d5007e73f349fb383af6a756b8301ad6e5e0aa8cd614399bb3a452376b1575afa6bdaeaafc286cb064bb91edef97c632b6c1113d107fa93a0905098a105043c2f05397f702514439a08a9e5ddc196100721d45c8fc17d2ed659376f8a00bd5cb9a0860e26d8a29d8d6aaf52de97e9346033d6db501a35dbbaf97c20b830cd2d18c2532f3a59cc497ee64c0e57d8d060e5069b28d86edf1adcf59144b221ce3ddaef134b3124fbc7dd000240eff0f5f5f41e83cd7f5bb37c9ae21953fe302b0f6e8b68fa91c6ab99265c64b2fd9cd4942be04321bb5d6d71932376c6f2f88e02422ba6a5e2cb765df93fd5dd0728c6abdaf03bce22e0678a544e2c3636f741b6f4447ee58a8fc656b43ef817932176adbfc2e04b2c812c273cd6cbfa4098f0be036a34221fa02643f5ee2e0b38135f2a18ecd2f16ebc45f8eb31b8ab967a1567ee016904188910861ca1fa205c7adaa194b286893ffe2f4fbe0384c2aef72a4522aeafd3ebc71f9db71eeeef86c48394a1c86d5b36c352cc33a0a2c800bc99e62fd65b3a2fd69e0b53996ec13d8ce483ce9319efd9a85acefabdb5342226febb83fd1daf4b24265f50c61c6de74077ef89b6fecf9f29a1f871af1e9f89b2d345cda7499bd45c42fa5d195a1e1a6ba84851889e730da3b2b916e96152ae0c92154b49719841db7e7cc707ba8a5d7b101eb4ac7b629bb327817910fff61580b59aab78182d1a2e33473d05b00b170b29e331870826cfe45af206aa7d0246bbd8566ca7cfb2d3c10bfa1db7dd48dd786036469ce7282093d78b5e1a5b0fc81a54c8ed4ceac1e5305305e78284ac276f5d7862727aff246e17addde50c670028d572cbfc0be2e4f8b2eb28fa68ad7b4c6c2a239c460441bfb5ea049f23b08563b4e47729a59e5986a61a6093dbd54f8c36ebe87edae01f251cb060ad1364ce677d7e8d5a4a4ca966a7241cc360bc2acb280e5f9e9c1b032ad6a180a35e0c5180b9d16d026c865b252098cc1d99ba7375ca31c7702c0d943d5e3dd2f6861fa55bd46d94b67ed3e52eccd8dd06d968e01897d6de97ed3058d91dd":"8e4bc6f8b8c60fe4d68c61d9b159c8693c3151c46749af58da228442d927f23359bd6ccd6c2ec8fa3f00a86cecbfa728e1ad60b821ed22fcd309ba91a4138bc9"
SHA1 Hash file #1
+depends_on:POLARSSL_FS_IO
sha1_file:"data_files/hash_file_1":"d21c965b1e768bd7a6aa6869f5f821901d255f9f"
SHA1 Hash file #2
+depends_on:POLARSSL_FS_IO
sha1_file:"data_files/hash_file_2":"353f34271f2aef49d23a8913d4a6bd82b2cecdc6"
SHA1 Hash file #3
+depends_on:POLARSSL_FS_IO
sha1_file:"data_files/hash_file_3":"93640ed592076328096270c756db2fba9c486b35"
SHA1 Hash file #4
+depends_on:POLARSSL_FS_IO
sha1_file:"data_files/hash_file_4":"da39a3ee5e6b4b0d3255bfef95601890afd80709"
SHA-224 Hash file #1
+depends_on:POLARSSL_FS_IO
sha224_file:"data_files/hash_file_1":"8606da018870f0c16834a21bc3385704cb1683b9dbab04c5ddb90a48"
SHA-224 Hash file #2
+depends_on:POLARSSL_FS_IO
sha224_file:"data_files/hash_file_2":"733b2ab97b6f63f2e29b9a2089756d81e14c93fe4cc9615c0d5e8a03"
-SHA-244 Hash file #3
+SHA-224 Hash file #3
+depends_on:POLARSSL_FS_IO
sha224_file:"data_files/hash_file_3":"e1df95867580e2cc2100e9565bf9c2e42c24fe5250c19efe33d1c4fe"
SHA-224 Hash file #4
+depends_on:POLARSSL_FS_IO
sha224_file:"data_files/hash_file_4":"d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f"
SHA-256 Hash file #1
+depends_on:POLARSSL_FS_IO
sha256_file:"data_files/hash_file_1":"975d0c620d3936886f8a3665e585a3e84aa0501f4225bf53029710242823e391"
SHA-256 Hash file #2
+depends_on:POLARSSL_FS_IO
sha256_file:"data_files/hash_file_2":"11fcbf1baa36ca45745f10cc5467aee86f066f80ba2c46806d876bf783022ad2"
-SHA-244 Hash file #3
+SHA-256 Hash file #3
+depends_on:POLARSSL_FS_IO
sha256_file:"data_files/hash_file_3":"9ae4b369f9f4f03b86505b46a5469542e00aaff7cf7417a71af6d6d0aba3b70c"
SHA-256 Hash file #4
+depends_on:POLARSSL_FS_IO
sha256_file:"data_files/hash_file_4":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
SHA-384 Hash file #1
+depends_on:POLARSSL_FS_IO
sha384_file:"data_files/hash_file_1":"e0a3e6259d6378001b54ef82f5dd087009c5fad86d8db226a9fe1d14ecbe33a6fc916e3a4b16f5f286424de15d5a8e0e"
SHA-384 Hash file #2
+depends_on:POLARSSL_FS_IO
sha384_file:"data_files/hash_file_2":"eff727afc8495c92e2f370f97a317f93c3350324b0646b0f0e264708b3c97d3d332d3c5390e1e47130f5c92f1ef4b9cf"
-SHA-244 Hash file #3
+SHA-384 Hash file #3
+depends_on:POLARSSL_FS_IO
sha384_file:"data_files/hash_file_3":"6fc10ebda96a1ccf61777cac72f6034f92533d42052a4bf9f9d929c672973c71e5aeb1213268043c21527ac0f7f349c4"
SHA-384 Hash file #4
+depends_on:POLARSSL_FS_IO
sha384_file:"data_files/hash_file_4":"38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"
SHA-512 Hash file #1
+depends_on:POLARSSL_FS_IO
sha512_file:"data_files/hash_file_1":"d8207a2e1ff2b424f2c4163fe1b723c9bd42e464061eb411e8df730bcd24a7ab3956a6f3ff044a52eb2d262f9e4ca6b524092b544ab78f14d6f9c4cc8ddf335a"
SHA-512 Hash file #2
+depends_on:POLARSSL_FS_IO
sha512_file:"data_files/hash_file_2":"ecbb7f0ed8a702b49f16ad3088bcc06ea93451912a7187db15f64d93517b09630b039293aed418d4a00695777b758b1f381548c2fd7b92ce5ed996b32c8734e7"
-SHA-244 Hash file #3
+SHA-512 Hash file #3
+depends_on:POLARSSL_FS_IO
sha512_file:"data_files/hash_file_3":"7ccc9b2da71ffde9966c3ce44d7f20945fccf33b1fade4da152b021f1afcc7293382944aa6c09eac67af25f22026758e2bf6bed86ae2a43592677ee50f8eea41"
SHA-512 Hash file #4
+depends_on:POLARSSL_FS_IO
sha512_file:"data_files/hash_file_4":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
SHA-1 Selftest
+depends_on:POLARSSL_SELF_TEST
sha1_selftest:
SHA-2 Selftest
+depends_on:POLARSSL_SELF_TEST
sha2_selftest:
SHA-4 Selftest
+depends_on:POLARSSL_SELF_TEST
sha4_selftest:
diff --git a/tests/suites/test_suite_x509parse.data b/tests/suites/test_suite_x509parse.data
index 22d15e46a..9f9786fde 100644
--- a/tests/suites/test_suite_x509parse.data
+++ b/tests/suites/test_suite_x509parse.data
@@ -1,233 +1,233 @@
X509 Certificate information #1
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/server1.crt":"cert. version \: 3\nserial number \: 01\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Server 1\nissued on \: 2011-02-12 14\:44\:06\nexpires on \: 2021-02-12 14\:44\:06\nsigned using \: RSA+SHA1\nRSA key size \: 2048 bits\n"
X509 Certificate information #2
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/server2.crt":"cert. version \: 3\nserial number \: 02\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=localhost\nissued on \: 2011-02-12 14\:44\:06\nexpires on \: 2021-02-12 14\:44\:06\nsigned using \: RSA+SHA1\nRSA key size \: 2048 bits\n"
X509 Certificate information #3
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/test-ca.crt":"cert. version \: 3\nserial number \: 00\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nissued on \: 2011-02-12 14\:44\:00\nexpires on \: 2021-02-12 14\:44\:00\nsigned using \: RSA+SHA1\nRSA key size \: 2048 bits\n"
X509 Certificate information MD2 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_md2.crt":"cert. version \: 3\nserial number \: 09\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert MD2\nissued on \: 2009-07-12 10\:56\:59\nexpires on \: 2011-07-12 10\:56\:59\nsigned using \: RSA+MD2\nRSA key size \: 2048 bits\n"
X509 Certificate information MD4 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_md4.crt":"cert. version \: 3\nserial number \: 05\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert MD4\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+MD4\nRSA key size \: 2048 bits\n"
X509 Certificate information MD5 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_md5.crt":"cert. version \: 3\nserial number \: 06\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert MD5\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+MD5\nRSA key size \: 2048 bits\n"
X509 Certificate information SHA1 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_sha1.crt":"cert. version \: 3\nserial number \: 07\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+SHA1\nRSA key size \: 2048 bits\n"
X509 Certificate information SHA224 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_sha224.crt":"cert. version \: 3\nserial number \: 08\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+SHA224\nRSA key size \: 2048 bits\n"
X509 Certificate information SHA256 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_sha256.crt":"cert. version \: 3\nserial number \: 09\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+SHA256\nRSA key size \: 2048 bits\n"
X509 Certificate information SHA384 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_sha384.crt":"cert. version \: 3\nserial number \: 0A\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+SHA384\nRSA key size \: 2048 bits\n"
X509 Certificate information SHA512 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_cert_info:"data_files/cert_sha512.crt":"cert. version \: 3\nserial number \: 0B\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nsubject name \: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512\nissued on \: 2011-02-12 14\:44\:07\nexpires on \: 2021-02-12 14\:44\:07\nsigned using \: RSA+SHA512\nRSA key size \: 2048 bits\n"
X509 CRL information #1
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_expired.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-20 10\:24\:19\nnext update \: 2011-02-20 11\:24\:19\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA1\n"
X509 CRL Information MD2 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_md2.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2009-07-19 19\:56\:37\nnext update \: 2009-09-17 19\:56\:37\nRevoked certificates\:\nserial number\: 01 revocation date\: 2009-02-09 21\:12\:36\nserial number\: 03 revocation date\: 2009-02-09 21\:12\:36\nsigned using \: RSA+MD2\n"
X509 CRL Information MD4 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_md4.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+MD4\n"
X509 CRL Information MD5 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_md5.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+MD5\n"
X509 CRL Information SHA1 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_sha1.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA1\n"
X509 CRL Information SHA224 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_sha224.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA224\n"
X509 CRL Information SHA256 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_sha256.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA256\n"
X509 CRL Information SHA384 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_sha384.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA384\n"
X509 CRL Information SHA512 Digest
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_crl_info:"data_files/crl_sha512.pem":"CRL version \: 1\nissuer name \: C=NL, O=PolarSSL, CN=PolarSSL Test CA\nthis update \: 2011-02-12 14\:44\:07\nnext update \: 2011-04-13 14\:44\:07\nRevoked certificates\:\nserial number\: 01 revocation date\: 2011-02-12 14\:44\:07\nserial number\: 03 revocation date\: 2011-02-12 14\:44\:07\nsigned using \: RSA+SHA512\n"
X509 Parse Key #1 (No password when required)
-depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/test-ca.key":NULL:POLARSSL_ERR_PEM_PASSWORD_REQUIRED
X509 Parse Key #2 (Correct password)
-depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/test-ca.key":"PolarSSLTest":0
X509 Parse Key #3 (Wrong password)
-depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/test-ca.key":"PolarSSLWRONG":POLARSSL_ERR_PEM_PASSWORD_MISMATCH
X509 Parse Key #4 (DES Encrypted)
-depends_on:POLARSSL_MD5_C:POLARSSL_DES_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_DES_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/keyfile.des":"testkey":0
X509 Parse Key #5 (3DES Encrypted)
-depends_on:POLARSSL_MD5_C:POLARSSL_DES_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_DES_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/keyfile.3des":"testkey":0
X509 Parse Key #6 (AES-128 Encrypted)
-depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/keyfile.aes128":"testkey":0
X509 Parse Key #7 (AES-192 Encrypted)
-depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/keyfile.aes192":"testkey":0
X509 Parse Key #8 (AES-256 Encrypted)
-depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_AES_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509parse_keyfile:"data_files/keyfile.aes256":"testkey":0
X509 Get Distinguished Name #1
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_dn_gets:"data_files/server1.crt":subject:"C=NL, O=PolarSSL, CN=PolarSSL Server 1"
X509 Get Distinguished Name #2
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_dn_gets:"data_files/server1.crt":issuer:"C=NL, O=PolarSSL, CN=PolarSSL Test CA"
X509 Get Distinguished Name #3
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_dn_gets:"data_files/server2.crt":subject:"C=NL, O=PolarSSL, CN=localhost"
X509 Get Distinguished Name #4
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_dn_gets:"data_files/server2.crt":issuer:"C=NL, O=PolarSSL, CN=PolarSSL Test CA"
X509 Time Expired #1
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/server1.crt":valid_from:1
X509 Time Expired #2
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/server1.crt":valid_to:0
X509 Time Expired #3
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/server2.crt":valid_from:1
X509 Time Expired #4
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/server2.crt":valid_to:0
X509 Time Expired #5
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/test-ca.crt":valid_from:1
-X509 Time Expired #6
-depends_on:POLARSSL_PEM_C
+X509 Time Expired #6:POLARSSL_FS_IO
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_time_expired:"data_files/test-ca.crt":valid_to:0
X509 Certificate verification #1 (Revoked Cert, Expired CRL)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED | BADCRL_EXPIRED:NULL
X509 Certificate verification #2 (Revoked Cert, Expired CRL)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"PolarSSL Server 1":POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED | BADCRL_EXPIRED:NULL
X509 Certificate verification #3 (Revoked Cert, Expired CRL, CN Mismatch)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":"PolarSSL Wrong CN":POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED | BADCRL_EXPIRED | BADCERT_CN_MISMATCH:NULL
X509 Certificate verification #4 (Valid Cert, Expired CRL)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server2.crt":"data_files/test-ca.crt":"data_files/crl_expired.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCRL_EXPIRED:NULL
X509 Certificate verification #5 (Revoked Cert)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED:NULL
X509 Certificate verification #6 (Revoked Cert)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"PolarSSL Server 1":POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED:NULL
X509 Certificate verification #7 (Revoked Cert, CN Mismatch)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server1.crt":"data_files/test-ca.crt":"data_files/crl.pem":"PolarSSL Wrong CN":POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_REVOKED | BADCERT_CN_MISMATCH:NULL
X509 Certificate verification #8 (Valid Cert)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server2.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #9 (Not trusted Cert)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_NOT_TRUSTED:NULL
X509 Certificate verification #10 (Not trusted Cert, Expired CRL)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl_expired.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:BADCERT_NOT_TRUSTED:NULL
X509 Certificate verification #12 (Valid Cert MD4 Digest)
-depends_on:POLARSSL_MD4_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD4_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_md4.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #13 (Valid Cert MD5 Digest)
-depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_md5.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #14 (Valid Cert SHA1 Digest)
-depends_on:POLARSSL_SHA1_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA1_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha1.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #15 (Valid Cert SHA224 Digest)
-depends_on:POLARSSL_SHA2_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha224.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #16 (Valid Cert SHA256 Digest)
-depends_on:POLARSSL_SHA2_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA2_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha256.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #17 (Valid Cert SHA384 Digest)
-depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha384.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #18 (Valid Cert SHA512 Digest)
-depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha512.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:0:0:NULL
X509 Certificate verification #19 (Valid Cert, denying callback)
-depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C
+depends_on:POLARSSL_SHA4_C:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/cert_sha512.crt":"data_files/test-ca.crt":"data_files/crl.pem":NULL:POLARSSL_ERR_X509_CERT_VERIFY_FAILED:0:&verify_none
X509 Certificate verification #20 (Not trusted Cert, allowing callback)
-depends_on:POLARSSL_PEM_C
+depends_on:POLARSSL_PEM_C:POLARSSL_FS_IO
x509_verify:"data_files/server2.crt":"data_files/server1.crt":"data_files/crl_expired.pem":NULL:0:0:&verify_all
X509 Parse Selftest
-depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C
+depends_on:POLARSSL_MD5_C:POLARSSL_PEM_C:POLARSSL_SELF_TEST
x509_selftest:
X509 Certificate ASN1 (Incorrect first tag)