x509: Only allow certificates with cRLSign keyUsage to sign CRLs
This commit is contained in:
@@ -462,12 +462,12 @@ METHOD(certificate_t, issued_by, bool,
|
|||||||
x509_t *x509 = (x509_t*)issuer;
|
x509_t *x509 = (x509_t*)issuer;
|
||||||
chunk_t keyid = chunk_empty;
|
chunk_t keyid = chunk_empty;
|
||||||
|
|
||||||
/* check if issuer is an X.509 CA certificate */
|
/* check if issuer is an X.509 certificate with cRLSign keyUsage bit set */
|
||||||
if (issuer->get_type(issuer) != CERT_X509)
|
if (issuer->get_type(issuer) != CERT_X509)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
if (!(x509->get_flags(x509) & (X509_CA | X509_CRL_SIGN)))
|
if (!(x509->get_flags(x509) & X509_CRL_SIGN))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user