Please Note:

The text on this page was translated by translation software. A revised version from our editors will be available soon.

For IONOS server products running Linux or Windows

The ACME (Automatic Certificate Management Environment) protocol is used for the automatic issuance and management of SSL/TLS certificates. In this article, you’ll learn how to set up SSL certificates on your server using the IONOS ACME server. The setup process is described for Linux systems using Certbot and for Windows systems using win-acme.

Note

The IONOS ACME server currently supports only Domain Validation (DV) certificates. OV and EV certificates cannot currently be issued via ACME.

Requirements

To use the IONOS ACME interface, the following requirements must be met:

  • You need root or sudo privileges on your Linux system or administrator access to your Windows server, for example via RDP.

  • Your domain uses IONOS’s nameservers.

  • An available DV certificate must be present in your IONOS account. This can be either a free or paid DV certificate.

  • The domain for which the certificate is to be issued points to your server’s public IP address via an A or AAAA record.

  • The server is accessible from the Internet.

  • If you’re using Certbot with the Nginx or Apache plugin, the respective web server must be correctly installed and configured.

  • If you are using win-acme with IIS, a suitable IIS website or IIS binding should already exist for the desired domain.

Step 1: Generate an External Account Binding (EAB)

Before you can issue a certificate via the IONOS ACME server, you must first create the appropriate login credentials in your IONOS account.

  • Go to the SSL management section in your IONOS account.
  • In the right-hand navigation pane, click the ACME External Account Bindings link.
  • Click the " Create Account" button .
  • Enter the desired account name in the corresponding field and click Next.
  • Make a note of the displayed Key ID and the HMAC key.
  • Check the box next to " I have copied the HMAC key " and click " Got it!".

 

Caution

For security reasons, the HMAC key is displayed only once during creation. Keep the key ID and the HMAC key in a secure place . Do not disclose this information to third parties, and do not store it unsecured in scripts or publicly accessible files.

Step 2: Install the client and obtain a certificate

Note

If you are already using a manually installed certificate for your domain and would now like to switch to ACME, please have the certificate reissued once via the client. We strongly recommend that you create a backup of your current web server configuration beforehand.

The next steps vary depending on the operating system:

  • Linux: Setup with Certbot
  • Windows: Setup with win-acme
Option A: Setup on Linux Servers (Certbot)

Install Certbot and the appropriate plugin for your web server according to the official Certbot instructions (https://certbot.eff.org/).

Then log in to your Linux server via SSH.

In the following commands, replace example.com with your domain and $eab_kid and $eab_key with the data generated in Step 1.

Note

The parameter -m "" represents the email address, which is not actively used by the IONOS ACME server and can therefore be left blank.

Example for Nginx

certbot --nginx \
--server https://acme.ionos.com/directory \
-m "" \
-d example.com \
--eab-kid $eab_kid \
--eab-hmac-key $eab_key

Example for Apache

certbot --apache \
--server https://acme.ionos.com/directory \
-m "" \
-d example.com \
--eab-kid $eab_kid \
--eab-hmac-key $eab_key

Standalone Mode

Select this mode if you simply want to download the certificate without Certbot interfering with your web server's configuration.

certbot certonly --standalone \
--server https://acme.ionos.com/directory \
-m "" \
-d example.com \
--eab-kid $eab_kid \
--eab-hmac-key $eab_key

Once the certificate has been successfully issued, you can usually find the certificate files at:

/etc/letsencrypt/live/example.com/

Important files include:

fullchain.pem
privkey.pem

If you are using standalone mode, you must then manually include these files in your web server’s configuration.

Option B: Setup on Windows Servers Using win-acme

On Windows servers, you can use win-acme. When used with IIS, win-acme can request and install certificates and automatically update IIS bindings.

Interactive Setup

  • Open PowerShell as an administrator.
  • Navigate to the directory where wacs.exe is located
  • To start win-acme in interactive mode with the IONOS ACME server, run the following command:

    .\wacs.exe --baseuri https://acme.ionos.com

  • From the win-acme menu, select N: Create Certificate (default options).
  • Then select your website or the desired IIS binding.
  • When win-acme prompts you for the key identifier and the key, enter the key ID and HMAC key you created earlier.

The win-acme tool will now request the certificate, install it, and automatically adjust the configuration for the IIS binding.

Alternative: Setup via PowerShell command

You can also initiate the issuance directly via PowerShell:

./wacs.exe --source iis --installation iis `
--baseuri https://acme.ionos.com/ `
--host test-cloud-hosting2.de `
--eab-key-identifier YOUR_KEY_ID `
--eab-key YOUR_HMAC_KEY `
--emailaddress “”

Note

The parameter --emailaddress "" represents the email address, which is not actively used by the IONOS ACME server and can therefore be left blank.

Check the setup

Once the certificate has been successfully issued, it will be marked with the "ACME " label in your IONOS SSL management console.

Checking on Linux

You can use Certbot to view the managed certificates:

certbot certificates

Then open your website in a browser:

https://example.com

Alternatively, you can verify the certificate using OpenSSL:

openssl s_client -connect example.com:443 -servername example.com

Check for Automatic Renewal

A key advantage of ACME is the automatic renewal of certificates. Certbot can manage certificates, monitor their expiration dates, and renew them.

Automatic Renewal on Linux

Depending on the installation method, Certbot sets up either a systemd timer or a cron job.

On systemd-based distributions, check whether a Certbot timer exists.

systemctl list-timers | grep -i certbot

You can test the renewal using the following command:

certbot renew --dry-run

Automatic Renewal in Windows

By default, win-acme creates a scheduled task in the Windows Task Scheduler. This task automatically performs the renewal. win-acme uses the --renew parameter for scheduled renewals.

You can view existing renewal configurations using the following command:

.\wacs.exe --list --baseuri "https://acme.ionos.com"

Also, check the Windows Task Scheduler to see if a Win-ACME task exists and is enabled.

More Information

For more information about Certbot and win-acme, see the official documentation: