diff --git a/interface/web/sites/form/web_domain.tform.php b/interface/web/sites/form/web_domain.tform.php index d97d78b5d99e048f8333e00806dc1fd5f087c4f1..1682f6b6f2c3089b51572ccae938fccf9f851a72 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 49a38d18569662f45c8ac050e43acfbe9ea511b0..4968cfd0f401576225682297de65788d70c20ad7 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 0b1d1fee18a0323a3123c601e2e3869ccb18a280..4c27bb77298df546759290df5dfd967d1400d8e7 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 29672730a1802a5bec3838ef2d90827dc2c6f077..f72f93a3e7816c2f067401871c3b8261c3f0c2f6 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']."'");