1.3 KiB
1.3 KiB
TODO
There's lots of things to add.
- TLS
- Autorenew this with an ACME server (eg, Boulder; use the Lego library)
- self-host the Boulder server & add the main CA pubkey to the client
- Work with self-signed stuff for now tho
- Authentication
- Give each client an API key
- Limit decryption keys that client can access?
- Admin UI on the server
- Manage client accounts
- Import public keys
- Add/Remove keys
- Private Key autorotation
- PGP Public Key Server
- a la keys.openpgp.org
- two servers? one public (company pub keys), one internal (customer pub keys)
- Encryption groups
- Add a number of public keys to a group. When the client encrypts to a group, use all the keys.
- Auto-remove expired keys from groups
Technical TODO
More specific stuff
- Wrap keys in Armor when sending over the wire
- Figure out sending multiple keys in the same request. Wrap in json? Can Armor handle multiple keys? Can I just concatinate multiple Armored keys?
- Auto-generate self-signed certs for testing TLS
- Password protect private keys?
- Where would this password be stored?
- Keys would ultimately need to be stored on disk somewhere, and they can't be unprotected there.
- Reorganize code to split client and server and a common lib
- Look at KMIP. Do I want to implement this?