Make sure the RSA OAEP test is skipped under -DRSAref because
[openssl.git] / crypto / rsa / rsa_oaep_test.c
index 2e4384584d630e8cf94e0b2cc936075825cfb64e..57e10e9a08be590adf6e1c6f282e53d85d69c826 100644 (file)
@@ -1,7 +1,8 @@
 /* test vectors from p1ovect1.txt */
 
 #include <stdio.h>
-#include <rsa.h>
+#include "e_os.h"
+#include "rsa.h"
 
 #define SetKey \
   key->n = BN_bin2bn(n, sizeof(n)-1, key->n); \
@@ -183,6 +184,7 @@ int key3(RSA *key, unsigned char *c)
 
 int main() 
     {
+    int err=0;
     int v;
     RSA *key;
     unsigned char ptext[256];
@@ -190,9 +192,14 @@ int main()
     unsigned char ptext_ex[] = "\x54\x85\x9b\x34\x2c\x49\xea\x2a";
     unsigned char ctext_ex[256];
     int plen;
-    int clen;
+    int clen = 0;
     int num;
 
+#ifdef RSAref
+    printf("No OAEP support with RSAref - skipping test\n");
+    return 0;
+#endif
+
     plen = sizeof(ptext_ex) - 1;
 
     for (v = 0; v < 3; v++)
@@ -215,6 +222,7 @@ int main()
        if (num != clen)
            {
            printf("Encryption failed!\n");
+           err=1;
            goto next;
            }
   
@@ -223,6 +231,7 @@ int main()
        if (num != plen || memcmp(ptext, ptext_ex, num) != 0)
            {
            printf("Decryption failed!\n");
+           err=1;
            goto next;
            }
   
@@ -239,12 +248,15 @@ int main()
                                  RSA_PKCS1_OAEP_PADDING);
 
        if (num != plen || memcmp(ptext, ptext_ex, num) != 0)
+           {
            printf("Decryption failed!\n");
+           err=1;
+           }
        else
-           printf("Encyption/decryption successful!\n");
+           printf("Encryption/decryption successful!\n");
 
     next:
        RSA_free(key);
        }
-    return (0);
+    return err;
     }