undercroft

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 0012dad4293f7138b62826ce7ff1e60cb00d38fb
parent 12c7dbbb7fea0d5af30df43c92ca40f19f02686f
Author: Daniel Barlow <dan@telent.net>
Date:   Wed, 15 Apr 2026 18:43:28 +0100

makefile to create openssl certs and keys for testing

Diffstat:
M.gitignore | 3+++
AMakefile | 25+++++++++++++++++++++++++
Mrustup.nix | 3+++
3 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1 +1,3 @@ /target +/certs +/private +\ No newline at end of file diff --git a/Makefile b/Makefile @@ -0,0 +1,25 @@ +SERVERNAME=$(shell hostname) + +default: certificates +certificates: certs/ca.crt certs/server.crt + +private/ca.key: + mkdir -p private + openssl genrsa -out private/ca.key 4096 + +certs/ca.crt: private/ca.key + mkdir -p certs + openssl req -addext basicConstraints=critical,CA:TRUE,pathlen:0 --x509 -new -nodes -key private/ca.key -sha256 -days 3650 -out certs/ca.crt + +certs/server.csr: + mkdir -p certs + openssl req -newkey rsa:2048 -addext "subjectAltName = DNS:$(SERVERNAME).lan,DNS:$(SERVERNAME),DNS:$(SERVERNAME).telent.net" -nodes -keyout private/server.key --out certs/server.csr + +# certs/client.csr: +# openssl req -newkey rsa:2048 -addext "subjectAltName = DNS:$(SERVERNAME).lan,DNS:$(SERVERNAME),DNS:$(SERVERNAME).telent.net" -nodes -keyout private/server.key --out certs/server.csr + +certs/server.crt: private/ca.key certs/server.csr + openssl x509 -req -in certs/server.csr -days 365 -CA certs/ca.crt -CAkey private/ca.key -CAcreateserial -copy_extensions copyall -out certs/server.crt + +run: + cargo run --ca-certificate certs/ca.crt --certificate certs/server.crt --key private/server.key --port 3002 secrets.yml.age diff --git a/rustup.nix b/rustup.nix @@ -11,6 +11,9 @@ ])); in pkgs.mkShell rec { + nativeBuildInputs= with pkgs; [ + openssl + ]; buildInputs = with pkgs; [ clang # Replace llvmPackages with llvmPackages_X, where X is the latest LLVM version (at the time of writing, 16)