From 552a25281b06d6ab12ca83c5788434f52b1ebb7e Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 27 May 2026 11:54:46 +0530 Subject: [PATCH 1/6] Allow custom common name for CSR generation and support wildcard domains --- .../openprovider_ssl/classes/HandleCSRCreation.php | 10 +++++++--- modules/servers/openprovider_ssl/hooks.php | 2 +- modules/servers/openprovider_ssl/lib/Helper.php | 14 ++++---------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php index 40c7e8d..143a040 100644 --- a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php +++ b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php @@ -33,9 +33,13 @@ public function handleCSRCreation($vars) $data = html_entity_decode($whmcs->get_req_var("data")); parse_str($data, $dataArray); + $commonName = !empty($dataArray['common_name']) + ? trim($dataArray['common_name']) + : $vars['domain']; + $postData = [ - "bits" => (int) 4098, - "common_name" => $vars['domain'], + "bits" => (int) 4096, + "common_name" => $commonName, "country" => $dataArray['country'], "email" => $dataArray['email'], "locality" => $dataArray['locality'], @@ -45,7 +49,7 @@ public function handleCSRCreation($vars) "unit" => $dataArray['unit'], "with_config" => (bool)$dataArray['with_config'], "subject_alternative_name" => [ - "www.".$vars['domain'], + $commonName, ], ]; $baseUrl = $this->helper->getBaseUrl(); diff --git a/modules/servers/openprovider_ssl/hooks.php b/modules/servers/openprovider_ssl/hooks.php index 9611d68..b7885f7 100644 --- a/modules/servers/openprovider_ssl/hooks.php +++ b/modules/servers/openprovider_ssl/hooks.php @@ -152,7 +152,7 @@ parse_str($data, $dataArray); $postData = [ - "bits" => (int) 4098, + "bits" => (int) 4096, "common_name" => $dataArray['common_name'], "country" => $dataArray['country'], "email" => $dataArray['email'], diff --git a/modules/servers/openprovider_ssl/lib/Helper.php b/modules/servers/openprovider_ssl/lib/Helper.php index ef5cdd0..63dc041 100644 --- a/modules/servers/openprovider_ssl/lib/Helper.php +++ b/modules/servers/openprovider_ssl/lib/Helper.php @@ -319,16 +319,10 @@ public function createCsrTokenHtml($clientcountries, $LANG, $action = '') '; - if ($action == 'yes') { - $html .= '
-
- -
-
- -
-
'; - } + $html .= ' + + + '; $html .= '
From 3b8b8d378846ae2f66d11c81fd926c13fa4bec8a Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 10 Jun 2026 09:37:58 +0530 Subject: [PATCH 2/6] fix: copilot - add grid structure and for/id to common name field --- modules/servers/openprovider_ssl/lib/Helper.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/servers/openprovider_ssl/lib/Helper.php b/modules/servers/openprovider_ssl/lib/Helper.php index 63dc041..08bdeee 100644 --- a/modules/servers/openprovider_ssl/lib/Helper.php +++ b/modules/servers/openprovider_ssl/lib/Helper.php @@ -319,10 +319,14 @@ public function createCsrTokenHtml($clientcountries, $LANG, $action = '')
'; - $html .= ' - - - '; + $html .= '
+
+ +
+
+ +
+
'; $html .= '
From b2ab4242609002aebf8ff79ea50f5ed2d5d66493 Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 10 Jun 2026 09:38:30 +0530 Subject: [PATCH 3/6] fix: copilot - use lang key for common name placeholder --- modules/servers/openprovider_ssl/lang/english.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/servers/openprovider_ssl/lang/english.php b/modules/servers/openprovider_ssl/lang/english.php index 672fa14..7de17fb 100644 --- a/modules/servers/openprovider_ssl/lang/english.php +++ b/modules/servers/openprovider_ssl/lang/english.php @@ -14,6 +14,7 @@ $_ADDONLANG["country"] = "Country"; $_ADDONLANG["select_country"] = "Select Country"; $_ADDONLANG["common_name"] = "Common Name (Domain)"; +$_ADDONLANG["common_name_text"] = "example.com or *.example.com"; $_ADDONLANG["email"] = "Email Address"; $_ADDONLANG["sha2"] = "SHA-2"; $_ADDONLANG["sha1"] = "SHA-1"; From 5528f3daa361dcd1ef4fa86af765a41cc20716a5 Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 10 Jun 2026 09:39:08 +0530 Subject: [PATCH 4/6] use filter_var for with_config bool in HandleCSRCreation --- .../servers/openprovider_ssl/classes/HandleCSRCreation.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php index 143a040..fb49b1e 100644 --- a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php +++ b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php @@ -47,9 +47,9 @@ public function handleCSRCreation($vars) "signature_hash_algorithm" => $dataArray['signature_hash_algorithm'], "state" => $dataArray['state'], "unit" => $dataArray['unit'], - "with_config" => (bool)$dataArray['with_config'], + "with_config" => filter_var($dataArray['with_config'], FILTER_VALIDATE_BOOLEAN), "subject_alternative_name" => [ - $commonName, + str_starts_with($commonName, '*.') ? $commonName : 'www.' . $commonName, ], ]; $baseUrl = $this->helper->getBaseUrl(); From 7ad90551b287d0f2412b556b5c4ed98cecf8fe8d Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 10 Jun 2026 09:39:36 +0530 Subject: [PATCH 5/6] fix: copilot - use filter_var for with_config and fix wildcard SAN in hooks --- modules/servers/openprovider_ssl/hooks.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/servers/openprovider_ssl/hooks.php b/modules/servers/openprovider_ssl/hooks.php index b7885f7..1257d01 100644 --- a/modules/servers/openprovider_ssl/hooks.php +++ b/modules/servers/openprovider_ssl/hooks.php @@ -161,9 +161,9 @@ "signature_hash_algorithm" => $dataArray['signature_hash_algorithm'], "state" => $dataArray['state'], "unit" => $dataArray['unit'], - "with_config" => (bool)$dataArray['with_config'], + "with_config" => filter_var($dataArray['with_config'], FILTER_VALIDATE_BOOLEAN), "subject_alternative_name" => [ - "www.".$dataArray['common_name'], + str_starts_with($dataArray['common_name'], '*.') ? $dataArray['common_name'] : 'www.' . $dataArray['common_name'], ], ]; $baseUrl = $helper->getBaseUrl(); From 9fdbdf7ac53ece67db3ea817351dadaf9d172f4e Mon Sep 17 00:00:00 2001 From: YumeChaan Date: Wed, 10 Jun 2026 09:44:40 +0530 Subject: [PATCH 6/6] pre-fill common name field with order domain --- .../servers/openprovider_ssl/classes/HandleCSRCreation.php | 6 +++--- modules/servers/openprovider_ssl/lib/Helper.php | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php index fb49b1e..328722c 100644 --- a/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php +++ b/modules/servers/openprovider_ssl/classes/HandleCSRCreation.php @@ -67,10 +67,10 @@ public function handleCSRCreation($vars) exit; } - return $this->generateHTML($csrCustomFieldId); + return $this->generateHTML($csrCustomFieldId, false, $vars['domain']); } - private function generateHTML($csrCustomFieldId, $isAdmin = false) + private function generateHTML($csrCustomFieldId, $isAdmin = false, $domain = '') { global $CONFIG, $LANG; @@ -124,7 +124,7 @@ function copyTexts() { }); '; } - $html .= $this->helper->createCsrTokenHtml($countries, $LANG); + $html .= $this->helper->createCsrTokenHtml($countries, $LANG, '', $domain); return $html; } diff --git a/modules/servers/openprovider_ssl/lib/Helper.php b/modules/servers/openprovider_ssl/lib/Helper.php index 08bdeee..537c5eb 100644 --- a/modules/servers/openprovider_ssl/lib/Helper.php +++ b/modules/servers/openprovider_ssl/lib/Helper.php @@ -276,7 +276,7 @@ public function adminButton($LANG) return $html; } - public function createCsrTokenHtml($clientcountries, $LANG, $action = '') + public function createCsrTokenHtml($clientcountries, $LANG, $action = '', $domain = '') { try { $html = ''; @@ -324,7 +324,7 @@ public function createCsrTokenHtml($clientcountries, $LANG, $action = '')
- +
';