X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=test%2Frsa_test.c;h=2ad4de4734cd2c32f6ffb74bf9c07e34e60c983b;hp=af912eb1988192a52cad24ebb1d1c86e015f2c5c;hb=358ffa05cd3a088822c7d06256bc87516d918798;hpb=48f1739600f33c92387debce2002acec6e365f1d diff --git a/test/rsa_test.c b/test/rsa_test.c index af912eb198..2ad4de4734 100644 --- a/test/rsa_test.c +++ b/test/rsa_test.c @@ -1,5 +1,5 @@ /* - * Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 1999-2017 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -12,20 +12,20 @@ #include #include -#include "e_os.h" +#include "internal/nelem.h" #include #include #include #include -#include "test_main.h" #include "testutil.h" #ifdef OPENSSL_NO_RSA -void register_tests(void) +int setup_tests(void) { /* No tests */ + return 1; } #else # include @@ -43,7 +43,7 @@ void register_tests(void) BN_bin2bn(dmq1, sizeof(dmq1)-1, NULL), \ BN_bin2bn(iqmp, sizeof(iqmp)-1, NULL)); \ memcpy(c, ctext_ex, sizeof(ctext_ex) - 1); \ - return (sizeof(ctext_ex) - 1); + return sizeof(ctext_ex) - 1; static int key1(RSA *key, unsigned char *c) { @@ -216,12 +216,27 @@ static int pad_unknown(void) unsigned long l; while ((l = ERR_get_error()) != 0) if (ERR_GET_REASON(l) == RSA_R_UNKNOWN_PADDING_TYPE) - return (1); - return (0); + return 1; + return 0; } -static const char rnd_seed[] = - "string to make the random number generator think it has entropy"; +static int rsa_setkey(RSA** key, unsigned char* ctext, int idx) +{ + int clen = 0; + *key = RSA_new(); + switch (idx) { + case 0: + clen = key1(*key, ctext); + break; + case 1: + clen = key2(*key, ctext); + break; + case 2: + clen = key3(*key, ctext); + break; + } + return clen; +} static int test_rsa_pkcs1(int idx) { @@ -236,19 +251,7 @@ static int test_rsa_pkcs1(int idx) int num; plen = sizeof(ptext_ex) - 1; - - key = RSA_new(); - switch (idx) { - case 0: - clen = key1(key, ctext_ex); - break; - case 1: - clen = key2(key, ctext_ex); - break; - case 2: - clen = key3(key, ctext_ex); - break; - } + clen = rsa_setkey(&key, ctext_ex, idx); num = RSA_public_encrypt(plen, ptext_ex, ctext, key, RSA_PKCS1_PADDING); @@ -278,22 +281,8 @@ static int test_rsa_oaep(int idx) int num; int n; - RAND_seed(rnd_seed, sizeof rnd_seed); /* or OAEP may fail */ - plen = sizeof(ptext_ex) - 1; - - key = RSA_new(); - switch (idx) { - case 0: - clen = key1(key, ctext_ex); - break; - case 1: - clen = key2(key, ctext_ex); - break; - case 2: - clen = key3(key, ctext_ex); - break; - } + clen = rsa_setkey(&key, ctext_ex, idx); num = RSA_public_encrypt(plen, ptext_ex, ctext, key, RSA_PKCS1_OAEP_PADDING); @@ -340,9 +329,10 @@ err: return ret; } -void register_tests(void) +int setup_tests(void) { ADD_ALL_TESTS(test_rsa_pkcs1, 3); ADD_ALL_TESTS(test_rsa_oaep, 3); + return 1; } #endif