
Some checks failed
CI/CD Pipeline / Test Suite (push) Has been cancelled
CI/CD Pipeline / Security Audit (push) Has been cancelled
CI/CD Pipeline / Build Docker Image (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
CI/CD Pipeline / Cleanup (push) Has been cancelled
71 lines
1.8 KiB
Bash
Executable File
71 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Generate TLS certificates for development
|
|
# This script creates self-signed certificates for local development only
|
|
# DO NOT use these certificates in production
|
|
|
|
set -e
|
|
|
|
# Create certs directory if it doesn't exist
|
|
mkdir -p certs
|
|
|
|
# Change to certs directory
|
|
cd certs
|
|
|
|
# Generate private key
|
|
echo "Generating private key..."
|
|
openssl genrsa -out key.pem 2048
|
|
|
|
# Generate certificate signing request
|
|
echo "Generating certificate signing request..."
|
|
openssl req -new -key key.pem -out cert.csr -subj "/C=US/ST=State/L=City/O=Organization/OU=OrgUnit/CN=localhost"
|
|
|
|
# Generate self-signed certificate
|
|
echo "Generating self-signed certificate..."
|
|
openssl x509 -req -days 365 -in cert.csr -signkey key.pem -out cert.pem
|
|
|
|
# Create certificate with Subject Alternative Names for localhost
|
|
echo "Creating certificate with SAN..."
|
|
cat > cert.conf <<EOF
|
|
[req]
|
|
distinguished_name = req_distinguished_name
|
|
req_extensions = v3_req
|
|
prompt = no
|
|
|
|
[req_distinguished_name]
|
|
C = US
|
|
ST = State
|
|
L = City
|
|
O = Organization
|
|
OU = OrgUnit
|
|
CN = localhost
|
|
|
|
[v3_req]
|
|
keyUsage = keyEncipherment, dataEncipherment
|
|
extendedKeyUsage = serverAuth
|
|
subjectAltName = @alt_names
|
|
|
|
[alt_names]
|
|
DNS.1 = localhost
|
|
DNS.2 = 127.0.0.1
|
|
IP.1 = 127.0.0.1
|
|
IP.2 = ::1
|
|
EOF
|
|
|
|
# Generate new certificate with SAN
|
|
openssl req -new -x509 -key key.pem -out cert.pem -days 365 -config cert.conf -extensions v3_req
|
|
|
|
# Clean up
|
|
rm cert.csr cert.conf
|
|
|
|
echo "✅ TLS certificates generated successfully!"
|
|
echo "📁 Certificates saved to: $(pwd)"
|
|
echo "🔐 Certificate: cert.pem"
|
|
echo "🔑 Private key: key.pem"
|
|
echo ""
|
|
echo "⚠️ These are self-signed certificates for development only!"
|
|
echo "⚠️ Your browser will show security warnings - this is normal for self-signed certs"
|
|
echo ""
|
|
echo "To use HTTPS, set SERVER_PROTOCOL=https in your .env file"
|
|
echo "The certificate paths are already configured in .env.example"
|