This is the official QSX tool for setting up and prototpying a quantum-secure NGINX server.
On the build machine run the following to download and build the necessary dependencies and libraries:
sudo bash build_setup.sh
or ./build_setup.sh
Once successfully built, the build script will ask for optional certificate generation using the gen_cert.sh
script.
If HTTPS is enabled then gen_cert.sh
will edit the nginx.conf
file using conf_edit.py
. Finally ./build_setup.sh
calls nginx_signal.sh
which will send the USR2
and HUP
signals to the Nginx master process. Documentation on Nginx processes can be found here
If a self-signed certificate was generated and a post-quantum endpoint/port was created, then this port can be tested with a post-quantum TLS session using one of two tools.
Requesting the certificate from the server using the built in OpenSSL s_client
by running the following:
apps/openssl s_client -connect host:port-curves <KEM>
List of supported algorithms that can be passed to <KEM>
are the following default algorithms: `kyber512:kyber768:sikep434:sikep503:frodo640aes:frodo640shake:bike1l1cpa:bike1l3cpa'
Requesting a page from server on that port using an OQS modified version of curl. Installation and usage can be found here.