summaryrefslogtreecommitdiff
path: root/src/regress
diff options
context:
space:
mode:
Diffstat (limited to 'src/regress')
-rw-r--r--src/regress/lib/libcrypto/evp/evptest.c71
1 files changed, 45 insertions, 26 deletions
diff --git a/src/regress/lib/libcrypto/evp/evptest.c b/src/regress/lib/libcrypto/evp/evptest.c
index e6108de982..6f677dd959 100644
--- a/src/regress/lib/libcrypto/evp/evptest.c
+++ b/src/regress/lib/libcrypto/evp/evptest.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evptest.c,v 1.11 2021/11/18 21:18:28 tb Exp $ */ 1/* $OpenBSD: evptest.c,v 1.12 2023/03/02 20:24:51 tb Exp $ */
2/* Written by Ben Laurie, 2001 */ 2/* Written by Ben Laurie, 2001 */
3/* 3/*
4 * Copyright (c) 2001 The OpenSSL Project. All rights reserved. 4 * Copyright (c) 2001 The OpenSSL Project. All rights reserved.
@@ -59,6 +59,8 @@
59#include <openssl/err.h> 59#include <openssl/err.h>
60#include <openssl/conf.h> 60#include <openssl/conf.h>
61 61
62int verbose;
63
62static void 64static void
63hexdump(FILE *f, const char *title, const unsigned char *s, int l) 65hexdump(FILE *f, const char *title, const unsigned char *s, int l)
64{ 66{
@@ -147,13 +149,15 @@ test1(const EVP_CIPHER *c, const unsigned char *key, int kn,
147 const unsigned char *eiv; 149 const unsigned char *eiv;
148 int outl, outl2; 150 int outl, outl2;
149 151
150 printf("Testing cipher %s%s\n", EVP_CIPHER_name(c), 152 if (verbose) {
151 (encdec == 1 ? "(encrypt)" : (encdec == 0 ? "(decrypt)" : "(encrypt/decrypt)"))); 153 printf("Testing cipher %s%s\n", EVP_CIPHER_name(c),
152 hexdump(stdout, "Key",key,kn); 154 (encdec == 1 ? "(encrypt)" : (encdec == 0 ? "(decrypt)" : "(encrypt/decrypt)")));
153 if (in) 155 hexdump(stdout, "Key",key,kn);
154 hexdump(stdout, "IV",iv,in); 156 if (in)
155 hexdump(stdout, "Plaintext",plaintext,pn); 157 hexdump(stdout, "IV",iv,in);
156 hexdump(stdout, "Ciphertext",ciphertext,cn); 158 hexdump(stdout, "Plaintext",plaintext,pn);
159 hexdump(stdout, "Ciphertext",ciphertext,cn);
160 }
157 161
158 if (kn != EVP_CIPHER_key_length(c)) { 162 if (kn != EVP_CIPHER_key_length(c)) {
159 fprintf(stderr, "Key length doesn't match, got %d expected %lu\n",kn, 163 fprintf(stderr, "Key length doesn't match, got %d expected %lu\n",kn,
@@ -240,7 +244,8 @@ test1(const EVP_CIPHER *c, const unsigned char *key, int kn,
240 244
241 EVP_CIPHER_CTX_free(ctx); 245 EVP_CIPHER_CTX_free(ctx);
242 246
243 printf("\n"); 247 if (verbose)
248 printf("\n");
244} 249}
245 250
246static int 251static int
@@ -272,9 +277,11 @@ test_digest(const char *digest, const unsigned char *plaintext, int pn,
272 if (!d) 277 if (!d)
273 return 0; 278 return 0;
274 279
275 printf("Testing digest %s\n",EVP_MD_name(d)); 280 if (verbose) {
276 hexdump(stdout, "Plaintext",plaintext,pn); 281 printf("Testing digest %s\n",EVP_MD_name(d));
277 hexdump(stdout, "Digest",ciphertext,cn); 282 hexdump(stdout, "Plaintext",plaintext,pn);
283 hexdump(stdout, "Digest",ciphertext,cn);
284 }
278 285
279 if ((ctx = EVP_MD_CTX_new()) == NULL) { 286 if ((ctx = EVP_MD_CTX_new()) == NULL) {
280 fprintf(stderr, "EVP_CIPHER_CTX_new failed\n"); 287 fprintf(stderr, "EVP_CIPHER_CTX_new failed\n");
@@ -310,8 +317,8 @@ test_digest(const char *digest, const unsigned char *plaintext, int pn,
310 hexdump(stderr, "Expected",ciphertext,cn); 317 hexdump(stderr, "Expected",ciphertext,cn);
311 exit(103); 318 exit(103);
312 } 319 }
313 320 if (verbose)
314 printf("\n"); 321 printf("\n");
315 322
316 return 1; 323 return 1;
317} 324}
@@ -322,10 +329,15 @@ main(int argc, char **argv)
322 const char *szTestFile; 329 const char *szTestFile;
323 FILE *f; 330 FILE *f;
324 331
325 if (argc != 2) { 332 if (argc != 2 && argc != 3) {
326 fprintf(stderr, "%s <test file>\n",argv[0]); 333 fprintf(stderr, "%s <test file>\n",argv[0]);
327 exit(1); 334 exit(1);
328 } 335 }
336 if (argc == 3 && strcmp(argv[1], "-v") == 0) {
337 verbose = 1;
338 argv++;
339 argc--;
340 }
329 341
330 szTestFile = argv[1]; 342 szTestFile = argv[1];
331 343
@@ -390,45 +402,52 @@ main(int argc, char **argv)
390 if (!test_cipher(cipher, key, kn, iv, in, plaintext, pn, ciphertext, cn, encdec) && 402 if (!test_cipher(cipher, key, kn, iv, in, plaintext, pn, ciphertext, cn, encdec) &&
391 !test_digest(cipher, plaintext, pn, ciphertext, cn)) { 403 !test_digest(cipher, plaintext, pn, ciphertext, cn)) {
392#ifdef OPENSSL_NO_AES 404#ifdef OPENSSL_NO_AES
393 if (strstr(cipher, "AES") == cipher) { 405 if (strstr(cipher, "AES") == cipher && verbose) {
394 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 406 if (verbose)
407 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
395 continue; 408 continue;
396 } 409 }
397#endif 410#endif
398#ifdef OPENSSL_NO_DES 411#ifdef OPENSSL_NO_DES
399 if (strstr(cipher, "DES") == cipher) { 412 if (strstr(cipher, "DES") == cipher && verbose) {
400 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 413 if (verbose)
414 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
401 continue; 415 continue;
402 } 416 }
403#endif 417#endif
404#ifdef OPENSSL_NO_RC4 418#ifdef OPENSSL_NO_RC4
405 if (strstr(cipher, "RC4") == cipher) { 419 if (strstr(cipher, "RC4") == cipher && verbose) {
406 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 420 if (verbose)
421 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
407 continue; 422 continue;
408 } 423 }
409#endif 424#endif
410#ifdef OPENSSL_NO_CAMELLIA 425#ifdef OPENSSL_NO_CAMELLIA
411 if (strstr(cipher, "CAMELLIA") == cipher) { 426 if (strstr(cipher, "CAMELLIA") == cipher && verbose) {
412 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 427 if (verbose)
428 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
413 continue; 429 continue;
414 } 430 }
415#endif 431#endif
416#ifdef OPENSSL_NO_SEED 432#ifdef OPENSSL_NO_SEED
417 if (strstr(cipher, "SEED") == cipher) { 433 if (strstr(cipher, "SEED") == cipher) {
418 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 434 if (verbose)
435 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
419 continue; 436 continue;
420 } 437 }
421#endif 438#endif
422#ifdef OPENSSL_NO_CHACHA 439#ifdef OPENSSL_NO_CHACHA
423 if (strstr(cipher, "ChaCha") == cipher) { 440 if (strstr(cipher, "ChaCha") == cipher) {
424 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 441 if (verbose)
442 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
425 continue; 443 continue;
426 } 444 }
427#endif 445#endif
428#ifdef OPENSSL_NO_GOST 446#ifdef OPENSSL_NO_GOST
429 if (strstr(cipher, "md_gost") == cipher || 447 if (strstr(cipher, "md_gost") == cipher ||
430 strstr(cipher, "streebog") == cipher) { 448 strstr(cipher, "streebog") == cipher) {
431 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher); 449 if (verbose)
450 fprintf(stdout, "Cipher disabled, skipping %s\n", cipher);
432 continue; 451 continue;
433 } 452 }
434#endif 453#endif