Outils pour utilisateurs

Outils du site


copy_letsencrypt_cert_to_keystore_java

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
copy_letsencrypt_cert_to_keystore_java [2025/01/11 23:48] – créée inc002copy_letsencrypt_cert_to_keystore_java [2025/01/12 00:04] (Version actuelle) inc002
Ligne 1: Ligne 1:
-= Déploiement automatique de certificat Let's Encrypt vers Java Keystore =+===Déploiement automatique de certificat Let's Encrypt vers Java Keystore===
  
 == Contexte == == Contexte ==
Ligne 5: Ligne 5:
  
 == Prérequis == == Prérequis ==
-* Un certificat Let's Encrypt généré via Certbot +  * Un certificat Let's Encrypt généré via Certbot 
-* Accès root sur les deux serveurs (source et destination) +  * Accès root sur les deux serveurs (source et destination) 
-* OpenSSL et Keytool installés +  * OpenSSL et Keytool installés 
-* SSH configuré entre les serveurs+  * SSH configuré entre les serveurs
  
 == Configuration SSH sans mot de passe == == Configuration SSH sans mot de passe ==
 Sur le serveur source (où se trouve le certificat Let's Encrypt) : Sur le serveur source (où se trouve le certificat Let's Encrypt) :
-<syntaxhighlight lang="bash"> 
-# Générer la paire de clés 
-ssh-keygen -t ed25519 
  
-Copier la clé vers le serveur de destination +Générer la paire de clés 
-ssh-copy-id root@serveur-destination +  ssh-keygen -t ed25519 
-</syntaxhighlight>+ 
 +Copier la clé vers le serveur de destination 
 +  ssh-copy-id root@serveur-destination
  
 == Script de déploiement == == Script de déploiement ==
-Créer le script suivant dans /usr/local/bin/deploy_cert_mdm.sh : +Créer le script suivant dans /usr/local/bin/deploy_cert.sh : 
-<syntaxhighlight lang="bash">+<code bash| hook_certbot.sh>
 #!/bin/bash #!/bin/bash
  
 # Configuration # Configuration
-CERT_PATH="/etc/letsencrypt/live/mdm.murcier.fun+CERT_PATH="/etc/letsencrypt/live/domain.tld
-MDM_SERVER="mdm.murcier.fun"+MDM_SERVER="domain.tld"
 MDM_USER="root" MDM_USER="root"
 KEYSTORE_PASSWORD="123456" KEYSTORE_PASSWORD="123456"
Ligne 48: Ligne 47:
     -in "$CERT_PATH/fullchain.pem" \     -in "$CERT_PATH/fullchain.pem" \
     -inkey "$CERT_PATH/privkey.pem" \     -inkey "$CERT_PATH/privkey.pem" \
-    -out mdm.murcier.fun.p12 \+    -out domain.tld.p12 \
     -name tomcat \     -name tomcat \
     -password pass:$KEYSTORE_PASSWORD     -password pass:$KEYSTORE_PASSWORD
Ligne 54: Ligne 53:
 # Conversion en JKS # Conversion en JKS
 keytool -importkeystore \ keytool -importkeystore \
-    -srckeystore mdm.murcier.fun.p12 \+    -srckeystore domain.tld.p12 \
     -srcstoretype PKCS12 \     -srcstoretype PKCS12 \
     -srcstorepass $KEYSTORE_PASSWORD \     -srcstorepass $KEYSTORE_PASSWORD \
-    -destkeystore mdm.murcier.fun.jks \+    -destkeystore domain.tld.jks \
     -deststoretype JKS \     -deststoretype JKS \
     -deststorepass $KEYSTORE_PASSWORD     -deststorepass $KEYSTORE_PASSWORD
Ligne 64: Ligne 63:
  
 # Copie et configuration sur le serveur distant # Copie et configuration sur le serveur distant
-scp mdm.murcier.fun.jks $MDM_USER@$MDM_SERVER:$REMOTE_PATH/ +scp domain.tld.jks $MDM_USER@$MDM_SERVER:$REMOTE_PATH/ 
-ssh $MDM_USER@$MDM_SERVER "chown tomcat:tomcat $REMOTE_PATH/mdm.murcier.fun.jks && chmod 600 $REMOTE_PATH/mdm.murcier.fun.jks && systemctl restart tomcat9"+ssh $MDM_USER@$MDM_SERVER "chown tomcat:tomcat $REMOTE_PATH/domain.tld.jks && chmod 600 $REMOTE_PATH/domain.tld.jks && systemctl restart tomcat9"
  
 # Nettoyage # Nettoyage
Ligne 72: Ligne 71:
  
 echo "Déploiement terminé avec succès!" echo "Déploiement terminé avec succès!"
