def sign(): if request.method == 'POST': key = request.form['key'].strip() if 'upload' in request.query_string: file = request.files['file'] return render_template('sign.html', xml=file.read(), signed='', key=key, is_valid=True) key = request.form['key'].strip() xml = request.form['xml'].strip() signed = request.form['signed'].strip() is_valid = False if 'verify' in request.query_string: is_valid = jbelt.verify(signed) elif key and xml: signed = jbelt.sign(xml, keys=jbelt.calc_keys(base64.b64decode(key))) is_valid = jbelt.verify(signed) return render_template('sign.html', xml=xml, signed=signed, key=key, is_valid=is_valid) else: return render_template('sign.html', xml='', signed='', key=base64.b64encode( str(jbelt.genKeys()['priv'])))
def genkeys(): length = request.form['length'] if request.method == 'POST' else 128 keys = jbelt.genKeys(int(length)) keys['priv'] = base64.b64encode(str(keys['priv'])) keys['pub'] = base64.b64encode(str(keys['pub'])) return render_template('keys.html', **keys)
def genkeys(): length = request.form["length"] if request.method == "POST" else 128 keys = jbelt.genKeys(int(length)) keys["priv"] = base64.b64encode(str(keys["priv"])) keys["pub"] = base64.b64encode(str(keys["pub"])) return render_template("keys.html", **keys)
def test_key_gen(self): keys = jbelt.genKeys() self.assertTrue(str(keys['priv'])) self.assertTrue(str(keys['pub'])) self.assertTrue(isinstance(keys['priv'], bytearray)) self.assertTrue(isinstance(keys['pub'], bytearray)) self.assertEqual(len(keys['priv']), 32) self.assertEqual(len(keys['pub']), 64) self.assertNotEqual(keys['pub'], keys['priv'])
def test_encryption(self): keys = jbelt.genKeys() ecrypted = jbelt.enc(test_xml, str(keys['pub'])) jbelt.dec(ecrypted, str(keys['priv']))
def test_key_calc(self): keys = jbelt.genKeys() self.assertEqual(jbelt.calc_keys(keys['priv']).getPublic().getBytes(), keys['pub'])
def sign(): if request.method == "POST": key = request.form["key"].strip() if "upload" in request.query_string: file = request.files["file"] return render_template("sign.html", xml=file.read(), signed="", key=key, is_valid=True) key = request.form["key"].strip() xml = request.form["xml"].strip() signed = request.form["signed"].strip() is_valid = False if "verify" in request.query_string: is_valid = jbelt.verify(signed) elif key and xml: signed = jbelt.sign(xml, keys=jbelt.calc_keys(base64.b64decode(key))) is_valid = jbelt.verify(signed) return render_template("sign.html", xml=xml, signed=signed, key=key, is_valid=is_valid) else: return render_template("sign.html", xml="", signed="", key=base64.b64encode(str(jbelt.genKeys()["priv"])))