937d9ab266 | ||
---|---|---|
migrations | ||
src | ||
static | ||
.gitignore | ||
Cargo.toml | ||
README.md | ||
Rocket.toml |
README.md
Foxtrot MFA
This application is an example implementation of 3 methods of authentication, all of which must be satisfied in order to be granted access. These methods are:
- Username & password
- Time based one time password
- Mutual TLS certificate
Setup
Create SQL database:
sudo mysql -p < migrations/20221017163745_users.sql
Create TLS directory:
mkdir tls
Generate TLS certs:
openssl req -x509 -newkey rsa:4096 -keyout tls/key.pem -out tls/cert.pem -sha256 -days 365 -nodes
Generate CA:
openssl genrsa -out tls/ca.pem 4096 openssl req -x509 -new -sha512 -nodes -key tls/ca.pem -days 365 -out tls/ca.crt
And fill in the options as required.