about summary refs log tree commit diff stats
path: root/tests/by-name/em/email-dns/secrets/dkim/gen_key.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/by-name/em/email-dns/secrets/dkim/gen_key.sh')
-rwxr-xr-xtests/by-name/em/email-dns/secrets/dkim/gen_key.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/by-name/em/email-dns/secrets/dkim/gen_key.sh b/tests/by-name/em/email-dns/secrets/dkim/gen_key.sh
new file mode 100755
index 0000000..1e090f4
--- /dev/null
+++ b/tests/by-name/em/email-dns/secrets/dkim/gen_key.sh
@@ -0,0 +1,33 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -p rage -p openssl -p dash -i dash --impure
+
+cd "$(dirname "$0")" || {
+    echo "No basedir?!"
+    exit 1
+}
+
+key_name="$1"
+[ -z "$key_name" ] && {
+    echo "Usage: $0 KEY_NAME"
+    exit 2
+}
+
+[ -d "$key_name" ] || mkdir "$key_name"
+cd "$key_name" || {
+    echo "Just created."
+    exit 1
+}
+
+openssl genpkey -algorithm ed25519 -out "private"
+openssl pkey -in "private" -pubout -out "public.tmp"
+
+openssl asn1parse -in "public.tmp" -offset 12 -noout -out /dev/stdout | base64 --wrap 0 >"public"
+rm "public.tmp"
+
+rage --encrypt \
+    --armor \
+    --recipient "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILxdvBk/PC9fC7B5vqe9TvygZKY6LgDQ2mXRdVrthBM/" \
+    "private" >"private.age"
+rm "private"
+
+# vim: ft=sh