# 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.