Browse code

remove whitespace in empty lines

Hanno authored on 26/06/2018 23:36:40
Showing 1 changed files
... ...
@@ -150,7 +150,7 @@ if ($_GET['action'] == 'new') {
150 150
     if (isset($_REQUEST['bitlength'])) {
151 151
         $bitlength = $_REQUEST['bitlength'];
152 152
     }
153
-  
153
+
154 154
     $id = save_csr($cn, $bitlength, $replace);
155 155
 
156 156
     header("Location: showcert?mode=csr&id={$id}");
Browse code

Fix coding style with php-cs-checker, see https://cs.sensiolabs.org/

Hanno authored on 26/06/2018 13:58:19
Showing 1 changed files
... ...
@@ -8,7 +8,7 @@ Written 2008-2018 by schokokeks.org Hosting, namely
8 8
 
9 9
 To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10 10
 
11
-You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see
12 12
 http://creativecommons.org/publicdomain/zero/1.0/
13 13
 
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.
... ...
@@ -19,45 +19,44 @@ require_role(ROLE_SYSTEMUSER);
19 19
 
20 20
 $section = 'vhosts_certs';
21 21
 
22
-if ($_GET['action'] == 'new')
23
-{
24
-  check_form_token('vhosts_certs_new');
25
-  if (! isset($_POST['cert'])) {
26
-    system_failure("Es wurde kein Zertifikat eingegeben");
27
-  }
28
-  $cert = $_POST['cert'];
29
-  $oldcert = NULL;
30
-  if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace']))
31
-  {
32
-    $oldcert = cert_details($_REQUEST['replace']);
33
-    DEBUG('altes cert:');
34
-    DEBUG($oldcert);
35
-  }
36
-  $key = NULL;
37
-  if (! isset($_POST['key']) && isset($_REQUEST['csr']))
38
-  {
39
-    $csr = csr_details($_REQUEST['csr']);
40
-    $key = $csr['key'];
41
-  } elseif (isset($_POST['key']) and $_POST['key']) {
42
-    $key = $_POST['key']; 
43
-  } elseif ($oldcert) {
44
-    $key = $oldcert['key'];
45
-  }
46
-
47
-  if (! $cert or ! $key)
48
-    system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
49
-
50
-  $result = validate_certificate($cert, $key);
51
-  switch ($result)
52
-  {
22
+if ($_GET['action'] == 'new') {
23
+    check_form_token('vhosts_certs_new');
24
+    if (! isset($_POST['cert'])) {
25
+        system_failure("Es wurde kein Zertifikat eingegeben");
26
+    }
27
+    $cert = $_POST['cert'];
28
+    $oldcert = null;
29
+    if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace'])) {
30
+        $oldcert = cert_details($_REQUEST['replace']);
31
+        DEBUG('altes cert:');
32
+        DEBUG($oldcert);
33
+    }
34
+    $key = null;
35
+    if (! isset($_POST['key']) && isset($_REQUEST['csr'])) {
36
+        $csr = csr_details($_REQUEST['csr']);
37
+        $key = $csr['key'];
38
+    } elseif (isset($_POST['key']) and $_POST['key']) {
39
+        $key = $_POST['key'];
40
+    } elseif ($oldcert) {
41
+        $key = $oldcert['key'];
42
+    }
43
+
44
+    if (! $cert or ! $key) {
45
+        system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
46
+    }
47
+
48
+    $result = validate_certificate($cert, $key);
49
+    switch ($result) {
53 50
     case CERT_OK:
54 51
       $certinfo = parse_cert_details($cert);
55
-      if ($oldcert)
56
-        refresh_cert($oldcert['id'], $certinfo, $cert, $key);
57
-      else
58
-        save_cert($certinfo, $cert, $key);
59
-      if (isset($_REQUEST['csr']))
60
-        delete_csr($_REQUEST['csr']);
52
+      if ($oldcert) {
53
+          refresh_cert($oldcert['id'], $certinfo, $cert, $key);
54
+      } else {
55
+          save_cert($certinfo, $cert, $key);
56
+      }
57
+      if (isset($_REQUEST['csr'])) {
58
+          delete_csr($_REQUEST['csr']);
59
+      }
61 60
       header('Location: certs');
62 61
       die();
63 62
       break;
... ...
@@ -67,35 +66,35 @@ if ($_GET['action'] == 'new')
67 66
     case CERT_NOCHAIN:
68 67
       warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Dies kann daran liegen dass es abgelaufen ist oder wenn kein passendes CA-Bundle hinterlegt wurde. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
69 68
       $certinfo = parse_cert_details($cert);
70
-      if ($oldcert)
71
-        refresh_cert($oldcert['id'], $certinfo, $cert, $key);
72
-      else
73
-        save_cert($certinfo, $cert, $key);
69
+      if ($oldcert) {
70
+          refresh_cert($oldcert['id'], $certinfo, $cert, $key);
71
+      } else {
72
+          save_cert($certinfo, $cert, $key);
73
+      }
74 74
       output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
75
-      if (isset($_REQUEST['csr']))
76
-        delete_csr($_REQUEST['csr']);
75
+      if (isset($_REQUEST['csr'])) {
76
+          delete_csr($_REQUEST['csr']);
77
+      }
77 78
       break;
78 79
   }
80
+} elseif ($_GET['action'] == 'refresh') {
81
+    check_form_token('vhosts_certs_refresh');
82
+    $cert = $_POST['cert'];
83
+    $oldcert = cert_details($_REQUEST['id']);
84
+    $key = $oldcert['key'];
85
+    $id = (int) $_REQUEST['id'];
79 86
 
80
-}
81
-elseif ($_GET['action'] == 'refresh')
82
-{
83
-  check_form_token('vhosts_certs_refresh');
84
-  $cert = $_POST['cert'];
85
-  $oldcert = cert_details($_REQUEST['id']);
86
-  $key = $oldcert['key'];
87
-  $id = (int) $_REQUEST['id'];
88
-
89
-  if (! $cert )
90
-    system_failure('Es muss ein Zertifikat eingetragen werden');
87
+    if (! $cert) {
88
+        system_failure('Es muss ein Zertifikat eingetragen werden');
89
+    }
91 90
 
92
-  $result = validate_certificate($cert, $key);
93
-  switch ($result)
94
-  {
91
+    $result = validate_certificate($cert, $key);
92
+    switch ($result) {
95 93
     case CERT_OK:
96 94
       $certinfo = parse_cert_details($cert);
97
-      if ($certinfo['cn'] != $oldcert['cn'])
98
-        system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
95
+      if ($certinfo['cn'] != $oldcert['cn']) {
96
+          system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
97
+      }
99 98
 
100 99
       refresh_cert($id, $certinfo, $cert);
101 100
       header('Location: certs');
... ...
@@ -107,76 +106,55 @@ elseif ($_GET['action'] == 'refresh')
107 106
     case CERT_NOCHAIN:
108 107
       warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Meist liegt dies an einem nicht hinterlegten CA-Bundle. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
109 108
       $certinfo = parse_cert_details($cert);
110
-      if ($certinfo['cn'] != $oldcert['cn'])
111
-        system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
109
+      if ($certinfo['cn'] != $oldcert['cn']) {
110
+          system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
111
+      }
112 112
 
113 113
       refresh_cert($id, $certinfo, $cert);
114 114
       output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
115 115
       break;
116 116
   }
117
-
118
-}
119
-elseif ($_GET['action'] == 'delete')
120
-{
121
-  $cert = cert_details($_GET['id']);
122
-  $sure = user_is_sure();
123
-  if ($sure === NULL)
124
-  {
125
-    are_you_sure("action=delete&id={$cert['id']}", "Soll das Zertifikat für »{$cert['subject']}« (gültig von {$cert['valid_from']} bis {$cert['valid_until']}) wirklich entfernt werden?");
126
-  }
127
-  elseif ($sure === false)
128
-  {
129
-    header('Location: certs');
130
-    die();
131
-  }
132
-  elseif ($sure === true)
133
-  { 
134
-    delete_cert($cert['id']);
135
-    header('Location: certs');
136
-    die();
137
-  }
138
-}
139
-elseif ($_GET['action'] == 'deletecsr')
140
-{
141
-  $csr = csr_details($_GET['id']);
142
-  $sure = user_is_sure();
143
-  if ($sure === NULL)
144
-  {
145
-    are_you_sure("action=deletecsr&id={$csr['id']}", "Soll der CSR für »{$csr['hostname']}« ({$csr['bits']} Bits, erstellt am {$csr['created']}) wirklich entfernt werden?");
146
-  }
147
-  elseif ($sure === false)
148
-  {
149
-    header('Location: certs');
150
-    die();
151
-  }
152
-  elseif ($sure === true)
153
-  { 
154
-    delete_csr($csr['id']);
155
-    header('Location: certs');
156
-    die();
157
-  }
158
-}
159
-elseif ($_GET['action'] == 'newcsr')
160
-{
161
-  $replace = NULL;
162
-  if (isset($_REQUEST['replace'])) {
163
-    $replace = $_REQUEST['replace'];
164
-  }
165
-  $cn = urldecode($_REQUEST['commonname']);
166
-  $bitlength = 4096;
167
-  if (isset($_REQUEST['bitlength'])) {
168
-    $bitlength = $_REQUEST['bitlength'];
169
-  }
117
+} elseif ($_GET['action'] == 'delete') {
118
+    $cert = cert_details($_GET['id']);
119
+    $sure = user_is_sure();
120
+    if ($sure === null) {
121
+        are_you_sure("action=delete&id={$cert['id']}", "Soll das Zertifikat für »{$cert['subject']}« (gültig von {$cert['valid_from']} bis {$cert['valid_until']}) wirklich entfernt werden?");
122
+    } elseif ($sure === false) {
123
+        header('Location: certs');
124
+        die();
125
+    } elseif ($sure === true) {
126
+        delete_cert($cert['id']);
127
+        header('Location: certs');
128
+        die();
129
+    }
130
+} elseif ($_GET['action'] == 'deletecsr') {
131
+    $csr = csr_details($_GET['id']);
132
+    $sure = user_is_sure();
133
+    if ($sure === null) {
134
+        are_you_sure("action=deletecsr&id={$csr['id']}", "Soll der CSR für »{$csr['hostname']}« ({$csr['bits']} Bits, erstellt am {$csr['created']}) wirklich entfernt werden?");
135
+    } elseif ($sure === false) {
136
+        header('Location: certs');
137
+        die();
138
+    } elseif ($sure === true) {
139
+        delete_csr($csr['id']);
140
+        header('Location: certs');
141
+        die();
142
+    }
143
+} elseif ($_GET['action'] == 'newcsr') {
144
+    $replace = null;
145
+    if (isset($_REQUEST['replace'])) {
146
+        $replace = $_REQUEST['replace'];
147
+    }
148
+    $cn = urldecode($_REQUEST['commonname']);
149
+    $bitlength = 4096;
150
+    if (isset($_REQUEST['bitlength'])) {
151
+        $bitlength = $_REQUEST['bitlength'];
152
+    }
170 153
   
171
-  $id = save_csr($cn, $bitlength, $replace);
154
+    $id = save_csr($cn, $bitlength, $replace);
172 155
 
173
-  header("Location: showcert?mode=csr&id={$id}");
174
-  die();
175
-}
176
-else
177
-{
178
-  system_failure('not implemented');
156
+    header("Location: showcert?mode=csr&id={$id}");
157
+    die();
158
+} else {
159
+    system_failure('not implemented');
179 160
 }
180
-
181
-
182
-
Browse code

Copyright year update

Bernd Wurst authored on 13/01/2018 06:07:05
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2014 by schokokeks.org Hosting, namely
5
+Written 2008-2018 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Ermögliche einen Zertifikats-Renew mit gleichbleibendem Schlüssel

Bernd Wurst authored on 20/02/2014 17:46:24
Showing 1 changed files
... ...
@@ -26,18 +26,22 @@ if ($_GET['action'] == 'new')
26 26
     system_failure("Es wurde kein Zertifikat eingegeben");
27 27
   }
28 28
   $cert = $_POST['cert'];
29
+  $oldcert = NULL;
30
+  if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace']))
31
+  {
32
+    $oldcert = cert_details($_REQUEST['replace']);
33
+    DEBUG('altes cert:');
34
+    DEBUG($oldcert);
35
+  }
29 36
   $key = NULL;
30 37
   if (! isset($_POST['key']) && isset($_REQUEST['csr']))
31 38
   {
32 39
     $csr = csr_details($_REQUEST['csr']);
33 40
     $key = $csr['key'];
34
-  } else {
35
-    $key = $_POST['key'];
36
-  }
37
-  $oldcert = NULL;
38
-  if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace']))
39
-  {
40
-    $oldcert = cert_details($_REQUEST['replace']);
41
+  } elseif (isset($_POST['key']) and $_POST['key']) {
42
+    $key = $_POST['key']; 
43
+  } elseif ($oldcert) {
44
+    $key = $oldcert['key'];
41 45
   }
42 46
 
43 47
   if (! $cert or ! $key)
Browse code

Bugfix: Eintragen neuer SSL-Zertifikate funktionierte nicht mehr

Bernd Wurst authored on 08/02/2014 17:34:26
Showing 1 changed files
... ...
@@ -35,7 +35,7 @@ if ($_GET['action'] == 'new')
35 35
     $key = $_POST['key'];
36 36
   }
37 37
   $oldcert = NULL;
38
-  if (isset($_REQUEST['replace']))
38
+  if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace']))
39 39
   {
40 40
     $oldcert = cert_details($_REQUEST['replace']);
41 41
   }
Browse code

Lizenzinfos in eigenes Modul ausgelagert und Copyright auf 2014 angepasst

Bernd Wurst authored on 08/02/2014 05:45:07
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2013 by schokokeks.org Hosting, namely
5
+Written 2008-2014 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Einige Statements auf Prepared-statements umgestellt

Bernd Wurst authored on 02/02/2014 16:31:00
Showing 1 changed files
... ...
@@ -22,15 +22,20 @@ $section = 'vhosts_certs';
22 22
 if ($_GET['action'] == 'new')
23 23
 {
24 24
   check_form_token('vhosts_certs_new');
25
+  if (! isset($_POST['cert'])) {
26
+    system_failure("Es wurde kein Zertifikat eingegeben");
27
+  }
25 28
   $cert = $_POST['cert'];
26
-  $key = $_POST['key'];
29
+  $key = NULL;
27 30
   if (! isset($_POST['key']) && isset($_REQUEST['csr']))
28 31
   {
29 32
     $csr = csr_details($_REQUEST['csr']);
30 33
     $key = $csr['key'];
34
+  } else {
35
+    $key = $_POST['key'];
31 36
   }
32 37
   $oldcert = NULL;
33
-  if ($_REQUEST['replace'])
38
+  if (isset($_REQUEST['replace']))
34 39
   {
35 40
     $oldcert = cert_details($_REQUEST['replace']);
36 41
   }
Browse code

Zunächst urldecode() auf den commonname anwenden, damit ein Wildcard-Hostname erlaubt werden kann

Bernd Wurst authored on 19/09/2013 06:39:23
Showing 1 changed files
... ...
@@ -153,7 +153,7 @@ elseif ($_GET['action'] == 'newcsr')
153 153
   if (isset($_REQUEST['replace'])) {
154 154
     $replace = $_REQUEST['replace'];
155 155
   }
156
-  $cn = $_REQUEST['commonname'];
156
+  $cn = urldecode($_REQUEST['commonname']);
157 157
   $bitlength = 4096;
158 158
   if (isset($_REQUEST['bitlength'])) {
159 159
     $bitlength = $_REQUEST['bitlength'];
Browse code

Wildcard-CSRs können jetzt erstellt werden (auf einfache Weise)

Bernd Wurst authored on 10/03/2013 18:57:34
Showing 1 changed files
... ...
@@ -159,8 +159,7 @@ elseif ($_GET['action'] == 'newcsr')
159 159
     $bitlength = $_REQUEST['bitlength'];
160 160
   }
161 161
   
162
-  $wildcard = ! (count(explode('.', $cn)) > 2);
163
-  $id = save_csr($cn, $bitlength, $wildcard, $replace);
162
+  $id = save_csr($cn, $bitlength, $replace);
164 163
 
165 164
   header("Location: showcert?mode=csr&id={$id}");
166 165
   die();
Browse code

Neuer Workflow für Cert-Replacement bzw. CSR-Handhabung

Bernd Wurst authored on 27/01/2013 16:43:23
Showing 1 changed files
... ...
@@ -149,11 +149,18 @@ elseif ($_GET['action'] == 'deletecsr')
149 149
 }
150 150
 elseif ($_GET['action'] == 'newcsr')
151 151
 {
152
-  $cn = $_POST['commonname'];
153
-  $bitlength = $_POST['bitlength'];
152
+  $replace = NULL;
153
+  if (isset($_REQUEST['replace'])) {
154
+    $replace = $_REQUEST['replace'];
155
+  }
156
+  $cn = $_REQUEST['commonname'];
157
+  $bitlength = 4096;
158
+  if (isset($_REQUEST['bitlength'])) {
159
+    $bitlength = $_REQUEST['bitlength'];
160
+  }
154 161
   
155 162
   $wildcard = ! (count(explode('.', $cn)) > 2);
156
-  $id = save_csr($cn, $bitlength, $wildcard);
163
+  $id = save_csr($cn, $bitlength, $wildcard, $replace);
157 164
 
158 165
   header("Location: showcert?mode=csr&id={$id}");
159 166
   die();
Browse code

Updated copyright notice (2012 => 2013)

Bernd Wurst authored on 19/01/2013 10:49:50
Showing 1 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 /*
3 3
 This file belongs to the Webinterface of schokokeks.org Hosting
4 4
 
5
-Written 2008-2012 by schokokeks.org Hosting, namely
5
+Written 2008-2013 by schokokeks.org Hosting, namely
6 6
   Bernd Wurst <bernd@schokokeks.org>
7 7
   Hanno Böck <hanno@schokokeks.org>
8 8
 
Browse code

Added license tags for CC0, README and COPYING

Bernd Wurst authored on 11/03/2012 15:40:04
Showing 1 changed files
... ...
@@ -1,4 +1,18 @@
1 1
 <?php
2
+/*
3
+This file belongs to the Webinterface of schokokeks.org Hosting
4
+
5
+Written 2008-2012 by schokokeks.org Hosting, namely
6
+  Bernd Wurst <bernd@schokokeks.org>
7
+  Hanno Böck <hanno@schokokeks.org>
8
+
9
+To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.
10
+
11
+You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see 
12
+http://creativecommons.org/publicdomain/zero/1.0/
13
+
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
+*/
2 16
 
3 17
 require_once("certs.php");
4 18
 require_role(ROLE_SYSTEMUSER);
Browse code

fehlermeldung genauer, abgelaufene zertifikate

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1766 87cf0b9e-d624-0410-a070-f6ee81989793

hanno authored on 02/08/2010 13:20:14
Showing 1 changed files
... ...
@@ -42,7 +42,7 @@ if ($_GET['action'] == 'new')
42 42
       system_failure("Das Zertifikat konnte nicht gelesen werden. Eventuell ist der private Schlüssel mit einem Paswort versehen?");
43 43
       break;
44 44
     case CERT_NOCHAIN:
45
-      warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Meist liegt dies an einem nicht hinterlegten CA-Bundle. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
45
+      warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Dies kann daran liegen dass es abgelaufen ist oder wenn kein passendes CA-Bundle hinterlegt wurde. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
46 46
       $certinfo = parse_cert_details($cert);
47 47
       if ($oldcert)
48 48
         refresh_cert($oldcert['id'], $certinfo, $cert, $key);
Browse code

neue Bilder, mehr SSL-Zertifikate-Verwaltung

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1445 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 29/08/2009 17:08:03
Showing 1 changed files
... ...
@@ -15,6 +15,11 @@ if ($_GET['action'] == 'new')
15 15
     $csr = csr_details($_REQUEST['csr']);
16 16
     $key = $csr['key'];
17 17
   }
18
+  $oldcert = NULL;
19
+  if ($_REQUEST['replace'])
20
+  {
21
+    $oldcert = cert_details($_REQUEST['replace']);
22
+  }
18 23
 
19 24
   if (! $cert or ! $key)
20 25
     system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
... ...
@@ -24,7 +29,10 @@ if ($_GET['action'] == 'new')
24 29
   {
25 30
     case CERT_OK:
26 31
       $certinfo = parse_cert_details($cert);
27
-      save_cert($certinfo, $cert, $key);
32
+      if ($oldcert)
33
+        refresh_cert($oldcert['id'], $certinfo, $cert, $key);
34
+      else
35
+        save_cert($certinfo, $cert, $key);
28 36
       if (isset($_REQUEST['csr']))
29 37
         delete_csr($_REQUEST['csr']);
30 38
       header('Location: certs');
... ...
@@ -36,7 +44,10 @@ if ($_GET['action'] == 'new')
36 44
     case CERT_NOCHAIN:
37 45
       warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Meist liegt dies an einem nicht hinterlegten CA-Bundle. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
38 46
       $certinfo = parse_cert_details($cert);
39
-      save_cert($certinfo, $cert, $key, $cabundle);
47
+      if ($oldcert)
48
+        refresh_cert($oldcert['id'], $certinfo, $cert, $key);
49
+      else
50
+        save_cert($certinfo, $cert, $key);
40 51
       output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
41 52
       if (isset($_REQUEST['csr']))
42 53
         delete_csr($_REQUEST['csr']);
Browse code

Cert-Refresh

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1427 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 22/07/2009 12:07:41
Showing 1 changed files
... ...
@@ -24,7 +24,7 @@ if ($_GET['action'] == 'new')
24 24
   {
25 25
     case CERT_OK:
26 26
       $certinfo = parse_cert_details($cert);
27
-      save_cert($certinfo, $cert, $key, $cabundle);
27
+      save_cert($certinfo, $cert, $key);
28 28
       if (isset($_REQUEST['csr']))
29 29
         delete_csr($_REQUEST['csr']);
30 30
       header('Location: certs');
... ...
@@ -43,6 +43,44 @@ if ($_GET['action'] == 'new')
43 43
       break;
44 44
   }
45 45
 
46
+}
47
+elseif ($_GET['action'] == 'refresh')
48
+{
49
+  check_form_token('vhosts_certs_refresh');
50
+  $cert = $_POST['cert'];
51
+  $oldcert = cert_details($_REQUEST['id']);
52
+  $key = $oldcert['key'];
53
+  $id = (int) $_REQUEST['id'];
54
+
55
+  if (! $cert )
56
+    system_failure('Es muss ein Zertifikat eingetragen werden');
57
+
58
+  $result = validate_certificate($cert, $key);
59
+  switch ($result)
60
+  {
61
+    case CERT_OK:
62
+      $certinfo = parse_cert_details($cert);
63
+      if ($certinfo['cn'] != $oldcert['cn'])
64
+        system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
65
+
66
+      refresh_cert($id, $certinfo, $cert);
67
+      header('Location: certs');
68
+      die();
69
+      break;
70
+    case CERT_INVALID:
71
+      system_failure("Das Zertifikat konnte nicht gelesen werden. Eventuell ist es nicht wirklich eine neue Version des bisherigen Zertifikats.");
72
+      break;
73
+    case CERT_NOCHAIN:
74
+      warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Meist liegt dies an einem nicht hinterlegten CA-Bundle. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
75
+      $certinfo = parse_cert_details($cert);
76
+      if ($certinfo['cn'] != $oldcert['cn'])
77
+        system_failure("Das neue Zertifikat enthält abweichende Daten. Legen Sie bitte ein neues Zertifikat an.");
78
+
79
+      refresh_cert($id, $certinfo, $cert);
80
+      output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
81
+      break;
82
+  }
83
+
46 84
 }
47 85
 elseif ($_GET['action'] == 'delete')
48 86
 {
Browse code

CSR-Erstellung

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1422 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 20/07/2009 16:38:09
Showing 1 changed files
... ...
@@ -10,6 +10,12 @@ if ($_GET['action'] == 'new')
10 10
   check_form_token('vhosts_certs_new');
11 11
   $cert = $_POST['cert'];
12 12
   $key = $_POST['key'];
13
+  if (! isset($_POST['key']) && isset($_REQUEST['csr']))
14
+  {
15
+    $csr = csr_details($_REQUEST['csr']);
16
+    $key = $csr['key'];
17
+  }
18
+
13 19
   if (! $cert or ! $key)
14 20
     system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
15 21
 
... ...
@@ -19,6 +25,8 @@ if ($_GET['action'] == 'new')
19 25
     case CERT_OK:
20 26
       $certinfo = parse_cert_details($cert);
21 27
       save_cert($certinfo, $cert, $key, $cabundle);
28
+      if (isset($_REQUEST['csr']))
29
+        delete_csr($_REQUEST['csr']);
22 30
       header('Location: certs');
23 31
       die();
24 32
       break;
... ...
@@ -30,6 +38,8 @@ if ($_GET['action'] == 'new')
30 38
       $certinfo = parse_cert_details($cert);
31 39
       save_cert($certinfo, $cert, $key, $cabundle);
32 40
       output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
41
+      if (isset($_REQUEST['csr']))
42
+        delete_csr($_REQUEST['csr']);
33 43
       break;
34 44
   }
35 45
 
... ...
@@ -54,6 +64,37 @@ elseif ($_GET['action'] == 'delete')
54 64
     die();
55 65
   }
