Files
stalwart/tests/docker/scripts/gen-certs.sh
2026-03-19 19:29:17 +01:00

27 lines
834 B
Bash
Executable File

#!/bin/bash
set -e
CERT_DIR=/certs
if [ ! -f "$CERT_DIR/cert.pem" ]; then
echo "Generating self-signed certificate..."
openssl req -x509 -newkey rsa:2048 -nodes \
-keyout "$CERT_DIR/key.pem" \
-out "$CERT_DIR/cert.pem" \
-days 365 \
-subj "/CN=localhost/O=Stalwart Test/C=US" \
-addext "subjectAltName=DNS:localhost,DNS:keycloak,DNS:openldap,DNS:pebble,DNS:*.stalwart.test,IP:127.0.0.1"
# Create combined PEM for services that need it
cat "$CERT_DIR/cert.pem" "$CERT_DIR/key.pem" > "$CERT_DIR/combined.pem"
# Create PKCS12 for Keycloak
openssl pkcs12 -export -in "$CERT_DIR/cert.pem" -inkey "$CERT_DIR/key.pem" \
-out "$CERT_DIR/keystore.p12" -name localhost -password pass:changeit
chmod 644 "$CERT_DIR"/*
echo "Certificates generated."
else
echo "Certificates already exist."
fi