Ejemplo n.º 1
0
def webapp_login():
    global caller

    # logging in
    if request.method == 'POST':
        host_param = request.form['host']

        try:

            if not Caller.check_up(host_param):
                return render_template("login.html", msg='host is down', host=host_param)

            private_key_df = request.form['private_key']
            private_key_df_derived = Parser.derive(private_key_df)
            public_key_df = gen_public_key(private_key_df_derived)

            caller = Caller(host_param, public_key_df)

            return redirect(url_for('webapp.webapp_main', path='', dirname=''))

        except TypeError as te:
            return render_template("login.html", msg=str(te), host=host_param)

    elif request.method == 'GET':
        if caller is not None:
            if caller.get_session().status_code == 200:
                return redirect(url_for('webapp.webapp_main', path='', dirname=''))

        return render_template("login.html")
Ejemplo n.º 2
0
 def get_public_key() -> (int, bytes):
     private_key = click.prompt('private key', hide_input=True, type=str)
     # derive private_key to avoid dictionary attack
     private_key_derived = Parser.derive(private_key)
     return gen_public_key(private_key_derived), private_key_derived