-</syntaxhighlight>+</code>
  
 === Installation du script === === Installation du script ===
-<syntaxhighlight lang="bash"> + 
-chmod +x /usr/local/bin/deploy_cert_mdm.sh +  chmod +x /usr/local/bin/deploy_cert.sh 
-ln -s /usr/local/bin/deploy_cert_mdm.sh /etc/letsencrypt/renewal-hooks/deploy/deploy_cert_mdm +  ln -s /usr/local/bin/deploy_cert.sh /etc/letsencrypt/renewal-hooks/deploy/deploy_cert
-</syntaxhighlight>+
  
 == Configuration Tomcat == == Configuration Tomcat ==
 Le fichier server.xml doit contenir : Le fichier server.xml doit contenir :
-<syntaxhighlight lang="xml">+<code xml>
 <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150" SSLEnabled="true">            maxThreads="150" SSLEnabled="true">
     <SSLHostConfig>     <SSLHostConfig>
-        <Certificate certificateKeystoreFile="/var/lib/tomcat9/ssl/mdm.murcier.fun.jks" +        <Certificate certificateKeystoreFile="/var/lib/tomcat9/ssl/domain.tld.jks" 
                     certificateKeystorePassword="123456"                     certificateKeystorePassword="123456"
                     type="RSA" />                     type="RSA" />
     </SSLHostConfig>     </SSLHostConfig>
 </Connector> </Connector>
-</syntaxhighlight>+</code>
  
 == Test manuel == == Test manuel ==
 +
 Pour tester le renouvellement manuellement : Pour tester le renouvellement manuellement :
-<syntaxhighlight lang="bash"> 
-# Test à blanc 
-certbot renew --dry-run 
  
-Renouvellement forcé +Test à blanc 
-certbot certonly --force-renewal -d votre.domaine.com +  certbot renew --dry-run 
-</syntaxhighlight>+ 
 +Renouvellement forcé 
 +  certbot certonly --force-renewal -d votre.domaine.com
  
 == Vérification == == Vérification ==
 Pour vérifier l'installation : Pour vérifier l'installation :
-<syntaxhighlight lang="bash"> 
-# Vérifier le statut de Tomcat 
-systemctl status tomcat9 
  
-Vérifier le certificat +Vérifier le statut de Tomcat 
-curl -v https://votre.domaine.com:8443 +  systemctl status tomcat9 
-</syntaxhighlight>+ 
 +Vérifier le certificat 
 +  curl -v https://votre.domaine.com:8443
  
 == Maintenance == == Maintenance ==
-* Le renouvellement est automatique via Certbot +  * Le renouvellement est automatique via Certbot 
-* Le script s'exécute automatiquement après chaque renouvellement +  * Le script s'exécute automatiquement après chaque renouvellement 
-* Le certificat est renouvelé environ 30 jours avant expiration +  * Le certificat est renouvelé environ 30 jours avant expiration 
-* Vérifier les logs dans /var/log/letsencrypt/ en cas de problème+  * Vérifier les logs dans /var/log/letsencrypt/ en cas de problème
  
 == Dépannage == == Dépannage ==
 === Problèmes courants === === Problèmes courants ===
-'''Erreur de permissions''' : Vérifier les droits utilisateur tomcat +  * ''Erreur de permissions'' : Vérifier les droits utilisateur tomcat 
-'''Erreur SSH''' : Vérifier la configuration SSH et les clés +  * ''Erreur SSH'' : Vérifier la configuration SSH et les clés 
-'''Tomcat ne démarre pas''' : Vérifier les logs avec journalctl -u tomcat9 +  * ''Tomcat ne démarre pas'' : Vérifier les logs avec journalctl -u tomcat9 
-'''Certificat non renouvelé''' : Vérifier les logs Certbot+  * ''Certificat non renouvelé'' : Vérifier les logs Certbot
  
 === Commandes utiles === === Commandes utiles ===
-* Vérifier le contenu d'un keystore : +  * Vérifier le contenu d'un keystore : 
-<syntaxhighlight lang="bash"> + 
-keytool -list -v -keystore keystore.jks +  keytool -list -v -keystore keystore.jks 
-</syntaxhighlight>+ 
 +  * Vérifier la validité du certificat :
  
-* Vérifier la validité du certificat : +  openssl x509 -in fullchain.pem -text -noout
-<syntaxhighlight lang="bash"> +
-openssl x509 -in fullchain.pem -text -noout +
-</syntaxhighlight>+
  
 [[Category:Sécurité]] [[Category:Sécurité]]
copy_letsencrypt_cert_to_keystore_java.1736639290.txt.gz · Dernière modification : de inc002