use trusted self-signed root CA certificates as trust anchor only
This commit is contained in:
@@ -904,10 +904,20 @@ static bool verify_trust_chain(private_credential_manager_t *this,
|
|||||||
issuer = get_issuer_cert(this, current, TRUE);
|
issuer = get_issuer_cert(this, current, TRUE);
|
||||||
if (issuer)
|
if (issuer)
|
||||||
{
|
{
|
||||||
auth->add_item(auth, AUTHZ_CA_CERT, issuer);
|
/* accept only self-signed CAs as trust anchor */
|
||||||
DBG1(DBG_CFG, " using trusted ca certificate \"%D\"",
|
if (this->cache->issued_by(this->cache, issuer, issuer))
|
||||||
issuer->get_subject(issuer));
|
{
|
||||||
trusted = TRUE;
|
auth->add_item(auth, AUTHZ_CA_CERT, issuer);
|
||||||
|
DBG1(DBG_CFG, " using trusted ca certificate \"%D\"",
|
||||||
|
issuer->get_subject(issuer));
|
||||||
|
trusted = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
auth->add_item(auth, AUTHZ_IM_CERT, issuer);
|
||||||
|
DBG1(DBG_CFG, " using trusted intermediate ca certificate "
|
||||||
|
"\"%D\"", issuer->get_subject(issuer));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -922,8 +932,8 @@ static bool verify_trust_chain(private_credential_manager_t *this,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
auth->add_item(auth, AUTHZ_IM_CERT, issuer);
|
auth->add_item(auth, AUTHZ_IM_CERT, issuer);
|
||||||
DBG1(DBG_CFG, " using untrusted ca certificate \"%D\"",
|
DBG1(DBG_CFG, " using untrusted intermediate certificate "
|
||||||
issuer->get_subject(issuer));
|
"\"%D\"", issuer->get_subject(issuer));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user