TrustedCapsules / keyserver

A key server and web based builder for Trusted Capsules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

keyserver

A policy builder interface for Trusted Capsules. Integrates key management capabilities

Requirements:

  • python 3.6+
  • yarn
  • capsule_gen (bundled for Linux x86-64, for other platforms please recompile)

Background:

Getting started

  1. Install yarn and python
  2. From the git root, run
yarn install
pip3 install requirements.txt --user
  1. Run webpack, typescript transpiler and python server with yarn start
  2. Open your web browser to http://localhost:5000/ for capsule creation

Notes

Nonce flow

  • Server gets registration request
  • Server generates random byte nonce, saves hex(nonce) as a string
  • Server responds to client with enc_nonce = hex(pubkey(nonce))
  • Client sends dec_nonce = hex(decrypt(fromhex(enc_nonce)))
  • Server validates this in db

Email

Open backend/mail.py and fill in your username and password for emailing

Frontend

Built with:

Backend

Built with:

  • flask (web server)
  • sqlite (persistent store)
  • sqlalchemy (ORM for easy data marshalling)
  • pytest (for unit tests)
  • jsonschema (validate client requests)
  • pycryptodomex (key generation and encrypt/decrypt tasks)

About

A key server and web based builder for Trusted Capsules

License:MIT License


Languages

Language:Python 69.6%Language:TypeScript 27.3%Language:JavaScript 2.4%Language:HTML 0.6%Language:Lua 0.0%