From 691e302be3ededfcdef10c5f4c0d024ef1545b48 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 3 Feb 2017 00:31:09 +0100 Subject: [PATCH] Improve testing of elliptic curve validation Add a test recipe (test/recipes/15-test_ecparams.t) which uses 'openssl ecparam' to check the test vectors. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2544) --- test/recipes/15-test_ecparam.t | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/recipes/15-test_ecparam.t diff --git a/test/recipes/15-test_ecparam.t b/test/recipes/15-test_ecparam.t new file mode 100644 index 0000000000..ec629e9977 --- /dev/null +++ b/test/recipes/15-test_ecparam.t @@ -0,0 +1,34 @@ +#! /usr/bin/env perl +# Copyright 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 +# in the file LICENSE in the source distribution or at +# https://www.openssl.org/source/license.html + + +use strict; +use warnings; + +use File::Spec; +use if $^O ne "VMS", 'File::Glob' => qw/glob/; +use OpenSSL::Test qw/:DEFAULT data_file/; +use OpenSSL::Test::Utils; + +setup("test_ecparam"); + +plan skip_all => "EC isn't supported in this build" + if disabled("ec"); + +my @valid = glob(data_file("valid", "*.pem")); +my @invalid = glob(data_file("invalid", "*.pem")); + +plan tests => scalar @valid + scalar @invalid; + +foreach (@valid) { + ok(run(app([qw{openssl ecparam -noout -check -in}, $_]))); +} + +foreach (@invalid) { + ok(!run(app([qw{openssl ecparam -noout -check -in}, $_]))); +} -- 2.25.1