mirror of
https://github.com/myvesta/vesta
synced 2025-08-14 18:49:21 -07:00
CSR request generator
This commit is contained in:
parent
0e3bda794b
commit
523528784e
15 changed files with 416 additions and 23 deletions
112
web/generate/ssl/index.php
Normal file
112
web/generate/ssl/index.php
Normal file
|
@ -0,0 +1,112 @@
|
|||
<?php
|
||||
// Init
|
||||
error_reporting(NULL);
|
||||
session_start();
|
||||
$TAB = 'WEB';
|
||||
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
|
||||
|
||||
// Header
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
|
||||
|
||||
// Panel
|
||||
top_panel($user,$TAB);
|
||||
|
||||
// Prepare values
|
||||
if (!empty($_GET['domain'])) {
|
||||
$v_domain = $_GET['domain'];
|
||||
} else {
|
||||
$v_domain = 'example.ltd';
|
||||
}
|
||||
$v_email = 'admin@' . $v_domain;
|
||||
$v_country = 'US';
|
||||
$v_state = 'California';
|
||||
$v_locality = 'San Francisco';
|
||||
$v_org = 'MyCompany LLC';
|
||||
$v_org_unit = 'IT';
|
||||
|
||||
// Back uri
|
||||
$_SESSION['back'] = '';
|
||||
|
||||
// Check POST
|
||||
if (!isset($_POST['generate'])) {
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/generate_ssl.html');
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
||||
exit();
|
||||
}
|
||||
|
||||
// Check input
|
||||
if (empty($_POST['v_domain'])) $errors[] = __('domain');
|
||||
if (empty($_POST['v_country'])) $errors[] = __('country');
|
||||
if (empty($_POST['v_state'])) $errors[] = __('domain');
|
||||
if (empty($_POST['v_locality'])) $errors[] = __('city');
|
||||
if (empty($_POST['v_org'])) $errors[] = __('organization');
|
||||
$v_domain = $_POST['v_domain'];
|
||||
$v_email = $_POST['v_email'];
|
||||
$v_country = $_POST['v_country'];
|
||||
$v_state = $_POST['v_state'];
|
||||
$v_locality = $_POST['v_locality'];
|
||||
$v_org = $_POST['v_org'];
|
||||
|
||||
// Check for errors
|
||||
if (!empty($errors[0])) {
|
||||
foreach ($errors as $i => $error) {
|
||||
if ( $i == 0 ) {
|
||||
$error_msg = $error;
|
||||
} else {
|
||||
$error_msg = $error_msg.", ".$error;
|
||||
}
|
||||
}
|
||||
$_SESSION['error_msg'] = __('Field "%s" can not be blank.',$error_msg);
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/generate_ssl.html');
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
exit();
|
||||
}
|
||||
|
||||
// Protect input
|
||||
$v_domain = escapeshellarg($_POST['v_domain']);
|
||||
$v_email = escapeshellarg($_POST['v_email']);
|
||||
$v_country = escapeshellarg($_POST['v_country']);
|
||||
$v_state = escapeshellarg($_POST['v_state']);
|
||||
$v_locality = escapeshellarg($_POST['v_locality']);
|
||||
$v_org = escapeshellarg($_POST['v_org']);
|
||||
|
||||
exec (VESTA_CMD."v-generate-ssl-cert ".$v_domain." ".$v_email." ".$v_country." ".$v_state." ".$v_locality." ".$v_org." IT json", $output, $return_var);
|
||||
|
||||
// Revert to raw values
|
||||
$v_domain = $_POST['v_domain'];
|
||||
$v_email = $_POST['v_email'];
|
||||
$v_country = $_POST['v_country'];
|
||||
$v_state = $_POST['v_state'];
|
||||
$v_locality = $_POST['v_locality'];
|
||||
$v_org = $_POST['v_org'];
|
||||
|
||||
// Check return code
|
||||
if ($return_var != 0) {
|
||||
$error = implode('<br>', $output);
|
||||
if (empty($error)) $error = __('Error code:',$return_var);
|
||||
$_SESSION['error_msg'] = $error;
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/generate_ssl.html');
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
||||
unset($_SESSION['error_msg']);
|
||||
exit();
|
||||
}
|
||||
|
||||
// OK message
|
||||
$_SESSION['ok_msg'] = __('SSL_GENERATED_OK');
|
||||
|
||||
// Parse output
|
||||
$data = json_decode(implode('', $output), true);
|
||||
unset($output);
|
||||
$v_crt = $data[$v_domain]['CRT'];
|
||||
$v_key = $data[$v_domain]['KEY'];
|
||||
$v_csr = $data[$v_domain]['CSR'];
|
||||
|
||||
// Back uri
|
||||
$_SESSION['back'] = $_SERVER['REQUEST_URI'];
|
||||
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/list_ssl.html');
|
||||
include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
|
||||
unset($_SESSION['ok_msg']);
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue