about summary refs log tree commit diff stats
path: root/hosts/by-name/server3/secrets/dkim/gen_key.sh
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-04-01 16:13:51 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-04-01 16:13:51 +0200
commit9c72df2287ae8ddd4c3f93675f608e414ab5e8e7 (patch)
tree8849d4176a26f3c613e9422e68298e0fe5e22cba /hosts/by-name/server3/secrets/dkim/gen_key.sh
parentzones/vhack.eu: Correct specify the SRV targets as fully-qualified (diff)
downloadnixos-server-9c72df2287ae8ddd4c3f93675f608e414ab5e8e7.zip
{hosts/server3,zones/vhack.eu}: Activate stalwart-mail on server3 for soispha
Diffstat (limited to 'hosts/by-name/server3/secrets/dkim/gen_key.sh')
-rwxr-xr-xhosts/by-name/server3/secrets/dkim/gen_key.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/hosts/by-name/server3/secrets/dkim/gen_key.sh b/hosts/by-name/server3/secrets/dkim/gen_key.sh
new file mode 100755
index 0000000..61da156
--- /dev/null
+++ b/hosts/by-name/server3/secrets/dkim/gen_key.sh
@@ -0,0 +1,33 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p rage -p openssl -p bash -i bash --impure
+
+# shellcheck shell=bash
+
+cd "$(dirname "$0")" || {
+    echo "No basedir?!"
+    exit 1
+}
+
+key_name="$1"
+[ -z "$key_name" ] && {
+    echo "Usage: $0 KEY_NAME IDENTITY"
+    exit 2
+}
+
+openssl genpkey \
+    -algorithm ed25519 \
+    -out - |
+    tee >(openssl pkey \
+        -pubout \
+        -out - |
+        openssl asn1parse \
+            -offset 12 \
+            -noout \
+            -out - |
+        base64 --wrap 0 >"$key_name-public") |
+    rage --encrypt \
+        --armor \
+        --recipient "age1mshh4ynzhhzhff25tqwkg4j054g3xwrfznh98ycchludj9wjj48qn2uffn" \
+        >"$key_name-private.age"
+
+# vim: ft=sh