56 66
 }
67
+elseif ($_GET['action'] == 'deletecsr')
68
+{
69
+  $csr = csr_details($_GET['id']);
70
+  $sure = user_is_sure();
71
+  if ($sure === NULL)
72
+  {
73
+    are_you_sure("action=deletecsr&id={$csr['id']}", "Soll der CSR für »{$csr['hostname']}« ({$csr['bits']} Bits, erstellt am {$csr['created']}) wirklich entfernt werden?");
74
+  }
75
+  elseif ($sure === false)
76
+  {
77
+    header('Location: certs');
78
+    die();
79
+  }
80
+  elseif ($sure === true)
81
+  { 
82
+    delete_csr($csr['id']);
83
+    header('Location: certs');
84
+    die();
85
+  }
86
+}
87
+elseif ($_GET['action'] == 'newcsr')
88
+{
89
+  $cn = $_POST['commonname'];
90
+  $bitlength = $_POST['bitlength'];
91
+  
92
+  $wildcard = ! (count(explode('.', $cn)) > 2);
93
+  $id = save_csr($cn, $bitlength, $wildcard);
94
+
95
+  header("Location: showcert?mode=csr&id={$id}");
96
+  die();
97
+}
57 98
 else
58 99
 {
59 100
   system_failure('not implemented');
Browse code

Neue Zertifikatsverwaltung

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1421 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on 19/07/2009 09:45:51
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,63 @@
1
+<?php
2
+
3
+require_once("certs.php");
4
+require_role(ROLE_SYSTEMUSER);
5
+
6
+$section = 'vhosts_certs';
7
+
8
+if ($_GET['action'] == 'new')
9
+{
10
+  check_form_token('vhosts_certs_new');
11
+  $cert = $_POST['cert'];
12
+  $key = $_POST['key'];
13
+  if (! $cert or ! $key)
14
+    system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
15
+
16
+  $result = validate_certificate($cert, $key);
17
+  switch ($result)
18
+  {
19
+    case CERT_OK:
20
+      $certinfo = parse_cert_details($cert);
21
+      save_cert($certinfo, $cert, $key, $cabundle);
22
+      header('Location: certs');
23
+      die();
24
+      break;
25
+    case CERT_INVALID:
26
+      system_failure("Das Zertifikat konnte nicht gelesen werden. Eventuell ist der private Schlüssel mit einem Paswort versehen?");
27
+      break;
28
+    case CERT_NOCHAIN:
29
+      warning('Ihr Zertifikat konnte nicht mit einer Zertifikats-Kette validiert werden. Dies wird zu Problemen beim Betrachten der damit betriebenen Websites führen. Meist liegt dies an einem nicht hinterlegten CA-Bundle. Die Admins können Ihr Zertifikats-Bundle auf dem System eintragen. Das Zertifikat wurde dennoch gespeichert.');
30
+      $certinfo = parse_cert_details($cert);
31
+      save_cert($certinfo, $cert, $key, $cabundle);
32
+      output('<p>'.internal_link('certs', 'Zurück zur Übersicht').'</p>');
33
+      break;
34
+  }
35
+
36
+}
37
+elseif ($_GET['action'] == 'delete')
38
+{
39
+  $cert = cert_details($_GET['id']);
40
+  $sure = user_is_sure();
41
+  if ($sure === NULL)
42
+  {
43
+    are_you_sure("action=delete&id={$cert['id']}", "Soll das Zertifikat für »{$cert['subject']}« (gültig von {$cert['valid_from']} bis {$cert['valid_until']}) wirklich entfernt werden?");
44
+  }
45
+  elseif ($sure === false)
46
+  {
47
+    header('Location: certs');
48
+    die();
49
+  }
50
+  elseif ($sure === true)
51
+  { 
52
+    delete_cert($cert['id']);
53
+    header('Location: certs');
54
+    die();
55
+  }
56
+}
57
+else
58
+{
59
+  system_failure('not implemented');
60
+}
61
+
62
+
63
+