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 b5de4608c..692fa72d2 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
@@ -32,7 +32,6 @@
validation.http_service
dropdown
-
@@ -88,7 +87,6 @@
validation.dns_service
dropdown
-
validation.dns_sleep
@@ -105,7 +103,6 @@
validation.dns_ad_key
text
-
@@ -116,13 +113,11 @@
validation.dns_ali_key
text
-
validation.dns_ali_secret
text
-
@@ -133,13 +128,11 @@
validation.dns_aws_id
text
-
validation.dns_aws_secret
text
-
@@ -150,13 +143,11 @@
validation.dns_cf_email
text
-
validation.dns_cf_key
text
-
@@ -167,49 +158,61 @@
validation.dns_cx_key
text
-
validation.dns_cx_secret
text
-
-
- header
-
-
+
+ header
+
validation.dns_cyon_user
text
-
validation.dns_cyon_password
text
-
-
- header
-
-
+
+ header
+
+
+
+ validation.dns_dgon_key
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_dnsimple_token
+
+ text
+
+
+
+ header
+
validation.dns_do_pid
text
-
validation.dns_do_password
text
-
@@ -220,43 +223,81 @@
validation.dns_dp_id
text
-
validation.dns_dp_key
text
-
-
- header
-
-
+
+ header
+
+
+
+ validation.dns_duckdns_token
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_dyn_customer
+
+ text
+
+
+ validation.dns_dyn_user
+
+ text
+
+
+ validation.dns_dyn_password
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_dynu_clientid
+
+ text
+
+
+ validation.dns_dynu_secret
+
+ text
+
+
+
+ header
+
validation.dns_freedns_user
text
-
validation.dns_freedns_password
text
-
-
- header
-
-
+
+ header
+
validation.dns_gandi_livedns_key
text
-
@@ -267,13 +308,43 @@
validation.dns_gd_key
text
-
validation.dns_gd_secret
text
-
+
+
+
+ header
+
+
+
+ validation.dns_he_user
+
+ text
+
+
+ validation.dns_he_password
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_infoblox_credentials
+
+ text
+ Use the following format: username:password
+
+
+ validation.dns_infoblox_server
+
+ text
+ Enter either the IP address or FQDN of your Infoblox appliance.
@@ -284,25 +355,21 @@
validation.dns_ispconfig_user
text
-
validation.dns_ispconfig_password
text
-
validation.dns_ispconfig_api
text
-
validation.dns_ispconfig_insecure
checkbox
-
@@ -313,31 +380,26 @@
validation.dns_lexicon_provider
dropdown
-
validation.dns_lexicon_user
text
-
validation.dns_lexicon_token
text
-
-
- header
-
-
+
+ header
+
validation.dns_linode_key
text
-
@@ -348,13 +410,11 @@
validation.dns_lua_email
text
-
validation.dns_lua_key
text
-
@@ -365,13 +425,36 @@
validation.dns_me_key
text
-
validation.dns_me_secret
text
-
+
+
+
+ header
+
+
+
+ validation.dns_namecom_user
+
+ text
+
+
+ validation.dns_namecom_token
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_nsone_key
+
+ text
@@ -382,7 +465,6 @@
validation.dns_nsupdate_server
text
-
validation.dns_nsupdate_key
@@ -399,19 +481,16 @@
validation.dns_ovh_app_key
text
-
validation.dns_ovh_app_secret
text
-
validation.dns_ovh_consumer_key
text
-
validation.dns_ovh_endpoint
@@ -440,6 +519,25 @@
validation.dns_pdns_token
text
-
+
+
+
+ header
+
+
+
+ validation.dns_vscale_key
+
+ text
+
+
+
+ header
+
+
+
+ validation.dns_yandex_token
+
+ text
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 1b6d82f43..aee2e2119 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
@@ -325,19 +325,30 @@
CloudFlare.com API
CloudXNS.com API
cyon.ch API
- Domain-Offensive API
+ DigitalOcean API
+ DNSimple API
+ DNSMadeEasy.com API
+ Domain-Offensive/Resellerinterface/Domainrobot API
DNSPod.cn API
+ DuckDNS API
+ Dyn Managed DNS API
+ Dynu API
FreeDNS API
Gandi LiveDNS API
GoDaddy.com API
+ Hurricane Electric
+ Infoblox API
ISPConfig 3.1+ API
lexicon DNS API
Linode API
LuaDNS.com API
- DNSMadeEasy.com API
+ Name.com API
+ NS1.com API
nsupdate (RFC 2136)
OVH, kimsufi, soyoustart and runabove API
PowerDNS.com API
+ Vscale API
+ Yandex PDD API
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 59aca7547..4aecac91d 100755
--- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
+++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
@@ -607,6 +607,12 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['CY_Username'] = (string)$valObj->dns_cyon_user;
$proc_env['CY_Password'] = (string)$valObj->dns_cyon_user;
break;
+ case 'dns_dgon':
+ $proc_env['DO_API_KEY'] = (string)$valObj->dns_dgon_key;
+ break;
+ case 'dns_dnsimple':
+ $proc_env['DNSimple_OAUTH_TOKEN'] = (string)$valObj->dns_dnsimple_token;
+ break;
case 'dns_do':
$proc_env['DO_PID'] = (string)$valObj->dns_do_pid;
$proc_env['DO_PW'] = (string)$valObj->dns_do_password;
@@ -615,6 +621,18 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['DP_Id'] = (string)$valObj->dns_dp_id;
$proc_env['DP_Key'] = (string)$valObj->dns_dp_key;
break;
+ case 'dns_duckdns':
+ $proc_env['DuckDNS_Token'] = (string)$valObj->dns_duckdns_token;
+ break;
+ case 'dns_dyn':
+ $proc_env['DYN_Customer'] = (string)$valObj->dns_dyn_customer;
+ $proc_env['DYN_Username'] = (string)$valObj->dns_dyn_user;
+ $proc_env['DYN_Password'] = (string)$valObj->dns_dyn_password;
+ break;
+ case 'dns_dynu':
+ $proc_env['Dynu_ClientId'] = (string)$valObj->dns_dynu_clientid;
+ $proc_env['Dynu_Secret'] = (string)$valObj->dns_dynu_secret;
+ break;
case 'dns_freedns':
$proc_env['FREEDNS_User'] = (string)$valObj->dns_freedns_user;
$proc_env['FREEDNS_Password'] = (string)$valObj->dns_freedns_password;
@@ -626,6 +644,14 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['GD_Key'] = (string)$valObj->dns_gd_key;
$proc_env['GD_Secret'] = (string)$valObj->dns_gd_secret;
break;
+ case 'dns_he':
+ $proc_env['HE_Username'] = (string)$valObj->dns_he_user;
+ $proc_env['HE_Password'] = (string)$valObj->dns_he_password;
+ break;
+ case 'dns_infoblox':
+ $proc_env['Infoblox_Creds'] = (string)$valObj->dns_infoblox_credentials;
+ $proc_env['Infoblox_Server'] = (string)$valObj->dns_infoblox_server;
+ break;
case 'dns_ispconfig':
$proc_env['ISPC_User'] = (string)$valObj->dns_ispconfig_user;
$proc_env['ISPC_Password'] = (string)$valObj->dns_ispconfig_password;
@@ -655,6 +681,13 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['ME_Key'] = (string)$valObj->dns_me_key;
$proc_env['ME_Secret'] = (string)$valObj->dns_me_secret;
break;
+ case 'dns_namecom':
+ $proc_env['Namecom_Username'] = (string)$valObj->dns_namecom_user;
+ $proc_env['Namecom_Token'] = (string)$valObj->dns_namecom_token;
+ break;
+ case 'dns_nsone':
+ $proc_env['NS1_Key'] = (string)$valObj->dns_nsone_key;
+ break;
case 'dns_nsupdate':
// Write secret key to filesystem
$secret_key_data = (string)$valObj->dns_nsupdate_key . "\n";
@@ -674,6 +707,12 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['PDNS_ServerId'] = (string)$valObj->dns_pdns_serverid;
$proc_env['PDNS_Token'] = (string)$valObj->dns_pdns_token;
break;
+ case 'dns_vscale':
+ $proc_env['VSCALE_API_KEY'] = (string)$valObj->dns_vscale_key;
+ break;
+ case 'dns_yandex':
+ $proc_env['PDD_Token'] = (string)$valObj->dns_yandex_token;
+ break;
default:
log_error("AcmeClient: invalid DNS-01 service specified: " . (string)$valObj->dns_service);
return(1);