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 e07d394ca..b7b664733 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
@@ -750,4 +750,30 @@
text
+
+
+ header
+
+
+
+ validation.dns_acmedns_user
+
+ text
+
+
+ validation.dns_acmedns_password
+
+ password
+
+
+ validation.dns_acmedns_subdomain
+
+ text
+
+
+ validation.dns_acmedns_updateurl
+
+ text
+ Specify the custom ACME DNS Update URL, i.e. https://auth.acme-dns.io/update (optional)
+
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 f3a6dd373..e40b3cea4 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
@@ -383,6 +383,7 @@
Yandex PDD API
Zilore DNS API
zonomi.com domain API
+ ACME DNS API
@@ -654,7 +655,19 @@
N
-
+
+
+ N
+
+
+ N
+
+
+ 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 ba27fb519..cc7d8303b 100755
--- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
+++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
@@ -776,7 +776,13 @@ function run_acme_validation($certObj, $valObj, $acctObj)
break;
case 'dns_zonomi':
$proc_env['ZM_Key'] = (string)$valObj->dns_zm_key;
- break;
+ break;
+ case 'dns_acmedns':
+ $proc_env['ACMEDNS_USERNAME'] = (string)$valObj->dns_acmedns_user;
+ $proc_env['ACMEDNS_PASSWORD'] = (string)$valObj->dns_acmedns_password;
+ $proc_env['ACMEDNS_SUBDOMAIN'] = (string)$valObj->dns_acmedns_subdomain;
+ $proc_env['ACMEDNS_UPDATE_URL'] = (string)$valObj->dns_acmedns_updateurl;
+ break;
default:
log_error("AcmeClient: invalid DNS-01 service specified: " . (string)$valObj->dns_service);
return(1);