78 lines
2.3 KiB
Bash
78 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
CA_CERT_FILE="/ssl/ca-cert.pem"
|
|
CA_KEY_FILE="/ssl/ca-key.pem"
|
|
SERVER_CERT_FILE="/ssl/server-cert.pem"
|
|
SERVER_CERT_FILE="/ssl/server-key.pem"
|
|
|
|
if [ ! -d "/app/ssl" ]; then
|
|
mkdir -p "/app/ssl"
|
|
fi
|
|
|
|
if [ ! -d "/app/public/documents/ssl/" ]; then
|
|
mkdir -p "/app/public/documents/ssl/"
|
|
fi
|
|
|
|
if [ -f "$CA_CERT_FILE" ] && [ -f "$CA_KEY_FILE" ] && [ -f "$SERVER_CERT_FILE" ] && [ -f "$SERVER_KEY_FILE" ]; then
|
|
echo "SSL Files Present. Moving Forward >>>"
|
|
else
|
|
echo "Generating SSL Files ..."
|
|
rm -Rf /ssl/*
|
|
cd /ssl
|
|
openssl genrsa 2048 >ca-key.pem
|
|
openssl req -new -x509 -nodes -days 365000 -key ca-key.pem -out ca-cert.pem -subj "/C=/ST=/L=/O=/CN=MariaDB admin"
|
|
openssl req -newkey rsa:2048 -days 365000 -nodes -keyout server-key.pem -out server-req.pem -subj "/C=/ST=/L=/O=/CN=MariaDB server"
|
|
openssl rsa -in server-key.pem -out server-key.pem
|
|
openssl x509 -req -in server-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
|
|
openssl req -newkey rsa:2048 -days 365000 -nodes -keyout client-key.pem -out client-req.pem -subj "/C=/ST=/L=/O=/CN=MariaDB user"
|
|
openssl rsa -in client-key.pem -out client-key.pem
|
|
openssl x509 -req -in client-req.pem -days 365000 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
|
|
fi
|
|
|
|
chmod 755 /ssl
|
|
chmod 644 /ssl/*.pem
|
|
|
|
rm -f /app/ssl/ca-cert.pem
|
|
rm -Rf /app/ssl/*
|
|
rm -Rf /app/public/documents/ssl/*
|
|
|
|
cp /ssl/ca-cert.pem /app/ssl/
|
|
cp /ssl/ca-cert.pem /app/public/documents/ssl/
|
|
|
|
LOCAL_CONFIG_DIR="/app/jsonData/dbSchemas/users"
|
|
if [ ! -d "$LOCAL_CONFIG_DIR" ]; then
|
|
echo "Creating Local Config Directory ..."
|
|
mkdir -p "$LOCAL_CONFIG_DIR"
|
|
fi
|
|
|
|
##------------------
|
|
# Create SSH keys
|
|
##------------------
|
|
echo "Generating SSH keys ..."
|
|
|
|
KEY_NAME="dsql"
|
|
OUTPUT_DIR="/ssh"
|
|
PASSPHRASE=""
|
|
|
|
mkdir -p "$OUTPUT_DIR"
|
|
|
|
KEY_PATH="$OUTPUT_DIR/$KEY_NAME"
|
|
|
|
if [ ! -f "$KEY_PATH" ]; then
|
|
echo "Generating SSH keypair..."
|
|
ssh-keygen -t rsa -b 4096 -f "$KEY_PATH" -N "$PASSPHRASE" -q
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "SSH keypair generated successfully!"
|
|
echo "Private key: $KEY_PATH"
|
|
echo "Public key: $KEY_PATH.pub"
|
|
else
|
|
echo "Error: Failed to generate SSH keypair."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "SSH keypair already exists. Skipping key generation."
|
|
fi
|
|
|
|
exit 0
|