Changeset 2115


Ignore:
Timestamp:
Jul 7, 2016, 1:51:54 PM (3 years ago)
Author:
joamuran
Message:

Encrypting credentials

Location:
admin-center/trunk/fuentes
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/js/login.js

    r1055 r2115  
    1 function loginManager(){
    2     this.BindLoginEventHandlers = function BindLoginEventHandlers(){
    3                 // Click on Login Button
    41
    5                 $("#LoginButton").bind('click', function( event ){
    6                         // Even managing click on login button
    7                         // gets username, password and server, checks it
    8                         // and stores in session.
    92
    10                         username=$("#input_username").val();
    11                         password=$("#input_password").val();
    12                         server=location.host;
    13       sessionStorage.server = server;
    14       sessionStorage.username = username;
    15                         sessionStorage.password = password;
    16                         sessionStorage.server = server;
    17       sessionStorage.groups=[];
     3function loginManager(){}
     4
     5loginManager.prototype.getCertificates = function getCertificates(){
     6    $.get( "public_key.pem", function( data ) {
     7    //Utils.crypt.setPublicKey(data);
     8    sessionStorage.serverKey=data;
     9    }); 
     10};
     11
     12loginManager.prototype.BindLoginEventHandlers = function BindLoginEventHandlers(){
     13   
     14    var self=this;
     15   
     16        $("#LoginButton").bind('click', function(){
     17                // Even managing click on login button
     18                // gets username, password and server, checks it
     19                // and stores in session.
     20        username=$("#input_username").val();
     21                password=$("#input_password").val();
     22                server=location.host;
     23        //sessionStorage.server = server;
     24        sessionStorage.username = username;
     25                sessionStorage.password = password;
     26                sessionStorage.server = server;
     27        sessionStorage.groups=[];
    1828
    1929
    2030                        // Going to main window
    21                         login();
     31                        self.login();
    2232                });
    23         }
    24 }
     33        };
    2534
    26 
    27 
    28 function login() {
    29 
    30         $("body").addClass("CursorWaiting");
     35loginManager.prototype.login = function login(){
     36  $("body").addClass("CursorWaiting");
    3137  var credentials=[sessionStorage.username , sessionStorage.password];
    3238  var n4dclass="";
     
    4854    }catch (e){
    4955      Utils.msg(i18n.gettext("main","Unauthenticated"), MSG_ERROR );
    50     };
     56    }
    5157  });
    5258
    5359
    54 
    55         /*$.xmlrpc({
    56                         url: 'https://'+sessionStorage.server+':9779',
    57                         methodName: 'validate_user',
    58                         params: [sessionStorage.username , sessionStorage.password],
    59                         success: function(response,status,jqXHR){
    60                                 //$("body").removeClass("CursorWaiting");
    61                                 groups=response[0][1];
    62         sessionStorage.groups=groups;
    63                                 if ((groups.indexOf('adm')!=-1)||(groups.indexOf('admins')!=-1)||(groups.indexOf('teachers')!=-1)) {
    64                                         // Check if it is a LMD Server
    65                                         //checkServerVersion();
    66                                         window.location="main.php";
    67                                 } else{
    68                                         $("#input_password").addClass("wrong_pass");
    69                                         $("#input_username").addClass("wrong_pass");
    70                                         //alert("Username or password error!");
    71                                 }
    72                         },
    73                         error: function(jqXHR, status, error) {
    74                                 alert("Status: "+status+"\nError: N4d server is down"+error);
    75                         }
    76                 })*/
    7760}
    7861
    7962$(document).ready(function() {
    8063        var lm = new loginManager();
    81         /*var fs = require('fs');*/
    82         /*var path = require('path');*/
    83 
     64       
     65    lm.getCertificates();
    8466        lm.BindLoginEventHandlers();
    8567
    86         // Setting content and aspect of GUI elements
    87         //var home = process.env.HOME;
    8868        $("#LoginButton").append("Login");
    89         /*$("button").button();*/
    90     /*$("#input_server").val(location.host);*/
    91 
    92         /*if(fs.existsSync(path.join(home,".lmd-manager.config"))) {
    93                 var output = fs.readFileSync(path.join(home,".lmd-manager.config"));
    94                 var content = JSON.parse(output);
    95                 $("#input_username").val(content['user']);
    96                 $("#input_password").val(content['pass']);
    97                 $("#input_server").val(content['server']);
    98                 $("#input_password").focus();
    99 ps              }
    100         else{
    101 
    102                 $("#input_username").val(process.env.USER);
    103                 $("#input_password").focus();
    104         }*/
    105 
     69       
    10670         $("#input_password").bind('keydown',function (e) {
    10771
     
    11680                        sessionStorage.server = server;
    11781
    118                         //alert(username+" "+password);
    119                         login();
     82                        lm.login();
    12083                }
    12184
     
    12487    $.material.init();
    12588
    126 
    127 })
     89});
  • admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/lib/utils.js

    r2002 r2115  
    1010        this.logfilesadded=0;
    1111        this.maxlogfilesadded=50;
     12        this.crypt=new JSEncrypt(); // Class to encrypt and decrypt keys
    1213}
    1314
     
    432433
    433434        // Building credentials
    434         if(credentials===null)
    435                 n4dargs.push("");
     435        if(credentials===null || credentials===""){
     436                //alert("credentials is: "+credentials);
     437                n4dargs.push("");}
    436438        else if (n4dmethod!="validate_user") n4dargs[0]=credentials;
    437439                        else n4dargs=credentials;
     
    439441        // Adding Class
    440442        n4dargs.push(n4dclass);
    441 
     443        //console.log(n4dargs);
     444        //alert(typeof(n4dargs));
     445       
    442446        // Adding argument list
    443447
     
    449453        //console.log(JSON.stringify(n4dargs));
    450454        //console.log("-----------------------------2");
     455       
     456        // Set public key for this connection with serverKey
     457        Utils.crypt.setPublicKey(sessionStorage.serverKey);
    451458       
    452459        //$.post('n4d.php',
     
    457464                data: {
    458465                        method: n4dmethod,
    459                         args: JSON.stringify(n4dargs),
     466                        args: Utils.crypt.encrypt(JSON.stringify(n4dargs)),
    460467                        timeout: timeout},
    461468                //args: n4dargs},
  • admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/login.php

    r2002 r2115  
    1818        <!--jquery -->
    1919        <script type="text/javascript" src="lib/jquery/jquery.js"></script>
     20        <script type="text/javascript" src="lib/jsencrypt/jsencrypt.js"></script>
    2021        <!--script type="text/javascript" src="lib/jquery-ui/js/jquery-ui-1.10.4.custom.js"></script-->
    2122        <!--script type="text/javascript" src="lib/jquery.xmlrpc.js"></script-->
  • admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/main.php

    r2016 r2115  
    9494  echo ('<script type="text/javascript" src="lib/jquery-ui/jquery-ui.js"></script>');
    9595 
     96  echo ('<script type="text/javascript" src="lib/jsencrypt/jsencrypt.js"></script>');
    9697  echo ('<script type="text/javascript" src="lib/waitwin.js"></script>');
    9798  echo ('<script type="text/javascript" src="lib/utils.js"></script>');
  • admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/n4d.php

    r2002 r2115  
    2929}
    3030
     31
     32function n4dRSADecrypt($crypttext){
     33  $priv_key = openssl_pkey_get_private("file:///etc/admin-center/private_key.pem");
     34  openssl_private_decrypt(base64_decode($crypttext), $newsource, $priv_key );
     35 
     36  return $newsource;
     37}
     38
    3139function n4d($method, $args, $timeout){
     40  writeHeader();
    3241 
    33   writeHeader();
    3442  $url='https://127.0.0.1:9779';
    3543  $request=xmlrpc_encode_request($method, $args);
     
    98106// Getting $_POST parameters
    99107  $method=$_POST["method"];
    100   $args=json_decode($_POST["args"]);
     108 
     109  //error_log($_POST["args"]);
     110  //error_log($_POST["args"]);
     111 
     112  $args_coded=n4dRSADecrypt($_POST["args"]);
     113  error_log("eeeeeeeeeeeeeeeee");
     114  error_log($args_coded);
     115  $args=json_decode($args_coded);
     116  if (gettype($args)=="NULL") $args=array();
     117 
    101118  $timeout=$_POST["timeout"];
    102   $myfile = fopen("/tmp/n4dlog","a");
     119  /*$myfile = fopen("/tmp/n4dlog","a");
     120  fwrite($myfile,"\nMETHOD:\n");
    103121  fwrite($myfile,$method);
     122  fwrite($myfile,"\nARGS IN POST:\n");
    104123  fwrite($myfile,$_POST["args"]);
    105   fwrite($myfile,"******\n");
     124 
     125  fwrite($myfile,"\nTYPE ARGS IN POST:\n");
     126  fwrite($myfile, gettype($_POST["args"]));
     127 
     128  fwrite($myfile,"\nARGS CODED:\n");
     129  fwrite($myfile, $args_coded);
     130 
     131  fwrite($myfile,"\nTYPE ARGS CODED:\n");
     132  fwrite($myfile, gettype($args_coded));
     133 
     134  fwrite($myfile,"\nARGS DECODED:\n");
     135  fwrite($myfile, $args);
     136  fwrite($myfile,"\nARGS DECODED TYPE:\n");
     137  fwrite($myfile, gettype($args));
     138 
     139  fwrite($myfile,"******\n\n");
    106140  fclose($myfile);
    107141  error_log($method);
     142  */
    108143 
    109144  if (isset($_POST['log'])) $log=$_POST["log"];
  • admin-center/trunk/fuentes/debian/admin-center.postinst

    r2002 r2115  
    1111N4D_CERT_PATH="/etc/n4d/cert/n4dcert.pem"
    1212N4D_CERT_LINK="${APP_NAME}/n4dcert.pem"
     13CONFIG_PATH="/etc/admin-center/"
    1314
    1415
    1516case "$1" in
    1617    configure)
     18
     19        # Generating keys
     20        if [ ! -e ${CONFIG_PATH}/private_key.pem ]; then
     21                openssl genrsa -out ${CONFIG_PATH}/private_key.pem 2048
     22                openssl rsa -in ${CONFIG_PATH}/private_key.pem -out ${CONFIG_PATH}/public_key.pem -outform PEM -pubout
     23        fi
     24
     25        # Generating links
     26
    1727        ln -s  ${APP_NAME} ${LINK_NAME} || true
    1828        ln -s ${N4D_CERT_PATH} ${N4D_CERT_LINK} || true
    1929        ln -s ${LOGS_DIR} ${APP_NAME}/logs || true
     30        ln -s ${CONFIG_PATH}/public_key.pem ${APP_NAME} || true
     31       
    2032       
    2133        if [ -e /usr/share/apache2/apache2-maintscript-helper ] ; then
  • admin-center/trunk/fuentes/debian/changelog

    r2051 r2115  
     1admin-center (0.5.5) xenial; urgency=high
     2
     3  * Added rsa encryption to credentials
     4
     5 -- joamuran <joamuran@gmail.com>  Thu, 07 Jul 2016 13:50:29 +0200
     6
    17admin-center (0.5.4) xenial; urgency=high
    28
     
    410  * Added progress library
    511  * Fixed main.css
    6   * Angel estuvo aqui
    7   * Angel +
    812
    913 -- Jose A. Múrcia Andrés <joamuran@gmail.com>  Tue, 28 Jun 2016 09:23:59 +0200
Note: See TracChangeset for help on using the changeset viewer.