227 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			227 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
/*
 | 
						|
  ----------------------------------------------------------------------
 | 
						|
  AlternC - Web Hosting System
 | 
						|
  Copyright (C) 2002 by the AlternC Development Team.
 | 
						|
  http://alternc.org/
 | 
						|
  ----------------------------------------------------------------------
 | 
						|
  LICENSE
 | 
						|
 | 
						|
  This program is free software; you can redistribute it and/or
 | 
						|
  modify it under the terms of the GNU General Public License (GPL)
 | 
						|
  as published by the Free Software Foundation; either version 2
 | 
						|
  of the License, or (at your option) any later version.
 | 
						|
 | 
						|
  This program is distributed in the hope that it will be useful,
 | 
						|
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
  GNU General Public License for more details.
 | 
						|
 | 
						|
  To read the license please visit http://www.gnu.org/copyleft/gpl.html
 | 
						|
  ----------------------------------------------------------------------
 | 
						|
  Original Author of file: Benjamin Sonntag
 | 
						|
  Purpose of file: Create / Import an SSL Certificate
 | 
						|
  ----------------------------------------------------------------------
 | 
						|
 */
 | 
						|
require_once("../class/config.php");
 | 
						|
 | 
						|
if (!isset($is_include)) {
 | 
						|
    $fields = array(
 | 
						|
        "id" => array("request", "integer", ""),
 | 
						|
    );
 | 
						|
    getFields($fields);
 | 
						|
}
 | 
						|
 | 
						|
$cert = $ssl->get_certificate($id);
 | 
						|
$error = $err->errstr();
 | 
						|
if ($error) {
 | 
						|
    require_once("ssl_list.php");
 | 
						|
    exit();
 | 
						|
}
 | 
						|
 | 
						|
include_once("head.php");
 | 
						|
 | 
						|
if ($info) {
 | 
						|
    echo "<p class=\"alert alert-info\">$info</p>";
 | 
						|
}
 | 
						|
 | 
						|
