---
name: "acme-client.conf"
section: "5"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/acme-client.conf"
---

# acme-client.conf(5)

acme-client configuration file

## NAME

**acme-client.conf** – acme-client configuration file

## DESCRIPTION

The **acme-client.conf** file is divided into the following main sections:

- Macros

  Definitions of variables that can be used later, simplifying the configuration file.

- Authorities

  Certificate authorities (CAs) that can be contacted via ACME.

- Domains

  Certificate specifications.

Additional configuration files can be included with the **include** keyword, for example:

```
include "/etc/acme-client.sub.conf"
```

The current line can be extended over multiple lines using a backslash (‘\\’). Comments can be put anywhere in the file using a hash mark (‘#’), and extend to the end of the current line. Care should be taken when commenting out multi-line text: the comment is effective until the end of the entire block.

Arguments not beginning with a letter, digit, underscore, or '/' must be quoted.

### Macros

A macro is defined with a command of the form *name*=*value*. The macro *name* can contain letters, digits, and underscores and cannot be a reserved word. Within unquoted arguments, the string $*name* is later expanded to *value*.

For example:

```
api_url="https://acme-v02.api.letsencrypt.org/directory"
authority letsencrypt {
	api url $api_url
	account key "/etc/acme/letsencrypt-privkey.pem"
}
```

### Authorities

The configured certificate authorities.

Each authority section starts with a declaration of the name identifying a certificate authority.

- **authority** *name* {...}

  The *name* is a string used to reference this certificate authority.

It is followed by a block of options enclosed in curly brackets:

- **account** **key** *file* \[*keytype*\]

  Specify a *file* used to identify the user of this certificate authority. *keytype* can be **rsa** or **ecdsa**. It defaults to **rsa**.

- **api** **url** *url*

  Specify the *url* under which the ACME API is reachable.

- **contact** *contact*

  Optional *contact* URLs that the authority can use to contact the client for issues related to this account.

### Domains

The certificates to be obtained through ACME.

- **domain** *handle* {...}

  Each domain section begins with the **domain** keyword followed by an identifier for this domain block. This is usually the domain name however, if requesting certificates of different types (EC and RSA) for the same name, the *handle* identifiers should be unique and the **domain** **name** directive should be used.

It is followed by a block of options enclosed in curly brackets:

- **domain** **name** *name*

  The *name* to be used as the primary Subject Alternative Name (SAN) in the X.509 certificate. This is optional. If not specified, the *handle* of the domain block will be used.

- **alternative** **names** {...}

  A list of additional names, comma or space separated, for which the certificate will be valid. If supported by the CA and selected profile, either fully qualified domain names, IPv4, or IPv6 addresses may be used. There is no automatic conversion/inclusion between "www." and plain domain name forms.

- **domain** **key** *file* \[*keytype*\]

  The private key file for which the certificate will be obtained. *keytype* can be **rsa** or **ecdsa**. It defaults to **rsa**. If the key file does not exist, [acme-client(1)](/acme-client/1.md) will generate a key itself (4096-bit for **rsa** or secp384r1 for **ecdsa**).

- **domain** **certificate** *file*

  The filename of the certificate that will be issued. This is optional if *domain* *full* *chain* *certificate* is specified. A backup with name *file.1* is created if *file* exists.

- **domain** **chain** **certificate** *file*

  The filename in which to store the certificate chain that will be returned by the certificate authority. It needs to be in the same directory as the *domain* *certificate* (or in a subdirectory) and can be specified as a relative or absolute path. This setting is optional. A backup with name *file.1* is created if *file* exists.

- **domain** **full** **chain** **certificate** *file*

  The filename in which to store the full certificate chain that will be returned by the certificate authority. It needs to be in the same directory as the *domain* *certificate* (or in a subdirectory) and can be specified as a relative or absolute path. This is a combination of the *domain* *certificate* and the *domain* *chain* *certificate* in one file, and is required by most browsers. This is optional if *domain* *certificate* is specified. A backup with name *file.1* is created if *file* exists.

- **profile** *profile*

  The certificate profile to be requested. If this setting is absent, no profile request is made.

- **sign** **with** *authority*

  The certificate authority (as declared above in the Authorities section) to use. If this setting is absent, the first authority specified is used.

- **challengedir** *path*

  The directory in which the challenge file will be stored. If it is not specified, a default of */var/www/acme* will be used.

## FILES

- */etc/acme-client.conf*

  [acme-client(1)](/acme-client/1.md) configuration file.

- */etc/examples/acme-client.conf*

  Example configuration file.

## SEE ALSO

[acme-client(1)](/acme-client/1.md)

## HISTORY

The **acme-client.conf** file format first appeared in OpenBSD 6.1.
