mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
Make x509 -force_pubkey test case with self-issued cert more realistic
by adding CA basic constraints, CA key usage, and key IDs to the cert and by add -partial_chain to the verify call that trusts this cert Reviewed-by: Viktor Dukhovni <viktor@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10587)
This commit is contained in:
parent
023697870b
commit
4acd484d55
@ -41,6 +41,7 @@ SKIP: {
|
||||
# producing and checking self-issued (but not self-signed) cert
|
||||
my @path = qw(test certs);
|
||||
my $subj = "/CN=CA"; # using same DN as in issuer of ee-cert.pem
|
||||
my $extfile = srctop_file("test", "v3_ca_exts.cnf");
|
||||
my $pkey = srctop_file(@path, "ca-key.pem"); # issuer private key
|
||||
my $pubkey = "ca-pubkey.pem"; # the corresponding issuer public key
|
||||
# use any (different) key for signing our self-issued cert:
|
||||
@ -50,10 +51,13 @@ SKIP: {
|
||||
ok(run(app(["openssl", "pkey", "-in", $pkey, "-pubout", "-out", $pubkey]))
|
||||
&&
|
||||
run(app(["openssl", "x509", "-new", "-force_pubkey", $pubkey,
|
||||
"-subj", $subj, "-signkey", $signkey, "-out", $selfout]))
|
||||
"-subj", $subj, "-extfile", $extfile,
|
||||
"-signkey", $signkey, "-out", $selfout]))
|
||||
&&
|
||||
run(app(["openssl", "verify", "-no_check_time",
|
||||
"-trusted", $selfout, $testcert])));
|
||||
"-trusted", $selfout, "-partial_chain", $testcert])));
|
||||
unlink $pubkey;
|
||||
unlink $selfout;
|
||||
}
|
||||
|
||||
subtest 'x509 -- x.509 v1 certificate' => sub {
|
||||
|
5
test/v3_ca_exts.cnf
Normal file
5
test/v3_ca_exts.cnf
Normal file
@ -0,0 +1,5 @@
|
||||
basicConstraints = CA:true
|
||||
keyUsage = cRLSign, keyCertSign
|
||||
subjectKeyIdentifier = hash
|
||||
authorityKeyIdentifier = keyid:always
|
||||
|
Loading…
Reference in New Issue
Block a user