Browse code

Interface für Zertifikate ist zunächst versteckt. Vermeidung von SSL als Begriff.

Bernd Wurst authored on13/11/2016 08:21:31
Showing9 changed files
... ...
@@ -23,7 +23,7 @@ title("Zertifikat zum CSR hinzufügen");
23 23
 
24 24
 $csr = csr_details($_REQUEST['id']);
25 25
 
26
-output("<p>Wenn Ihr CSR von der Zertifizierungsstelle akzeptiert und unterschrieben wurde, erhalten Sie ein SSL-Zertifikat zurück.
26
+output("<p>Wenn Ihr CSR von der Zertifizierungsstelle akzeptiert und unterschrieben wurde, erhalten Sie ein Zertifikat zurück.
27 27
 Dieses hat in etwa die Form
28 28
 <pre>-----BEGIN CERTIFICATE-----
29 29
 ...
... ...
@@ -17,9 +17,9 @@ Nevertheless, in case you use a significant part of this code, we ask (but not r
17 17
 require_once("certs.php");
18 18
 require_role(ROLE_SYSTEMUSER);
19 19
 
20
-title("SSL-Zertifikate");
20
+title("Zertifikate");
21 21
 
22
-output('<p>Bei '.config('company_name').' können Sie Ihre eigenen SSL-Zertifikate nutzen. Wir verwenden dafür (wenn nicht anders vereinbart) die SNI-Technik.
22
+output('<p>Bei '.config('company_name').' können Sie Ihre eigenen Zertifikate nutzen. Wir verwenden dafür (wenn nicht anders vereinbart) die SNI-Technik.
23 23
 Beim Anlegen von Webserver-Konfigurationen können Sie dann eines Ihrer Zertifikate für jede Konfiguration auswählen.</p>
24 24
 
25 25
 <h4>Ihre bisher vorhandenen Zertifikate</h4>
... ...
@@ -186,8 +186,8 @@ $form .= "
186 186
     <div style=\"margin-left: 2em;\">
187 187
     <select name=\"ssl\" id=\"ssl\">
188 188
       <option value=\"none\" ".($vhost['ssl'] == NULL ? 'selected="selected"' : '')." >Nein</option>
189
-      ".($vhost['ssl'] == 'http' ? "<option value=\"http\" selected=\"selected\">kein SSL anbieten</option>" : '')."
190
-      ".($vhost['ssl'] == 'https' ? "<option value=\"https\" selected=\"selected\">Konfiguration nur für SSL verwenden</option>" : '')."
189
+      ".($vhost['ssl'] == 'http' ? "<option value=\"http\" selected=\"selected\">kein HTTPS anbieten</option>" : '')."
190
+      ".($vhost['ssl'] == 'https' ? "<option value=\"https\" selected=\"selected\">Konfiguration nur für HTTPS verwenden</option>" : '')."
191 191
       <option value=\"forward\" ".($vhost['ssl'] == 'forward' ? 'selected="selected"' : '')." >Ja, immer auf HTTPS umleiten</option>
192 192
     </select>  <span id=\"hsts_block\" style=\"padding-top: 0.2em;\"> <label for=\"hsts\"><a title=\"Mit HSTS können Sie festlegen, dass eine bestimmte Website niemals ohne Verschlüsselung aufgerufen werden soll. Zudem werden Zertifikate strenger geprüft.\" href=\"http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure#HSTS\">HSTS</a>:</label> ".html_select('hsts_preset', $hsts_preset_values, $hsts_preset_value)." <span id=\"hsts_seconds\"><input type=\"text\" name=\"hsts\" id=\"hsts\" size=\"10\" style=\"text-align: right;\" value=\"{$hsts_value}\" /> Sekunden</span>
193 193
     </span>
... ...
@@ -234,7 +234,7 @@ $extended = '';
234 234
     $vhost['certid'] = -1;
235 235
   }
236 236
   $extended .= "
237
-    <h5>verwendetes SSL-Zertifikat</h5>
237
+    <h5>verwendetes Zertifikat</h5>
238 238
     <div style=\"margin-left: 2em;\">
239 239
     ".html_select('cert', $certselect, $vhost['certid'])."
240 240
     </div>";