if ($cert["status"] == $ssl::STATUS_PENDING) {
 | 
						|
    ?>
 | 
						|
    <h3><?php __("Pending Certificate"); ?></h3>
 | 
						|
 | 
						|
    <p><?php __("Your <i>Certificate Request File</i> (CSR) has been created, along with its <i>private RSA Key</i> (KEY). Please find below the CSR you must send to your SSL Certificate provider."); ?></p>
 | 
						|
 | 
						|
    <p><?php __("Once you'll have your <i>Certificate File</i> (CRT) and a <i>Chained Certificate File</i> (CHAIN), please paste them here to finish the enrollment."); ?></p>
 | 
						|
 | 
						|
    <form method="post" action="ssl_finalize.php" name="main" id="main">
 | 
						|
        <input type="hidden" name="id" id="id" value="<?php echo $cert["id"]; ?>"/>
 | 
						|
        <table border="1" cellspacing="0" cellpadding="4" class="tedit">
 | 
						|
            <tr>
 | 
						|
                <th><label for="fqdn"><?php __("Fully Qualified Domain Name"); ?></label></th>
 | 
						|
                <td><?php echo $cert["fqdn"]; ?></td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
                <th><label for="validstart"><?php __("Date of the request"); ?></label></th>
 | 
						|
                <td><?php echo format_date(_('%3$d-%2$d-%1$d %4$d:%5$d'), date("Y-m-d H:i:s", $cert["validstartts"])); ?></td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
                <th><label for="csr"><?php __("Certificate Request File"); ?></label></th>
 | 
						|
                <td><textarea readonly="readonly" onclick="this.focus();
 | 
						|
                        this.select()" class="int cert" name="csr" id="csr" style="width: 500px; height: 120px;"><?php echo $cert["sslcsr"]; ?></textarea></td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
                <th><label for="crt"><?php __("SSL Certificate"); ?></label></th>
 | 
						|
                <td><textarea class="int cert" name="crt" id="crt" style="width: 500px; height: 120px;"><?php echo $cert["sslcrt"]; ?></textarea></td>
 | 
						|
            </tr>
 | 
						|
            <tr>
 | 
						|
                <th><label for="chain"><?php __("Chained Certificate<br />(not mandatory)"); ?></label></th>
 | 
						|
                <td><textarea class="int cert" name="chain" id="chain" style="width: 500px; height: 120px;"><?php echo $cert["sslchain"]; ?></textarea></td>
 | 
						|
            </tr>
 | 
						|
        </table>
 | 
						|
        <p>
 | 
						|
            <input type="submit" class="inb ok" name="submit" value="<?php __("Save"); ?>"/>   
 | 
						|
            <input type="button" class="inb cancel" name="cancel" value="<?php __("Cancel"); ?>" onclick="document.location = 'ssl_list.php'"/>
 | 
						|
        </p><p>
 | 
						|
            <input type="submit" class="inb delete" name="delete" value="<?php __("Delete"); ?>" onclick="return confirm('<?php 
 | 
						|
            echo addslashes(_("Please confirm that you want to delete this certificate request AND ITS PRIVATE KEY!")); 
 | 
						|
            ?>');"/>
 | 
						|
 | 
						|
        </p>
 | 
						|
    </form>
 | 
						|
 | 
						|
    <?php
 | 
						|
} else {
 | 
						|
 | 
						|
    if ($cert["status"] == $ssl::STATUS_OK) {
 | 
						|
        ?>
 | 
						|
        <h3><?php __("Valid Certificate"); ?></h3>
 | 
						|
        <p><?php __("Please find below your valid certificate data."); ?></p>
 | 
						|
 | 
						|
        <?php
 | 
						|
    }
 | 
						|
    if ($cert["status"] == $ssl::STATUS_EXPIRED) {
 | 
						|
        ?>
 | 
						|
        <h3><?php __("EXPIRED Certificate"); ?></h3>
 | 
						|
        <p><?php __("Your certificate is EXPIRED. You should not use it for any purpose. Please find below its data."); ?></p>
 | 
						|
 | 
						|
        <?php
 | 
						|
    }
 | 
						|
    ?>
 | 
						|
        <p>
 | 
						|
        <span class="inb ok"><a href="ssl_list.php"><?php __("Back to my SSL Certificates"); ?></a></span> 
 | 
						|
    </p>
 | 
						|
    <table border="1" cellspacing="0" cellpadding="4" class="tedit">
 | 
						|
        <tr>
 | 
						|
            <th><?php __("Valid From:"); ?></th>
 | 
						|
            <td><?php
 | 
						|
    echo format_date(_('%3$d-%2$d-%1$d %4$d:%5$d'), date("Y-m-d H:i:s", $cert["validstartts"]));
 | 
						|
    echo " ";
 | 
						|
    $days = intval((time() - $cert["validstartts"]) / 86400);
 | 
						|
    if ($days < 60) {
 | 
						|
        printf(_("(%d days ago)"), $days);
 | 
						|
    } else {
 | 
						|
        $month = intval($days / 30);
 | 
						|
        printf(_("(%d month ago)"), $month);
 | 
						|
    }
 | 
						|
    ?></td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
            <th><?php __("Valid Until:"); ?></th>
 | 
						|
            <td><?php
 | 
						|
                echo format_date(_('%3$d-%2$d-%1$d %4$d:%5$d'), date("Y-m-d H:i:s", $cert["validendts"]));
 | 
						|
                echo " ";
 | 
						|
                $days = intval(($cert["validendts"] - time()) / 86400);
 | 
						|
                if ($days < 60) {
 | 
						|
                    printf(_("(%d days from now)"), $days);
 | 
						|
                } else {
 | 
						|
                    $month = intval($days / 30);
 | 
						|
                    printf(_("(%d month from now)"), $month);
 | 
						|
                }
 | 
						|
                ?></td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
            <th><?php __("FQDN:"); ?></th>
 | 
						|
            <td><?php echo $cert["fqdn"]; ?></td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
            <th><?php __("Other Valid FQDN:"); ?></th>
 | 
						|
            <td><?php echo nl2br($cert["altnames"]); ?></td>
 | 
						|
        </tr>
 | 
						|
 | 
						|
        <tr>
 | 
						|
            <th><label for="csr"><?php __("Certificate Request File"); ?></label></th>
 | 
						|
            <td><textarea readonly="readonly" onclick="this.focus();
 | 
						|
                    this.select()" class="int cert" name="csr" id="csr" style="width: 500px; height: 120px;"><?php echo $cert["sslcsr"]; ?></textarea></td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
            <th><label for="crt"><?php __("SSL Certificate"); ?></label></th>
 | 
						|
            <td><textarea readonly="readonly" onclick="this.focus();
 | 
						|
                    this.select()" class="int cert" name="crt" id="crt" style="width: 500px; height: 120px;"><?php echo $cert["sslcrt"]; ?></textarea></td>
 | 
						|
        </tr>
 | 
						|
        <tr>
 | 
						|
            <th><label for="chain"><?php __("Chained Certificate<br />(not mandatory)"); ?></label></th>
 | 
						|
            <td><textarea readonly="readonly" onclick="this.focus();
 | 
						|
                    this.select()" class="int cert" name="chain" id="chain" style="width: 500px; height: 120px;"><?php echo $cert["sslchain"]; ?></textarea></td>
 | 
						|
        </tr>
 | 
						|
    </table>
 | 
						|
    <?php
 | 
						|
// The admin is allowed to share (or not share) his valid certificates
 | 
						|
    if ($admin->enabled) {
 | 
						|
        ?>
 | 
						|
        <p><?php __("As an administrator you can allow any account on this server to use this certificate to host his services. <br />(This is only useful for wildcard or multi-domain certificates)."); ?></p>
 | 
						|
        <p>
 | 
						|
            <?php
 | 
						|
            if ($cert["shared"]) {
 | 
						|
                echo _("This certificate is currently <b>shared</b>");
 | 
						|
                if ($cert["uid"] == $cuid) {
 | 
						|
                    ?>
 | 
						|
                </p>
 | 
						|
                <form method="post" action="ssl_share.php">
 | 
						|
                    <input type="hidden" name="id" id="id" value="<?php echo $cert["id"]; ?>"/>
 | 
						|
                    <input type="hidden" name="action" id="action" value="0" />
 | 
						|
                    <input class="inb cancel" type="submit" name="unshare" value="<?php __("Click here to stop sharing this certificate"); ?>" />
 | 
						|
                </form>
 | 
						|
                <?php
 | 
						|
            } else {
 | 
						|
                ?>
 | 
						|
                <p><?php __("You are not the owner of this certificate, only its owner can share/unshare this certificate."); ?></p>
 | 
						|
                <?php
 | 
						|
            }
 | 
						|
        } else {
 | 
						|
            echo _("This certificate is currently <b>NOT shared</b>");
 | 
						|
            if ($cert["uid"] == $cuid) {
 | 
						|
                ?>
 | 
						|
                </p>
 | 
						|
                <form method="post" action="ssl_share.php">
 | 
						|
                    <input type="hidden" name="id" id="id" value="<?php echo $cert["id"]; ?>"/>
 | 
						|
                    <input type="hidden" name="action" id="action" value="1" />
 | 
						|
                    <input class="inb ok" type="submit" name="unshare" value="<?php __("Click here to share this certificate"); ?>" />
 | 
						|
                </form>
 | 
						|
                <?php
 | 
						|
            } else {
 | 
						|
                ?>
 | 
						|
                <p><?php __("You are not the owner of this certificate, only its owner can share/unshare this certificate."); ?></p>
 | 
						|
                <?php
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
     if ($cert["uid"] == $cuid) {
 | 
						|
    ?>
 | 
						|
                <p>
 | 
						|
    <form method="post" action="ssl_finalize.php" name="main" id="main">
 | 
						|
        <input type="hidden" name="id" id="id" value="<?php echo $cert["id"]; ?>"/>
 | 
						|
            <input type="submit" class="inb delete" name="delete" value="<?php __("Delete"); ?>" onclick="return confirm('<?php 
 | 
						|
            echo addslashes(_("Please confirm that you want to delete this certificate AND ITS PRIVATE KEY!")); 
 | 
						|
            ?>');"/>
 | 
						|
       </form>
 | 
						|
        </p>
 | 
						|
    <?php
 | 
						|
     }
 | 
						|
} // pending or OK ?
 | 
						|
 | 
						|
?>
 | 
						|
 | 
						|
        
 | 
						|
        
 | 
						|
<?php include_once("foot.php"); ?>
 |