Browse Source

generateSSLCertificate and setSSLPortVhost methods added

pull/63/head
Nicolas Roman 1 year ago
parent
commit
839efa6fe9
2 changed files with 79 additions and 13 deletions
  1. +41
    -12
      inc/webadmin-letsencrypt.php
  2. +38
    -1
      lib/letsencrypt.php

+ 41
- 12
inc/webadmin-letsencrypt.php View File

@ -106,24 +106,53 @@ if (isset($_POST['submit'])) {
}
// check DNS
$valid_domains = $letsencrypt->checkDNSValidity($checked_domains);
$failed_domains = array_diff($checked_domains, $valid_domains);
$valid_domains = $letsencrypt->checkDNSValidity($_SESSION['letsencrypt-domains']);
$failed_domains = array_diff($_SESSION['letsencrypt-domains'], $valid_domains);
if (!empty($failed_domains)) {
$errorMessage = "Erreur : La vérification DNS a échoué pour les domaines ci-dessous.
Merci de vérifier les enregistrements de type A et AAAA.";
$errorMessage = "Erreur : La vérification DNS a échoué.<br>
Merci de vérifier les enregistrements de type A et AAAA pour les domaine(s) suivant(s) :";
break;
}
break;
}
// make csr
$isCsrGenerated = $letsencrypt->makeCsr($params[1], $_SESSION['letsencrypt-domains']);
if (!$isCsrGenerated) {
$errorMessage = "Erreur : La génération de demande de certificat a échoué.<br>
Merci de contacter un administrateur pour continuer.";
break;
}
// evoacme TEST
$testGenerateCert = $letsencrypt->generateSSLCertificate($params[1]);
if (!$testGenerateCert) {
$errorMessage = "Erreur : La génération de certificat en mode TEST a échoué.<br>
Merci de contacter un administrateur pour continuer.";
break;
}
// make csr
$isCsrGenerated = $letsencrypt->makeCsr($params[1], $_SESSION['letsencrypt-domains']);
// evoacme
// $generateCert = $letsencrypt->generateSSLCertificate($params[1], false);
$generateCert = $letsencrypt->generateSSLCertificate($params[1]);
// evoacme TEST ou DRY RUN
// evoacme
// modifier configuration vhosts
// reload service web
if (!$generateCert) {
$errorMessage = "Erreur : La génération de certificat a échoué.<br>
Merci de contacter un administrateur pour continuer.";
break;
}
$updatedVhostConfig = $letsencrypt->setSSLPortVhost($params[1]);
if (!$updatedVhostConfig) {
$errorMessage = "Erreur : La modification de la configuration de l'hôte virtuel a échoué.<br>
Merci de contacter un administrateur pour continuer.";
break;
}
break;
}
}
include_once EVOADMIN_BASE . '../tpl/webadmin-letsencrypt.tpl.php';


+ 38
- 1
lib/letsencrypt.php View File

@ -38,7 +38,44 @@ class LetsEncrypt
$domains = implode(' ', $domains);
$cmd = 'web-add.sh generate-csr ' . $vhost . ' ' . "$domains";
sudoexec($cmd ,$data_output, $exec_return);
sudoexec($cmd, $data_output, $exec_return);
if ($exec_return == 0) {
return true;
}
return false;
}
/**
* Generate a SSL certificate
* @param string $vhost
* @param boolean $test generate in TEST mode or not
* @return boolean
*/
public function generateSSLCertificate($vhost, $test = true)
{
$cmd = 'web-add.sh generate-ssl-certificate ' . $vhost . ' ' . ($test ? "true" : "false");
sudoexec($cmd, $data_output, $exec_return);
if ($exec_return == 0) {
return true;
}
return false;
}
/**
* add the 443 port to the vhost configuration
* @param string $vhost
* @return boolean
*/
public function setSSLPortVhost($vhost)
{
$cmd = 'web-add.sh update-ssl-vhost-configuration ' . $vhost;
sudoexec($cmd, $data_output, $exec_return);
if ($exec_return == 0) {
return true;


Loading…
Cancel
Save