Go to file
jacob.eva 937d9ab266
First commit
2023-03-08 14:57:27 +00:00
migrations First commit 2023-03-08 14:57:27 +00:00
src First commit 2023-03-08 14:57:27 +00:00
static First commit 2023-03-08 14:57:27 +00:00
.gitignore First commit 2023-03-08 14:57:27 +00:00
Cargo.toml First commit 2023-03-08 14:57:27 +00:00
README.md First commit 2023-03-08 14:57:27 +00:00
Rocket.toml First commit 2023-03-08 14:57:27 +00:00

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.