Ejemplo n.º 1
0
/**
 * This file is a part of MyWebSQL package
 *
 * @file:      modules/splash.php
 * @author     Samnan ur Rehman
 * @copyright  (c) 2008-2012 Samnan ur Rehman
 * @web        http://mywebsql.net
 * @license    http://mywebsql.net/license
 */
function getSplashScreen($msg = '', $formCode = '')
{
    if ($formCode) {
        $formCode = '<div class="login"><form method="post" action="" name="dbform" id="dbform" style="text-align:center">' . $formCode . '</form></div>';
    }
    $scripts = "jquery";
    $extraScript = "";
    if (secureLoginPage()) {
        $scripts = "jquery,encrypt";
        $e = Session::get('auth_enc', 'e');
        $d = Session::get('auth_enc', 'd');
        $n = Session::get('auth_enc', 'n');
        $keyLength = 128;
        if (!$e || !$d || !$n) {
            $enc_lib = BASE_PATH . (extension_loaded('openssl') && extension_loaded('gmp') && extension_loaded('bcmath') ? "/lib/external/jcryption.php" : "/lib/external/jcryption-legacy.php");
            require_once $enc_lib;
            $jCryption = new jCryption();
            $keys = $jCryption->generateKeypair($keyLength);
            $e = array("int" => $keys["e"], "hex" => $jCryption->dec2string($keys["e"], 16));
            $d = array("int" => $keys["d"], "hex" => $jCryption->dec2string($keys["d"], 16));
            $n = array("int" => $keys["n"], "hex" => $jCryption->dec2string($keys["n"], 16));
            Session::set('auth_enc', 'e', $e);
            Session::set('auth_enc', 'd', $d);
            Session::set('auth_enc', 'n', $n);
        }
        $keyData = '{"e":"' . $e["hex"] . '","n":"' . $n["hex"] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
        $extraScript = '<script language="javascript" type="text/javascript">
									$(function() {
										$.jCryption.defaultOptions.getKeysURL = ' . $keyData . ';
										$("#dbform").jCryption();
									});
								</script>';
    }
    $replace = array('MESSAGE' => $msg ? '<div class="msg">' . htmlspecialchars($msg) . '</div>' : '', 'FORM' => $formCode, 'APP_VERSION' => APP_VERSION, 'PROJECT_SITEURL' => PROJECT_SITEURL, 'SCRIPTS' => $scripts, 'EXTRA_SCRIPT' => $extraScript);
    return view('splash', $replace);
}
Ejemplo n.º 2
0
 public function GenKeyPair()
 {
     $keyfile = Service::ServiceData(SInfo::DATA_ADMIN_KEYFILE);
     $mykeys = NULL;
     $keyLength = 512;
     if (file_exists($keyfile)) {
         $str = file_get_contents($keyfile);
         if ($str != '') {
             $mykeys = unserialize($str);
         }
     }
     if ($mykeys == NULL) {
         $jCryption = new jCryption();
         $keys = $jCryption->generateKeypair($keyLength);
         $e_hex = $jCryption->dec2string($keys['e'], 16);
         $n_hex = $jCryption->dec2string($keys['n'], 16);
         $mykeys = array('e_hex' => $e_hex, 'n_hex' => $n_hex, 'd_int' => $keys['d'], 'n_int' => $keys['n']);
         $serialized_str = serialize($mykeys);
         file_put_contents($keyfile, $serialized_str);
         chmod($keyfile, 0600);
     }
     $_SESSION['d_int'] = $mykeys['d_int'];
     $_SESSION['n_int'] = $mykeys['n_int'];
     return '{"e":"' . $mykeys['e_hex'] . '","n":"' . $mykeys['n_hex'] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
 }
Ejemplo n.º 3
0
<?php

session_start();
require_once "../../jcryption.php";
$keyLength = 256;
$jCryption = new jCryption();
if (isset($_GET["generateKeypair"])) {
    $keys = $jCryption->generateKeypair($keyLength);
    $_SESSION["e"] = array("int" => $keys["e"], "hex" => $jCryption->dec2string($keys["e"], 16));
    $_SESSION["d"] = array("int" => $keys["d"], "hex" => $jCryption->dec2string($keys["d"], 16));
    $_SESSION["n"] = array("int" => $keys["n"], "hex" => $jCryption->dec2string($keys["n"], 16));
    echo '{"e":"' . $_SESSION["e"]["hex"] . '","n":"' . $_SESSION["n"]["hex"] . '","maxdigits":"' . intval($keyLength * 2 / 16 + 3) . '"}';
} else {
    $var = $jCryption->decrypt($_POST['jCryption'], $_SESSION["d"]["int"], $_SESSION["n"]["int"]);
    echo $var;
}
Ejemplo n.º 4
0
        $e_hex = RSAKeyImport::dec2string($e_int, 16);
        $n_hex = RSAKeyImport::dec2string($n_int, 16);
        $mykeys = array('e_hex' => $e_hex, 'n_hex' => $n_hex, 'd_int' => $d_int, 'n_int' => $n_int);
        return $mykeys;
    }
}
## main
# openssl genrsa -out key.pem 512
$mykeys = NULL;
if (isset($argv[1])) {
    $pemfile = $argv[1];
    $mykeys = RSAKeyImport::import_and_convert($pemfile);
}
if ($mykeys == FALSE) {
    echo "Using php to generate keys, please be patient ... \n";
    $keyLength = 512;
    $jCryption = new jCryption();
    $keys = $jCryption->generateKeypair($keyLength);
    $e_hex = $jCryption->dec2string($keys['e'], 16);
    $n_hex = $jCryption->dec2string($keys['n'], 16);
    $mykeys = array('e_hex' => $e_hex, 'n_hex' => $n_hex, 'd_int' => $keys['d'], 'n_int' => $keys['n']);
}
$keyfile = '../conf/jcryption_keypair';
$serialized_str = serialize($mykeys);
$result = file_put_contents($keyfile, $serialized_str);
chmod($keyfile, 0600);
if ($result == TRUE) {
    exit(0);
} else {
    exit(1);
}