... ...
@@ -43,6 +43,19 @@ function user_csr()
43 43
   return $ret;
44 44
 }
45 45
 
46
+function user_has_manual_certs()
47
+{
48
+  foreach (user_certs() as $c) {
49
+    if (!cert_is_letsencrypt($c['id'])) {
50
+      return true;
51
+    }
52
+  }
53
+  foreach (user_csr() as $c) {
54
+    return true;
55
+  }
56
+}
57
+
58
+
46 59
 function cert_details($id)
47 60
 {
48 61
   $id = (int) $id;
... ...
@@ -14,13 +14,18 @@ http://creativecommons.org/publicdomain/zero/1.0/
14 14
 Nevertheless, in case you use a significant part of this code, we ask (but not require, see the license) that you keep the authors' names in place and return your changes to the public. We would be especially happy if you tell us what you're going to do with this code.
15 15
 */
16 16
 
17
+require_once('include/certs.php');
18
+
17 19
 $role = $_SESSION['role'];
18 20
 
19 21
 if ($role & ROLE_SYSTEMUSER)
20 22
 {
21 23
     $menu["vhosts_vhosts"] = array("label" => "Websites", "file" => "vhosts", "weight" => 2);
22
-    $menu["vhosts_certs"] = array("label" => "SSL-Zertifikate", "file" => "certs", "weight" => 10, "submenu" => "vhosts_vhosts");
23 24
     $menu["vhosts_stats"] = array("label" => "Zugriffs-Statistiken", "file" => "stats", "weight" => 12, "submenu" => "vhosts_vhosts");
25
+  
26
+    if (user_has_manual_certs() or ($section == 'vhosts_certs')) {
27
+      $menu["vhosts_certs"] = array("label" => "TLS-Zertifikate", "file" => "certs", "weight" => 10, "submenu" => "vhosts_vhosts");
28
+    }
24 29
 }
25 30
 
26 31
 ?>
... ...
@@ -40,7 +40,7 @@ $section = 'vhosts_certs';
40 40
 
41 41
 output($hint.'
42 42
 <h4>CSR automatisch erzeugen</h4>
43
-<p>Mit unserem CSR-Generator können Sie einen Certificate-signing-request (CSR) automatisch erzeugen lassen. Nutzen Sie diese Möglichkeit bitte nur, wenn Sie ein so genanntes "Domain validated"-Zertifikat beantragen werden, das keine persönlichen Daten bzw. Firmendaten enthält. Kostenlose Zertifikate von CAcert oder StartSSL können Sie mit dieser Funktion erzeugen.</p>');
43
+<p>Mit unserem CSR-Generator können Sie einen Certificate-signing-request (CSR) automatisch erzeugen lassen. Nutzen Sie diese Möglichkeit bitte nur, wenn Sie ein so genanntes "Domain validated"-Zertifikat beantragen werden, das keine persönlichen Daten bzw. Firmendaten enthält.</p>');
44 44
 
45 45
 if ($oldcert) {
46 46
   $cn = urlencode($cert['cn']);
... ...
@@ -51,7 +51,7 @@ if ($oldcert) {
51 51
 
52 52
 
53 53
 output('<h4>Vorhandenes Zertifikat eintragen</h4>
54
-<p>Sie können Ihr eigenes SSL-Zertifikat hinterlegen, das Sie dann für eine oder mehrere Webserver-Konfigurationen verwenden können.</p>
54
+<p>Sie können Ihr eigenes TLS-Zertifikat hinterlegen, das Sie dann für eine oder mehrere Webserver-Konfigurationen verwenden können.</p>
55 55
 ');
56 56
 
57 57
 
... ...
@@ -53,7 +53,7 @@ if ($_SESSION['role'] & ROLE_SYSTEMUSER) {
53 53
                           'weight'  => 80, 
54 54
                           'file'    => 'certs', 
55 55
                           'icon'    => 'secure.png', 
56
-                          'title'   => 'SSL-Zertifikate',
56
+                          'title'   => 'HTTPS-Zertifikate',
57 57
                           'alert'   => $alert );
58 58
   }
59 59
 }
... ...
@@ -68,7 +68,7 @@ else
68 68
   $key = $data['key'];
69 69
 
70 70
   title('Zertifikat anzeigen');
71
-  output("<p>Untenstehend sehen Sie Ihr SSL-Zertifikat und evtl. den dazu gehörigen privaten 
71
+  output("<p>Untenstehend sehen Sie Ihr Zertifikat und evtl. den dazu gehörigen privaten 
72 72
   Schlüssel. Sofern Sie den privaten Schlüssel auf Ihrer Festplatte speichern, stellen 
73 73
   Sie bitte sicher, dass dieser vor unbefugtem Zugriff geschützt ist. Der private 
74 74
   Schlüssel ist selbst <strong>nicht verschlüsselt</strong> und nicht mit einem 
... ...
@@ -57,7 +57,7 @@ if (count($vhosts) > 0)
57 57
   if (count($vhosts) > 10) {
58 58
     addnew('edit', 'Neue Domain bzw. Subdomain einrichten');
59 59
   }
60
-  output("<table><tr><th>(Sub-)Domain</th><th></th><th>Zusätzliche Alias-Namen</th><th>Protokoll</th><th>SSL</th><th>Traffic<sup>*</sup></th><th>PHP</th><th>Lokaler Pfad<sup>**</sup></th></tr>\n");
60
+  output("<table><tr><th>(Sub-)Domain</th><th></th><th>Zusätzliche Alias-Namen</th><th>Protokoll</th><th>HTTPS</th><th>Traffic<sup>*</sup></th><th>PHP</th><th>Lokaler Pfad<sup>**</sup></th></tr>\n");
61 61
 
62 62
   $even = True;
63 63
 
... ...
@@ -106,13 +106,13 @@ if (count($vhosts) > 0)
106 106
   
107 107
     if ($vhost['ssl'] == 'http')
108 108
     {
109
-      output("<td>".icon_disabled('SSL ausgeschaltet')."</td>");
109
+      output("<td>".icon_disabled('HTTPS ausgeschaltet')."</td>");
110 110
     }
111 111
     elseif (strstr($vhost['options'], "letsencrypt") && $vhost['cert'])
112 112
     {
113 113
       $forward = '';
114 114
       if ($vhost['ssl'] == 'forward') {
115
-        $forward = " ".other_icon("refresh.png", 'Auf SSL umleiten');
115
+        $forward = " ".other_icon("refresh.png", 'Auf HTTPS umleiten');
116 116
       } else {
117 117
         $forward = " ".other_icon("warning.png", 'Ungeschützter Aufruf weiterhin möglich');
118 118
       }
... ...
@@ -120,7 +120,7 @@ if (count($vhosts) > 0)
120 120
     }
121 121
     elseif ($vhost['cert'])
122 122
     {
123
-      output("<td>".other_icon("secure.png", "SSL mit eigenem Zertifikat")."</td>");
123
+      output("<td>".other_icon("secure.png", "HTTPS mit eigenem Zertifikat")."</td>");
124 124
     }
125 125
     elseif (strstr($vhost['options'], "letsencrypt")) {
126 126
       // Letsencrypt gewählt aber noch nicht aktiv
... ...
@@ -129,7 +129,7 @@ if (count($vhosts) > 0)
129 129
     }
130 130
     else
131 131
     {
132
-      output("<td>".icon_enabled('SSL eingeschaltet')."</td>");
132
+      output("<td>".icon_enabled('HTTPS eingeschaltet')."</td>");
133 133
     }
134 134
 
135 135
     $traffic = traffic_month($vhost['id']);
... ...
@@ -197,4 +197,7 @@ else // keine VHosts vorhanden
197 197
 
198 198
 addnew('edit', 'Neue Domain bzw. Subdomain einrichten');
199 199
 
200
+output('<p>Bei passenden Einstellungen wird für jede Ihrer Websites automatisch ein Zertifikat von Let\'s Encrypt verwaltet und regelmäßig erneuert. Wenn Sie ein Zertifikat einsetzen möchten, das von einer anderen Zertifizierungsstelle ausgestellt ist, können Sie dieses hier hochladen.</p>');
201
+addnew('newcert', 'Ein eigenes HTTPS-Zertifikat eintragen');
202
+
200 203
 ?>