From 71b791a2ff679463d6ef915490232cfa037f02b2 Mon Sep 17 00:00:00 2001 From: miod <> Date: Tue, 22 Apr 2014 21:27:15 +0000 Subject: When compiling with AES_WRAP_TEST, make main() return a meaningful value instead of garbage, and add this to the libcrypto regress. Note these tests are incomplete, as they always use the default IV. --- src/lib/libcrypto/aes/aes_wrap.c | 16 +++++++++++++++- src/lib/libssl/src/crypto/aes/aes_wrap.c | 16 +++++++++++++++- src/regress/lib/libcrypto/Makefile | 3 ++- src/regress/lib/libcrypto/aeswrap/Makefile | 12 ++++++++++++ 4 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 src/regress/lib/libcrypto/aeswrap/Makefile (limited to 'src') diff --git a/src/lib/libcrypto/aes/aes_wrap.c b/src/lib/libcrypto/aes/aes_wrap.c index 668978425a..40533440bf 100644 --- a/src/lib/libcrypto/aes/aes_wrap.c +++ b/src/lib/libcrypto/aes/aes_wrap.c @@ -231,19 +231,33 @@ main(int argc, char **argv) }; AES_KEY wctx, xctx; - int ret; + int ret, nfailures = 0; ret = AES_wrap_unwrap_test(kek, 128, NULL, e1, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 192, NULL, e2, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e3, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 192, NULL, e4, key, 24); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e5, key, 24); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e6, key, 32); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); + + return nfailures; } #endif diff --git a/src/lib/libssl/src/crypto/aes/aes_wrap.c b/src/lib/libssl/src/crypto/aes/aes_wrap.c index 668978425a..40533440bf 100644 --- a/src/lib/libssl/src/crypto/aes/aes_wrap.c +++ b/src/lib/libssl/src/crypto/aes/aes_wrap.c @@ -231,19 +231,33 @@ main(int argc, char **argv) }; AES_KEY wctx, xctx; - int ret; + int ret, nfailures = 0; ret = AES_wrap_unwrap_test(kek, 128, NULL, e1, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 192, NULL, e2, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e3, key, 16); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 192, NULL, e4, key, 24); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e5, key, 24); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); ret = AES_wrap_unwrap_test(kek, 256, NULL, e6, key, 32); + if (ret == 0) + nfailures++; fprintf(stderr, "Key test result %d\n", ret); + + return nfailures; } #endif diff --git a/src/regress/lib/libcrypto/Makefile b/src/regress/lib/libcrypto/Makefile index 46e867b81d..df9e45f96a 100644 --- a/src/regress/lib/libcrypto/Makefile +++ b/src/regress/lib/libcrypto/Makefile @@ -1,6 +1,7 @@ -# $OpenBSD: Makefile,v 1.3 2014/04/17 18:33:21 miod Exp $ +# $OpenBSD: Makefile,v 1.4 2014/04/22 21:27:13 miod Exp $ SUBDIR= \ + aeswrap \ bf \ bn \ cast \ diff --git a/src/regress/lib/libcrypto/aeswrap/Makefile b/src/regress/lib/libcrypto/aeswrap/Makefile new file mode 100644 index 0000000000..63770a5c7d --- /dev/null +++ b/src/regress/lib/libcrypto/aeswrap/Makefile @@ -0,0 +1,12 @@ +# $OpenBSD: Makefile,v 1.1 2014/04/22 21:27:15 miod Exp $ + +PROG= aes_wrap +CRYPTO= ${.CURDIR}/../../../../lib/libssl/src/crypto +CFLAGS+= -DAES_WRAP_TEST +CFLAGS+= -I${CRYPTO} -I${CRYPTO}/aes +.PATH: ${CRYPTO}/aes + +LDADD= -lcrypto +DPADD= ${LIBCRYPTO} + +.include -- cgit v1.2.3-55-g6feb