- Rewrote sign and verify tests to handle missing algorithm definitions
diff --git a/tests/suites/test_suite_rsa.function b/tests/suites/test_suite_rsa.function
index 065e84c..ed6cbf0 100644
--- a/tests/suites/test_suite_rsa.function
+++ b/tests/suites/test_suite_rsa.function
@@ -1,4 +1,5 @@
BEGIN_HEADER
+#include <polarssl/config.h>
#include <polarssl/rsa.h>
#include <polarssl/md2.h>
#include <polarssl/md4.h>
@@ -47,22 +48,45 @@
msg_len = unhexify( message_str, {message_hex_string} );
- if( {digest} == SIG_RSA_MD2 )
+ switch( {digest} )
+ {
+#ifdef POLARSSL_MD2_C
+ case SIG_RSA_MD2:
md2( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_MD4 )
+ break;
+#endif
+#ifdef POLARSSL_MD4_C
+ case SIG_RSA_MD4:
md4( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_MD5 )
+ break;
+#endif
+#ifdef POLARSSL_MD5_C
+ case SIG_RSA_MD5:
md5( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_SHA1 )
+ break;
+#endif
+#ifdef POLARSSL_SHA1_C
+ case SIG_RSA_SHA1:
sha1( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_SHA224 )
+ break;
+#endif
+#ifdef POLARSSL_SHA2_C
+ case SIG_RSA_SHA224:
sha2( message_str, msg_len, hash_result, 1 );
- else if( {digest} == SIG_RSA_SHA256 )
+ break;
+ case SIG_RSA_SHA256:
sha2( message_str, msg_len, hash_result, 0 );
- else if( {digest} == SIG_RSA_SHA384 )
+ break;
+#endif
+#ifdef POLARSSL_SHA4_C
+ case SIG_RSA_SHA384:
sha4( message_str, msg_len, hash_result, 1 );
- else if( {digest} == SIG_RSA_SHA512 )
+ break;
+ case SIG_RSA_SHA512:
sha4( message_str, msg_len, hash_result, 0 );
+ break;
+#endif
+ }
TEST_ASSERT( rsa_pkcs1_sign( &ctx, RSA_PRIVATE, {digest}, 0, hash_result, output ) == {result} );
if( {result} == 0 )
@@ -97,22 +121,45 @@
msg_len = unhexify( message_str, {message_hex_string} );
unhexify( result_str, {result_hex_str} );
- if( {digest} == SIG_RSA_MD2 )
+ switch( {digest} )
+ {
+#ifdef POLARSSL_MD2_C
+ case SIG_RSA_MD2:
md2( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_MD4 )
+ break;
+#endif
+#ifdef POLARSSL_MD4_C
+ case SIG_RSA_MD4:
md4( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_MD5 )
+ break;
+#endif
+#ifdef POLARSSL_MD5_C
+ case SIG_RSA_MD5:
md5( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_SHA1 )
+ break;
+#endif
+#ifdef POLARSSL_SHA1_C
+ case SIG_RSA_SHA1:
sha1( message_str, msg_len, hash_result );
- else if( {digest} == SIG_RSA_SHA224 )
+ break;
+#endif
+#ifdef POLARSSL_SHA2_C
+ case SIG_RSA_SHA224:
sha2( message_str, msg_len, hash_result, 1 );
- else if( {digest} == SIG_RSA_SHA256 )
+ break;
+ case SIG_RSA_SHA256:
sha2( message_str, msg_len, hash_result, 0 );
- else if( {digest} == SIG_RSA_SHA384 )
+ break;
+#endif
+#ifdef POLARSSL_SHA4_C
+ case SIG_RSA_SHA384:
sha4( message_str, msg_len, hash_result, 1 );
- else if( {digest} == SIG_RSA_SHA512 )
+ break;
+ case SIG_RSA_SHA512:
sha4( message_str, msg_len, hash_result, 0 );
+ break;
+#endif
+ }
TEST_ASSERT( rsa_pkcs1_verify( &ctx, RSA_PUBLIC, {digest}, 0, hash_result, result_str ) == {result} );
}