51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# DashCA Certificate Generation Script
|
|
# This script generates all required certificate formats
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
CA_DIR="$(dirname "$SCRIPT_DIR")"
|
|
CADDY_CERT_DIR="C:/caddy/certs/pki/authorities/local"
|
|
|
|
echo "======================================"
|
|
echo "DashCA Certificate Format Generator"
|
|
echo "======================================"
|
|
echo ""
|
|
|
|
# Step 1: Copy certificates from Caddy
|
|
echo "[1/4] Copying certificates from Caddy PKI..."
|
|
if [ ! -f "$CADDY_CERT_DIR/root.crt" ]; then
|
|
echo "ERROR: Root certificate not found at $CADDY_CERT_DIR/root.crt"
|
|
exit 1
|
|
fi
|
|
|
|
cp "$CADDY_CERT_DIR/root.crt" "$CA_DIR/"
|
|
cp "$CADDY_CERT_DIR/intermediate.crt" "$CA_DIR/" 2>/dev/null || echo " (Intermediate certificate not found, skipping)"
|
|
echo " ✓ Certificates copied"
|
|
|
|
# Step 2: Generate DER format
|
|
echo "[2/4] Generating DER format..."
|
|
openssl x509 -in "$CA_DIR/root.crt" -outform DER -out "$CA_DIR/root.der"
|
|
echo " ✓ DER format generated: root.der"
|
|
|
|
# Step 3: Generate certificate info JSON
|
|
echo "[3/4] Extracting certificate metadata..."
|
|
node "$SCRIPT_DIR/generate-cert-info.js"
|
|
|
|
# Step 4: Generate Apple mobileconfig
|
|
echo "[4/4] Generating Apple mobile configuration profile..."
|
|
node "$SCRIPT_DIR/generate-mobileconfig.js"
|
|
|
|
echo ""
|
|
echo "======================================"
|
|
echo "✓ All certificate formats generated!"
|
|
echo "======================================"
|
|
echo ""
|
|
echo "Files created in: $CA_DIR"
|
|
ls -lh "$CA_DIR"/*.{crt,der,mobileconfig,json} 2>/dev/null || echo "Files created successfully"
|
|
echo ""
|
|
echo "To deploy to production:"
|
|
echo " cp -r $CA_DIR/* C:/caddy/sites/ca/"
|
|
echo ""
|