A policy builder interface for Trusted Capsules. Integrates key management capabilities
- python 3.6+
- yarn
- capsule_gen (bundled for Linux x86-64, for other platforms please recompile)
- Slides: https://docs.google.com/presentation/d/1h1r1BICwu2tbnsBMdahuZV4tx1Q5xVw0yfxkWo3Eexw/edit#slide=id.g592028f938_0_86
- Registration flow: pdf
yarn install
pip3 install requirements.txt --user
- Run webpack, typescript transpiler and python server with
yarn start
- Open your web browser to http://localhost:5000/ for capsule creation
- 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
Open backend/mail.py
and fill in your username and password for emailing
Built with:
- react (for abstraction of components)
- typescript (for type sanity)
- webpack (for js import support in the browser)
- webpack-dev-server (for auto refresh when doing front end dev work)
- react-fontawesome (for nice icons)
- superagent (for post request and attachment handling)
- react-dropzone (for drag and drop files)
- react-beautiful-dnd (not used currently)
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)