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:
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)