diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
index 9cdc8c369..8ad18f5a3 100644
--- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
+++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
@@ -1111,4 +1111,14 @@
password
+
+
+ header
+
+
+
+ validation.dns_hetzner_token
+
+ password
+
diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
index 66a93286d..2880e1161 100644
--- a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
+++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
@@ -387,6 +387,7 @@
GoDaddy.com API
Google Cloud DNS API
GratisDNS.dk
+ Hetzner DNS API
hosting.de API
Hurricane Electric
Infoblox API
@@ -889,6 +890,9 @@
N
+
+ N
+
diff --git a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
index fc8cc6a44..7c7a6109c 100755
--- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
+++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
@@ -800,6 +800,9 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['GDNSDK_Username'] = (string)$valObj->dns_gdnsdk_user;
$proc_env['GDNSDK_Password'] = (string)$valObj->dns_gdnsdk_password;
break;
+ case 'dns_hetzner':
+ $proc_env['HETZNER_Token'] = (string)$valObj->dns_hetzner_token;
+ break;
case 'dns_hostingde':
$proc_env['HOSTINGDE_ENDPOINT'] = (string)$valObj->dns_hostingde_server;
$proc_env['HOSTINGDE_APIKEY'] = (string)$valObj->dns_hostingde_apiKey;