24 lines
664 B
Markdown
24 lines
664 B
Markdown
|
# 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.
|