aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gen-cert.sh
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
commit900bb5e845c3ad44defbd427cae3d44a4a43321f (patch)
treedf3d96a93771884add571e82336c29fc3d9c7a1c /scripts/gen-cert.sh
downloadgreatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz
greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip
feat: Initial commit
Diffstat (limited to 'scripts/gen-cert.sh')
-rwxr-xr-xscripts/gen-cert.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/gen-cert.sh b/scripts/gen-cert.sh
new file mode 100755
index 0000000..76ef232
--- /dev/null
+++ b/scripts/gen-cert.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -Eeuo pipefail
+
+NAME=${1-""}
+SUBJECT="/CN=greatoffice-dev-certs\/emailAddress=admin@greatoffice.life/C=NO"
+
+if [ -z "$NAME" ]; then
+ echo "Year is not specified, defaulting to current year"
+ NAME=$(date +%Y)
+fi
+
+if [ -f "$NAME.pfx" ]; then
+ echo "$NAME.pfx exists, exiting"
+ exit 0
+fi
+openssl genrsa -out $NAME.key
+openssl req -nodes -new -subj $SUBJECT -in $NAME.key -out $NAME.csr
+openssl req -nodes -x509 -subj $SUBJECT -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
+openssl x509 -req -days 365 -in $NAME.csr -signkey key.pem -out $NAME.crt
+openssl pkcs12 -export -out $NAME.pfx -inkey key.pem -in $NAME.crt
+
+echo "Your cert is at $NAME.pfx"