To ensure patient data is transferred securely between components all communication in Iryo is done through secure channels.
All certificates are self-signed and generated with Cloudflare's CFSSL tool.
There four types of certificates:
- root certficate
- server certificates (serving content)
- peer certificates (for identification of peer nodes)
- client certificates (for identification of clients)
All are created using a Makefile
to ease generation in your development environment. Initially they will be created when you run make
in your development environment.
To ease development the root certificate (ca
) is added to the repository.
The root certificate has to be added to your computer for the developer to be able to use curl
without the -k (insecure)
flag or to open https://iryo.local
in the browser without the This page is not secure
warnings.
To install it navigate to repository's root folder and execute:
security add-trusted-cert -k $HOME/Library/Keychains/login.keychain bin/tls/ca.pem
- components should be added to the
bin/tls/Makefile
under one of the three typesSERVERS
,PEERS
orCLIENTS
. - A
json
configuration file should be created inbin/tls
(checkvault.json
as an example). - Run
make
to generate new certificates and to rebuildtraefik
docker image.