mirror of
https://github.com/stalwartlabs/stalwart.git
synced 2026-08-19 00:01:07 +00:00
27 lines
834 B
Bash
Executable File
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
|