From 0d20afff00e34d371faa0cbe7a1abe66e398f918 Mon Sep 17 00:00:00 2001 From: tbrehm Date: Wed, 15 Aug 2012 11:00:38 +0000 Subject: [PATCH] - Added the possibility to set and update the ssl key in the interface. --- interface/web/sites/form/web_domain.tform.php | 8 ++++++++ interface/web/sites/lib/lang/en_web_domain.lng | 1 + interface/web/sites/templates/web_domain_ssl.htm | 4 ++++ server/plugins-available/apache2_plugin.inc.php | 8 +++++--- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index d97d78b5d9..1682f6b6f2 100644 --- a/interface/web/sites/form/web_domain.tform.php +++ b/interface/web/sites/form/web_domain.tform.php @@ -384,6 +384,14 @@ $form["tabs"]['ssl'] = array ( 'width' => '30', 'maxlength' => '255' ), + 'ssl_key' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '10' + ), 'ssl_request' => array ( 'datatype' => 'TEXT', 'formtype' => 'TEXTAREA', diff --git a/interface/web/sites/lib/lang/en_web_domain.lng b/interface/web/sites/lib/lang/en_web_domain.lng index 49a38d1856..4968cfd0f4 100644 --- a/interface/web/sites/lib/lang/en_web_domain.lng +++ b/interface/web/sites/lib/lang/en_web_domain.lng @@ -6,6 +6,7 @@ $wb["ssl_locality_txt"] = 'Locality'; $wb["ssl_organisation_txt"] = 'Organisation'; $wb["ssl_organisation_unit_txt"] = 'Organisation Unit'; $wb["ssl_country_txt"] = 'Country'; +$wb["ssl_key_txt"] = 'SSL Key'; $wb["ssl_request_txt"] = 'SSL Request'; $wb["ssl_cert_txt"] = 'SSL Certificate'; $wb["ssl_bundle_txt"] = 'SSL Bundle'; diff --git a/interface/web/sites/templates/web_domain_ssl.htm b/interface/web/sites/templates/web_domain_ssl.htm index 0b1d1fee18..4c27bb7729 100644 --- a/interface/web/sites/templates/web_domain_ssl.htm +++ b/interface/web/sites/templates/web_domain_ssl.htm @@ -32,6 +32,10 @@ + +
+ +
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 29672730a1..f72f93a3e7 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -195,11 +195,12 @@ class apache2_plugin { @$app->system->unlink($rand_file); $ssl_request = $app->db->quote($app->system->file_get_contents($csr_file)); $ssl_cert = $app->db->quote($app->system->file_get_contents($crt_file)); + $ssl_key2 = $app->db->quote($app->system->file_get_contents($key_file2)); /* Update the DB of the (local) Server */ - $app->db->query("UPDATE web_domain SET ssl_request = '$ssl_request', ssl_cert = '$ssl_cert' WHERE domain = '".$data['new']['domain']."'"); + $app->db->query("UPDATE web_domain SET ssl_request = '$ssl_request', ssl_cert = '$ssl_cert', ssl_key = '$ssl_key2' WHERE domain = '".$data['new']['domain']."'"); $app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); /* Update also the master-DB of the Server-Farm */ - $app->dbmaster->query("UPDATE web_domain SET ssl_request = '$ssl_request', ssl_cert = '$ssl_cert' WHERE domain = '".$data['new']['domain']."'"); + $app->dbmaster->query("UPDATE web_domain SET ssl_request = '$ssl_request', ssl_cert = '$ssl_cert', ssl_key = '$ssl_key2' WHERE domain = '".$data['new']['domain']."'"); $app->dbmaster->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); } @@ -209,7 +210,7 @@ class apache2_plugin { $ssl_dir = $data["new"]["document_root"]."/ssl"; $domain = ($data["new"]["ssl_domain"] != '')?$data["new"]["ssl_domain"]:$data["new"]["domain"]; $key_file = $ssl_dir.'/'.$domain.'.key.org'; - $key_file2 = $ssl_dir.'/'.$domain.'.key'; + $key_file2 = $ssl_dir.'/'.$domain.'.key'; $csr_file = $ssl_dir.'/'.$domain.".csr"; $crt_file = $ssl_dir.'/'.$domain.".crt"; $bundle_file = $ssl_dir.'/'.$domain.".bundle"; @@ -225,6 +226,7 @@ class apache2_plugin { if(trim($data["new"]["ssl_request"]) != '') $app->system->file_put_contents($csr_file,$data["new"]["ssl_request"]); if(trim($data["new"]["ssl_cert"]) != '') $app->system->file_put_contents($crt_file,$data["new"]["ssl_cert"]); if(trim($data["new"]["ssl_bundle"]) != '') $app->system->file_put_contents($bundle_file,$data["new"]["ssl_bundle"]); + if(trim($data["new"]["ssl_key"]) != '') $app->system->file_put_contents($key_file2,$data["new"]["ssl_key"]); /* Update the DB of the (local) Server */ $app->db->query("UPDATE web_domain SET ssl_action = '' WHERE domain = '".$data['new']['domain']."'"); -- GitLab