<?php
require_once("certs.php");
require_role(ROLE_SYSTEMUSER);
$section = 'vhosts_certs';
if ($_GET['action'] == 'new')
{
check_form_token('vhosts_certs_new');
if (! isset($_POST['cert'])) {
system_failure("Es wurde kein Zertifikat eingegeben");
}
$cert = $_POST['cert'];
$oldcert = NULL;
if (isset($_REQUEST['replace']) && is_numeric($_REQUEST['replace']))
{
$oldcert = cert_details($_REQUEST['replace']);
DEBUG('altes cert:');
DEBUG($oldcert);
}
$key = NULL;
if (! isset($_POST['key']) && isset($_REQUEST['csr']))
{
$csr = csr_details($_REQUEST['csr']);
$key = $csr['key'];
} elseif (isset($_POST['key']) and $_POST['key']) {
$key = $_POST['key'];
} elseif ($oldcert) {
$key = $oldcert['key'];
}
if (! $cert or ! $key)
system_failure('Es muss ein Zertifikat und der dazu passende private Schlüssel eingetragen werden');
$result = validate_certificate($cert, $key);
switch ($result)