]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
25-test_x509.t: test dots in CA file path
authorAlois Klink <alois@aloisklink.com>
Tue, 2 May 2023 20:59:45 +0000 (21:59 +0100)
committerTomas Mraz <tomas@openssl.org>
Thu, 4 May 2023 13:01:11 +0000 (15:01 +0200)
Test whether dots in the CA file path breaks the default CA serial
number file path.

Tests for:
  - https://github.com/openssl/openssl/issues/6203
  - https://github.com/openssl/openssl/issues/6489
  - https://github.com/openssl/openssl/pull/6566
  - https://github.com/openssl/openssl/issues/10442

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/20873)

test/recipes/25-test_x509.t

index 01f5086404cf8723eb43e88ef160e70853d72ebb..df49ce2750ca94d14991003b0d32dc5c7382f520 100644 (file)
@@ -16,7 +16,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/;
 
 setup("test_x509");
 
-plan tests => 33;
+plan tests => 37;
 
 # Prevent MSys2 filename munging for arguments that look like file paths but
 # aren't
@@ -214,6 +214,19 @@ has_version($b_cert, 3);
 has_SKID($b_cert, 1);
 has_AKID($b_cert, 1);
 
+# Tests for https://github.com/openssl/openssl/issues/10442 (fixed in 1.1.1a)
+# (incorrect default `-CAcreateserial` if `-CA` path has a dot in it)
+my $folder_with_dot = "test_x509.folder";
+ok(mkdir $folder_with_dot);
+my $ca_cert_dot_in_dir = File::Spec->catfile($folder_with_dot, "ca-cert.pem");
+ok(copy($ca_cert,$ca_cert_dot_in_dir));
+my $ca_serial_dot_in_dir = File::Spec->catfile($folder_with_dot, "ca-cert.srl");
+
+ok(run(app(["openssl", "x509", "-req", "-text", "-CAcreateserial",
+            "-CA", $ca_cert_dot_in_dir, "-CAkey", $ca_key,
+            "-in", $b_csr])));
+ok(-e $ca_serial_dot_in_dir);
+
 SKIP: {
     skip "EC is not supported by this OpenSSL build", 1
         if disabled("ec");