mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-28 20:58:42 +02:00
![google-labs-jules[bot]](/assets/img/avatar_default.png)
Modifie le processus d'initialisation de l'application : - Lors du premier lancement, un formulaire vous demande maintenant de saisir le mot de passe souhaité pour le compte administrateur initial et le ROOT_DOMAIN à utiliser pour le certificat CA. - Ces informations sont temporairement stockées en session. - Le script `create_root_cert.sh` a été modifié pour accepter le ROOT_DOMAIN en argument et l'utilise pour générer le CN du certificat racine. - Le mot de passe fourni est utilisé pour créer le premier utilisateur administrateur. - Les variables de session contenant ces informations sont nettoyées après la fin du processus d'initialisation. Cela améliore la sécurité en évitant un mot de passe par défaut codé en dur et permet une configuration flexible du domaine du certificat racine dès le départ.
48 lines
1.8 KiB
Bash
48 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# Ce script crée le certificat Root CA (Certificate Authority) auto-signé.
|
|
# Il est destiné à être exécuté une seule fois, au premier lancement de l'application.
|
|
|
|
# Récupérer le domaine racine depuis le premier argument
|
|
ROOT_DOMAIN=$1
|
|
|
|
# Vérifier si ROOT_DOMAIN est fourni
|
|
if [ -z "$ROOT_DOMAIN" ]; then
|
|
echo "Erreur: Le domaine racine (ROOT_DOMAIN) doit être fourni en argument."
|
|
echo "Usage: $0 <votredomaine.com>"
|
|
exit 1
|
|
fi
|
|
|
|
ROOT_CA_DIR="/opt/tls/root"
|
|
ROOT_KEY="$ROOT_CA_DIR/private/ca.key.pem"
|
|
ROOT_CERT="$ROOT_CA_DIR/certs/ca.cert.pem"
|
|
ROOT_CNF="$ROOT_CA_DIR/openssl.cnf"
|
|
|
|
echo "Démarrage de la création du certificat Root CA dans $ROOT_CA_DIR..."
|
|
|
|
# Créer les dossiers nécessaires pour la PKI Root
|
|
mkdir -p "$ROOT_CA_DIR/certs" "$ROOT_CA_DIR/crl" "$ROOT_CA_DIR/newcerts" "$ROOT_CA_DIR/private" "$ROOT_CA_DIR/csr"
|
|
|
|
chmod 777 "$ROOT_CA_DIR/certs" "$ROOT_CA_DIR/crl" "$ROOT_CA_DIR/newcerts" "$ROOT_CA_DIR/private" "$ROOT_CA_DIR/csr"
|
|
|
|
# Initialiser les fichiers requis par OpenSSL pour une CA
|
|
touch "$ROOT_CA_DIR/index.txt"
|
|
|
|
echo 1000 > "$ROOT_CA_DIR/serial" # Numéro de série initial pour les certificats
|
|
echo 1000 > "$ROOT_CA_DIR/crlnumber" # Numéro de série initial pour la CRL
|
|
|
|
# Générer la clé privée du Root CA (2048 bits, sans passphrase pour la simplicité)
|
|
openssl genrsa -out "$ROOT_KEY" 4096
|
|
|
|
#
|
|
chmod 400 "$ROOT_KEY" # Permissions strictes pour la clé privée
|
|
|
|
# Générer le certificat Root CA auto-signé
|
|
openssl req -x509 -new -nodes -key "$ROOT_KEY" -sha256 -days 3650 -out "$ROOT_CERT" \
|
|
-subj "/C=FR/ST=NORD/L=ROUBAIX/O=IT/OU=IT/emailAddress=sec@tips-mine.com/CN=ca.$ROOT_DOMAIN/" \
|
|
-config "$ROOT_CNF" -extensions v3_ca
|
|
|
|
chmod 444 "$ROOT_CERT" # Permissions en lecture seule pour le certificat
|
|
|
|
echo "Certificat Root CA créé avec succès : $ROOT_CERT"
|