- fix included in 1.9
This commit is contained in:
parent
7bf6313a47
commit
01711b78ff
@ -1,25 +0,0 @@
|
|||||||
Reading the NID_key_usage extension doesn't ensure that the ex_flags and
|
|
||||||
ex_kusage fields that the ku_reject() macro checks. It'd probably be
|
|
||||||
better to check the usage string directly, but calling X509_check_ca()
|
|
||||||
makes the right things happen. RT#6775, part of #629022.
|
|
||||||
|
|
||||||
Index: src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
|
|
||||||
===================================================================
|
|
||||||
--- src/plugins/preauth/pkinit/pkinit_crypto_openssl.c (revision 24312)
|
|
||||||
+++ src/plugins/preauth/pkinit/pkinit_crypto_openssl.c (revision 24313)
|
|
||||||
@@ -2005,6 +2005,7 @@
|
|
||||||
pkiDebug("%s: found acceptable EKU, checking for digitalSignature\n", __FUNCTION__);
|
|
||||||
|
|
||||||
/* check that digitalSignature KeyUsage is present */
|
|
||||||
+ X509_check_ca(reqctx->received_cert);
|
|
||||||
if ((usage = X509_get_ext_d2i(reqctx->received_cert,
|
|
||||||
NID_key_usage, NULL, NULL))) {
|
|
||||||
|
|
||||||
@@ -4551,6 +4552,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make sure usage exists before checking bits */
|
|
||||||
+ X509_check_ca(x);
|
|
||||||
usage = X509_get_ext_d2i(x, NID_key_usage, NULL, NULL);
|
|
||||||
if (usage) {
|
|
||||||
if (!ku_reject(x, X509v3_KU_DIGITAL_SIGNATURE))
|
|
Loading…
Reference in New Issue
Block a user