327a8850e09b3f05d23054f8602bb3ce5f46445e
[openssl.git] / test / recipes / 15-test_ec.t
1 #! /usr/bin/env perl
2 # Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
3 #
4 # Licensed under the Apache License 2.0 (the "License").  You may not use
5 # this file except in compliance with the License.  You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
8
9
10 use strict;
11 use warnings;
12
13 use File::Spec;
14 use OpenSSL::Test qw/:DEFAULT srctop_file/;
15 use OpenSSL::Test::Utils;
16
17 setup("test_ec");
18
19 plan tests => 11;
20
21 require_ok(srctop_file('test','recipes','tconversion.pl'));
22
23 ok(run(test(["ectest"])), "running ectest");
24
25 SKIP: {
26     skip "Skipping EC conversion test", 3
27         if disabled("ec");
28
29     subtest 'EC conversions -- private key' => sub {
30         tconversion("ec", srctop_file("test","testec-p256.pem"));
31     };
32     subtest 'EC conversions -- private key PKCS#8' => sub {
33         tconversion("ec", srctop_file("test","testec-p256.pem"), "pkey");
34     };
35     subtest 'EC conversions -- public key' => sub {
36         tconversion("ec", srctop_file("test","testecpub-p256.pem"),
37                     "ec", "-pubin", "-pubout");
38     };
39 }
40
41 SKIP: {
42     skip "Skipping EdDSA conversion test", 6
43         if disabled("ec");
44
45     subtest 'Ed25519 conversions -- private key' => sub {
46         tconversion("pkey", srctop_file("test","tested25519.pem"));
47     };
48     subtest 'Ed25519 conversions -- private key PKCS#8' => sub {
49         tconversion("pkey", srctop_file("test","tested25519.pem"), "pkey");
50     };
51     subtest 'Ed25519 conversions -- public key' => sub {
52         tconversion("pkey", srctop_file("test","tested25519pub.pem"),
53                     "pkey", "-pubin", "-pubout");
54     };
55
56     subtest 'Ed448 conversions -- private key' => sub {
57         tconversion("pkey", srctop_file("test","tested448.pem"));
58     };
59     subtest 'Ed448 conversions -- private key PKCS#8' => sub {
60         tconversion("pkey", srctop_file("test","tested448.pem"), "pkey");
61     };
62     subtest 'Ed448 conversions -- public key' => sub {
63         tconversion("pkey", srctop_file("test","tested448pub.pem"),
64                     "pkey", "-pubin", "-pubout");
65     };
66 }