提交 4acd484d 编写于 作者: D Dr. David von Oheimb

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: NViktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10587)
上级 02369787
......@@ -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 {
......
basicConstraints = CA:true
keyUsage = cRLSign, keyCertSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册