vici: Add support for certificate policies

This commit is contained in:
Tobias Brunner committed 2017-02-16 19:23:50 +01:00
1 parent 44fcc83310
commit e00bc9f6b2
3 files changed
+24

No files matched your search

+17
View File
@@ -1141,6 +1141,22 @@ CALLBACK(parse_group, bool,
return parse_id(cfg, AUTH_RULE_GROUP, v); return parse_id(cfg, AUTH_RULE_GROUP, v);
} }
/**
* Parse certificate policy
*/
CALLBACK(parse_cert_policy, bool,
auth_cfg_t *cfg, chunk_t v)
{
char buf[BUF_LEN];
if (!vici_stringify(v, buf, sizeof(buf)))
{
return FALSE;
}
cfg->add(cfg, AUTH_RULE_CERT_POLICY, strdup(buf));
return TRUE;
}
/** /**
* Parse a certificate; add as auth rule to config * Parse a certificate; add as auth rule to config
*/ */
@@ -1402,6 +1418,7 @@ CALLBACK(auth_li, bool,
{ {
parse_rule_t rules[] = { parse_rule_t rules[] = {
{ "groups", parse_group, auth->cfg }, { "groups", parse_group, auth->cfg },
{ "cert_policy", parse_cert_policy, auth },
{ "certs", parse_certs, auth }, { "certs", parse_certs, auth },
{ "cacerts", parse_cacerts, auth }, { "cacerts", parse_cacerts, auth },
{ "pubkeys", parse_pubkeys, auth }, { "pubkeys", parse_pubkeys, auth },
+1
View File
@@ -38,6 +38,7 @@ static bool is_list_key(char *key)
"vips", "vips",
"pools", "pools",
"groups", "groups",
"cert_policy",
}; };
int i; int i;
+6
View File
@@ -406,6 +406,12 @@ connections.<conn>.remote<suffix>.groups =
can be certified by different means, for example by appropriate Attribute can be certified by different means, for example by appropriate Attribute
Certificates or by an AAA backend involved in the authentication. Certificates or by an AAA backend involved in the authentication.
connections.<conn>.remote<suffix>.cert_policy =
Certificate policy OIDs the peer's certificate must have.
Comma separated list of certificate policy OIDs the peer's certificate must
have. OIDs are specified using the numerical dotted representation.
connections.<conn>.remote<suffix>.certs = connections.<conn>.remote<suffix>.certs =
Comma separated list of certificate to accept for authentication. Comma separated list of certificate to accept for authentication.