![]() |
![]()
| ![]() |
![]()
NameOpenXPKI::Server::Authentication::X509 - certificate based authentication. DescriptionUse a certificate chain passed by the authenticator to authenticate the user. This is an abstract base class, the actual challenge and extraction of the chain is done in ChallengeX509 and ClientX509 class, the later validation performs several steps: * look up a suitable root certificate, either in the received chain or in the database. * do a cryptographic validation on the chain. * check if any of the certificates (entity, chain or root) is contained in the trust anchor list. Any failure results in an exception. Functions_load_anchorsCreate a list of trust anchor identifiers by calling get_trust_anchors passing the config node trust_anchor as path argument. login_stepreturns a pair of (user, role, response_message) for a given login step. Noop - needs to be implemented by the inherited classes. configurationSignature:
trust_rule: rule1: profile: tls_client meta_auth_attribute: value parameters
ExamplesStatic Allow all certiticates issued from the internal realm user-ca and set their role to User. Set CN as username (default). type: ClientX509 role: User trust_anchor: realm: user-ca Static role, extended user information from CN Querys the given connector with the full DN as argument, expects a hash that contains at least the key username, all other keys are made available in the "userinfo" structure (e.g. realname and emailaddress). type: ClientX509 role: User user@: connector:my.user.info.source arg: subject trust_anchor: realm: user-ca Dynamic role Similar to above but as role is not set in the config the hash returned by the connector must also contain role. As arg is also not set the query parameter given to the connector is only the common name. type: ClientX509 user@: connector:my.user.info.source trust_anchor: realm: user-ca
|