Bernd Wurst commited on 2014-02-20 17:46:24
Zeige 3 geänderte Dateien mit 19 Einfügungen und 10 Löschungen.
| ... | ... |
@@ -130,7 +130,7 @@ function validate_certificate($cert, $key) |
| 130 | 130 |
// Prüfe ob Key und Zertifikat zusammen passen |
| 131 | 131 |
if (openssl_x509_check_private_key($cert, $key) !== true) |
| 132 | 132 |
{
|
| 133 |
- DEBUG("Zertifikat und Key passen nicht zusammen");
|
|
| 133 |
+ DEBUG("Zertifikat und Key passen nicht zusammen: ".openssl_x509_check_private_key($cert, $key));
|
|
| 134 | 134 |
return CERT_INVALID; |
| 135 | 135 |
} |
| 136 | 136 |
|
| ... | ... |
@@ -59,8 +59,13 @@ $form = ' |
| 59 | 59 |
<h4>Server-Zertifikat:</h4> |
| 60 | 60 |
<p><textarea name="cert" rows="10" cols="70"></textarea></p> |
| 61 | 61 |
|
| 62 |
-<h4>privater Schlüssel:</h4> |
|
| 63 |
-<p><textarea name="key" rows="10" cols="70"></textarea></p> |
|
| 62 |
+<h4>privater Schlüssel:</h4>'; |
|
| 63 |
+ |
|
| 64 |
+if ($oldcert) {
|
|
| 65 |
+ $form .= '<p>Wenn Ihre Zertifizierungsstelle einen echten <em>renew</em>-Vorgang durchführt und das Zertifikat basierend auf dem alten CSR neu ausgestellt hat, brauchen Sie hier keinen privaten Schlüssel anzugeben.</p>'; |
|
| 66 |
+} |
|
| 67 |
+ |
|
| 68 |
+$form .= '<p><textarea name="key" rows="10" cols="70"></textarea></p> |
|
| 64 | 69 |
|
| 65 | 70 |
<p><input type="submit" value="Speichern" /></p> |
| 66 | 71 |
|
| ... | ... |
@@ -72,4 +77,4 @@ output('<p>Es ist ein <strong>Zertifikat</strong> und ein dazu passender <strong
|
| 72 | 77 |
<pre>-----BEGIN CERTIFICATE----- |
| 73 | 78 |
... |
| 74 | 79 |
-----END CERTIFICATE-----</pre> |
| 75 |
-<p>aufweisen. Sind die genannten Vorausetzungen erfüllt, können Sie Ihre Zertifikats-Daten einfach in untenstehendes Formular eingeben.</p>'); |
|
| 80 |
+<p>aufweisen.'); |
| ... | ... |
@@ -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 {
|
|
| 41 |
+ } elseif (isset($_POST['key']) and $_POST['key']) {
|
|
| 35 | 42 |
$key = $_POST['key']; |
| 36 |
- } |
|
| 37 |
- $oldcert = NULL; |
|
| 38 |
- if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace'])) |
|
| 39 |
- {
|
|
| 40 |
- $oldcert = cert_details($_REQUEST['replace']); |
|
| 43 |
+ } elseif ($oldcert) {
|
|
| 44 |
+ $key = $oldcert['key']; |
|
| 41 | 45 |
} |
| 42 | 46 |
|
| 43 | 47 |
if (! $cert or ! $key) |
| 44 | 48 |