setup("test_ec");
-plan tests => 5;
+plan tests => 11;
require_ok(srctop_file('test','recipes','tconversion.pl'));
ok(run(test(["ectest"])), "running ectest");
- SKIP: {
- skip "Skipping ec conversion test", 3
- if disabled("ec");
-
- subtest 'ec conversions -- private key' => sub {
- tconversion("ec", srctop_file("test","testec-p256.pem"));
- };
- subtest 'ec conversions -- private key PKCS#8' => sub {
- tconversion("ec", srctop_file("test","testec-p256.pem"), "pkey");
- };
- subtest 'ec conversions -- public key' => sub {
- tconversion("ec", srctop_file("test","testecpub-p256.pem"), "ec", "-pubin", "-pubout");
- };
+SKIP: {
+ skip "Skipping EC conversion test", 3
+ if disabled("ec");
+
+ subtest 'EC conversions -- private key' => sub {
+ tconversion("ec", srctop_file("test","testec-p256.pem"));
+ };
+ subtest 'EC conversions -- private key PKCS#8' => sub {
+ tconversion("ec", srctop_file("test","testec-p256.pem"), "pkey");
+ };
+ subtest 'EC conversions -- public key' => sub {
+ tconversion("ec", srctop_file("test","testecpub-p256.pem"),
+ "ec", "-pubin", "-pubout");
+ };
+}
+
+SKIP: {
+ skip "Skipping EdDSA conversion test", 6
+ if disabled("ec");
+
+ subtest 'Ed25519 conversions -- private key' => sub {
+ tconversion("pkey", srctop_file("test","tested25519.pem"));
+ };
+ subtest 'Ed25519 conversions -- private key PKCS#8' => sub {
+ tconversion("pkey", srctop_file("test","tested25519.pem"), "pkey");
+ };
+ subtest 'Ed25519 conversions -- public key' => sub {
+ tconversion("pkey", srctop_file("test","tested25519pub.pem"),
+ "pkey", "-pubin", "-pubout");
+ };
+
+ subtest 'Ed448 conversions -- private key' => sub {
+ tconversion("pkey", srctop_file("test","tested448.pem"));
+ };
+ subtest 'Ed448 conversions -- private key PKCS#8' => sub {
+ tconversion("pkey", srctop_file("test","tested448.pem"), "pkey");
+ };
+ subtest 'Ed448 conversions -- public key' => sub {
+ tconversion("pkey", srctop_file("test","tested448pub.pem"),
+ "pkey", "-pubin", "-pubout");
+ };
}
setup("test_req");
-plan tests => 13;
+plan tests => 15;
require_ok(srctop_file('test','recipes','tconversion.pl'));
}
};
+subtest "generating certificate requests with Ed25519" => sub {
+ plan tests => 2;
+
+ SKIP: {
+ skip "Ed25519 is not supported by this OpenSSL build", 2
+ if disabled("ec");
+
+ ok(run(app(["openssl", "req",
+ "-config", srctop_file("test", "test.cnf"),
+ "-new", "-out", "testreq.pem", "-utf8",
+ "-key", srctop_file("test", "tested25519.pem")])),
+ "Generating request");
+
+ ok(run(app(["openssl", "req",
+ "-config", srctop_file("test", "test.cnf"),
+ "-verify", "-in", "testreq.pem", "-noout"])),
+ "Verifying signature on request");
+ }
+};
+
+subtest "generating certificate requests with Ed448" => sub {
+ plan tests => 2;
+
+ SKIP: {
+ skip "Ed448 is not supported by this OpenSSL build", 2
+ if disabled("ec");
+
+ ok(run(app(["openssl", "req",
+ "-config", srctop_file("test", "test.cnf"),
+ "-new", "-out", "testreq.pem", "-utf8",
+ "-key", srctop_file("test", "tested448.pem")])),
+ "Generating request");
+
+ ok(run(app(["openssl", "req",
+ "-config", srctop_file("test", "test.cnf"),
+ "-verify", "-in", "testreq.pem", "-noout"])),
+ "Verifying signature on request");
+ }
+};
+
subtest "generating certificate requests" => sub {
plan tests => 2;
--- /dev/null
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
+-----END PRIVATE KEY-----
--- /dev/null
+-----BEGIN PUBLIC KEY-----
+MCowBQYDK2VwAyEAGb9ECWmEzf6FQbrBZ9w7lshQhqowtrbLDFw4rXAxZuE=
+-----END PUBLIC KEY-----
--- /dev/null
+-----BEGIN PRIVATE KEY-----
+MEcCAQAwBQYDK2VxBDsEOWyCpWLLgI0Q1jK+ichRPr9skp803fqMn2PJlg7240ij
+UoyKP8wvBE45o/xblEkvjwMudUmiAJj5Ww==
+-----END PRIVATE KEY-----
--- /dev/null
+-----BEGIN PUBLIC KEY-----
+MEMwBQYDK2VxAzoAX9dEm1m0Yf0s54fsYWrUah2hNCSFpw4fig6nXYDpZ3jt8SR2
+m0bHBhvWeD3x5Q9s0foavq/oJWGA
+-----END PUBLIC KEY-----