X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=test%2Frsa_test.c;h=7d06394c6c6d7713228ec5348f6b0d92dca961de;hp=85c7440b8c6805125dc4bf977c01296f246588a0;hb=5584f65a1027b06fe0cfc4be28d1a232cf180e42;hpb=25d6b3401ca40c9a2cbe5080449c1c2a37037777 diff --git a/test/rsa_test.c b/test/rsa_test.c index 85c7440b8c..7d06394c6c 100644 --- a/test/rsa_test.c +++ b/test/rsa_test.c @@ -1,3 +1,12 @@ +/* + * Copyright 1999-2016 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 + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + /* test vectors from p1ovect1.txt */ #include @@ -19,16 +28,19 @@ int main(int argc, char *argv[]) # include # define SetKey \ - key->n = BN_bin2bn(n, sizeof(n)-1, key->n); \ - key->e = BN_bin2bn(e, sizeof(e)-1, key->e); \ - key->d = BN_bin2bn(d, sizeof(d)-1, key->d); \ - key->p = BN_bin2bn(p, sizeof(p)-1, key->p); \ - key->q = BN_bin2bn(q, sizeof(q)-1, key->q); \ - key->dmp1 = BN_bin2bn(dmp1, sizeof(dmp1)-1, key->dmp1); \ - key->dmq1 = BN_bin2bn(dmq1, sizeof(dmq1)-1, key->dmq1); \ - key->iqmp = BN_bin2bn(iqmp, sizeof(iqmp)-1, key->iqmp); \ - memcpy(c, ctext_ex, sizeof(ctext_ex) - 1); \ - return (sizeof(ctext_ex) - 1); + RSA_set0_key(key, \ + BN_bin2bn(n, sizeof(n)-1, NULL), \ + BN_bin2bn(e, sizeof(e)-1, NULL), \ + BN_bin2bn(d, sizeof(d)-1, NULL)); \ + RSA_set0_factors(key, \ + BN_bin2bn(p, sizeof(p)-1, NULL), \ + BN_bin2bn(q, sizeof(q)-1, NULL)); \ + RSA_set0_crt_params(key, \ + BN_bin2bn(dmp1, sizeof(dmp1)-1, NULL), \ + 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); static int key1(RSA *key, unsigned char *c) { @@ -222,17 +234,16 @@ int main(int argc, char *argv[]) int num; int n; - CRYPTO_malloc_debug_init(); - CRYPTO_dbg_set_options(V_CRYPTO_MDEBUG_ALL); + CRYPTO_set_mem_debug(1); CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); RAND_seed(rnd_seed, sizeof rnd_seed); /* or OAEP may fail */ plen = sizeof(ptext_ex) - 1; - for (v = 0; v < 6; v++) { + for (v = 0; v < 3; v++) { key = RSA_new(); - switch (v % 3) { + switch (v) { case 0: clen = key1(key, ctext_ex); break; @@ -243,8 +254,6 @@ int main(int argc, char *argv[]) clen = key3(key, ctext_ex); break; } - if (v / 3 >= 1) - key->flags |= RSA_FLAG_NO_CONSTTIME; num = RSA_public_encrypt(plen, ptext_ex, ctext, key, RSA_PKCS1_PADDING); @@ -325,15 +334,11 @@ int main(int argc, char *argv[]) RSA_free(key); } - CRYPTO_cleanup_all_ex_data(); - ERR_remove_thread_state(NULL); - - CRYPTO_mem_leaks_fp(stderr); +#ifndef OPENSSL_NO_CRYPTO_MDEBUG + if (CRYPTO_mem_leaks_fp(stderr) <= 0) + err = 1; +#endif -# ifdef OPENSSL_SYS_NETWARE - if (err) - printf("ERROR: %d\n", err); -# endif return err; } #endif