> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ClientCertificateConfig

<span id="atoti.ClientCertificateConfig" />

> atoti.ClientCertificateConfig(<br />
>     \*,<br />
>     *trust\_store*: [Path](https://docs.python.org/3/library/pathlib.html#pathlib.Path),<br />
>     *trust\_store\_password*: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None),<br />
>     *username\_regex*: [str](https://docs.python.org/3/library/stdtypes.html#str) = `'CN=(.*?)(?:,|$)'`,<br />
> )

The JKS truststore config to enable client certificate authentication (also called mutual TLS or mTLS) on the application.

<Callout icon="link">
  **See also**:
  [`ClientCertificate`](./atoti.authentication.ClientCertificate#atoti.ClientCertificate).
</Callout>

### Attributes

<h4 id="atoti.ClientCertificateConfig.trust_store">
  *trust\_store*
</h4>

Path to the truststore file generated with the certificate used to sign client certificates.

<h4 id="atoti.ClientCertificateConfig.trust_store_password">
  *trust\_store\_password*
</h4>

Password protecting the truststore.

<h4 id="atoti.ClientCertificateConfig.username_regex">
  *username\_regex*
</h4>

Regex to extract the username from the certificate.
