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 7da76ac8d..a5d45559b 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
@@ -666,6 +666,26 @@
text
+
+
+ header
+
+
+
+ validation.dns_netcup_cid
+
+ text
+
+
+ validation.dns_netcup_key
+
+ text
+
+
+ validation.dns_netcup_pw
+
+ text
+
header
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 e8cdb2877..e66b9d041 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
@@ -378,6 +378,7 @@
Name.com API
Namecheap API
Namesilo.com API
+ netcup DNS API
NS1.com API
nsupdate (RFC 2136)
OVH, kimsufi, soyoustart and runabove API
@@ -624,6 +625,15 @@
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 45d769682..c561c3bcd 100755
--- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
+++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
@@ -811,6 +811,13 @@ function run_acme_validation($certObj, $valObj, $acctObj)
// Namesilo applies changes to DNS records only every 15 minutes.
$acme_hook_options[] = "--dnssleep 960";
break;
+ case 'dns_netcup':
+ $proc_env['NC_CID'] = (string)$valObj->dns_netcup_cid;
+ $proc_env['NC_Apikey'] = (string)$valObj->dns_netcup_key;
+ $proc_env['NC_Apipw'] = (string)$valObj->dns_netcup_pw;
+ // netcup applies changes to DNS records only every 10 minutes.
+ $acme_hook_options[] = "--dnssleep 600";
+ break;
case 'dns_nsone':
$proc_env['NS1_Key'] = (string)$valObj->dns_nsone_key;
break;