copy_letsencrypt_cert_to_keystore_java
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| copy_letsencrypt_cert_to_keystore_java [2025/01/11 23:56] – inc002 | copy_letsencrypt_cert_to_keystore_java [2025/01/12 00:04] (Version actuelle) – inc002 | ||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| == Prérequis == | == Prérequis == | ||
| - | * 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) : | ||
| - | < | ||
| - | # 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 |
| - | </ | + | |
| + | 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 / | + | Créer le script suivant dans / |
| - | <syntaxhighlight lang="bash"> | + | <code bash| hook_certbot.sh> |
| #!/bin/bash | #!/bin/bash | ||
| # Configuration | # Configuration | ||
| - | CERT_PATH="/ | + | CERT_PATH="/ |
| - | MDM_SERVER=" | + | MDM_SERVER=" |
| MDM_USER=" | MDM_USER=" | ||
| KEYSTORE_PASSWORD=" | KEYSTORE_PASSWORD=" | ||
| Ligne 48: | Ligne 47: | ||
| -in " | -in " | ||
| -inkey " | -inkey " | ||
| - | -out mdm.murcier.fun.p12 \ | + | -out domain.tld.p12 \ |
| -name tomcat \ | -name tomcat \ | ||
| -password pass: | -password pass: | ||
| Ligne 54: | Ligne 53: | ||
| # Conversion en JKS | # Conversion en JKS | ||
| keytool -importkeystore \ | keytool -importkeystore \ | ||
| - | -srckeystore | + | -srckeystore |
| -srcstoretype PKCS12 \ | -srcstoretype PKCS12 \ | ||
| -srcstorepass $KEYSTORE_PASSWORD \ | -srcstorepass $KEYSTORE_PASSWORD \ | ||
| - | -destkeystore | + | -destkeystore |
| -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: | + | scp domain.tld.jks $MDM_USER@$MDM_SERVER: |
| - | ssh $MDM_USER@$MDM_SERVER "chown tomcat: | + | ssh $MDM_USER@$MDM_SERVER "chown tomcat: |
| # Nettoyage | # Nettoyage | ||
| Ligne 72: | Ligne 71: | ||
| echo " | echo " | ||
| - | </syntaxhighlight> | + | </code> |
| === Installation du script === | === Installation du script === | ||
| - | < | + | |
| - | chmod +x / | + | chmod +x / |
| - | ln -s / | + | ln -s / |
| - | </ | + | |
| == Configuration Tomcat == | == Configuration Tomcat == | ||
| Le fichier server.xml doit contenir : | Le fichier server.xml doit contenir : | ||
| - | <syntaxhighlight lang="xml"> | + | <code xml> |
| < | < | ||
| | | ||
| < | < | ||
| - | < | + | < |
| certificateKeystorePassword=" | certificateKeystorePassword=" | ||
| type=" | type=" | ||
| </ | </ | ||
| </ | </ | ||
| - | </syntaxhighlight> | + | </code> |
| == Test manuel == | == Test manuel == | ||
| + | |||
| Pour tester le renouvellement manuellement : | Pour tester le renouvellement manuellement : | ||
| - | < | ||
| - | # Test à blanc | ||
| - | certbot renew --dry-run | ||
| - | # Renouvellement forcé | + | Test à blanc |
| - | certbot certonly --force-renewal -d votre.domaine.com | + | certbot renew --dry-run |
| - | </ | + | |
| + | Renouvellement forcé | ||
| + | certbot certonly --force-renewal -d votre.domaine.com | ||
| == Vérification == | == Vérification == | ||
| Pour vérifier l' | Pour vérifier l' | ||
| - | < | ||
| - | # Vérifier le statut de Tomcat | ||
| - | systemctl status tomcat9 | ||
| - | # Vérifier le certificat | + | Vérifier le statut de Tomcat |
| - | curl -v https:// | + | systemctl status tomcat9 |
| - | </ | + | |
| + | Vérifier le certificat | ||
| + | curl -v https:// | ||
| == Maintenance == | == Maintenance == | ||
| - | * Le renouvellement est automatique via Certbot | + | |
| - | * Le script s' | + | * Le script s' |
| - | * Le certificat est renouvelé environ 30 jours avant expiration | + | * Le certificat est renouvelé environ 30 jours avant expiration |
| - | * Vérifier les logs dans / | + | * Vérifier les logs dans / |
| == Dépannage == | == Dépannage == | ||
| === Problèmes courants === | === Problèmes courants === | ||
| - | * ''' | + | |
| - | * ''' | + | * '' |
| - | * ''' | + | * '' |
| - | * ''' | + | * '' |
| === Commandes utiles === | === Commandes utiles === | ||
| - | * Vérifier le contenu d'un keystore : | + | |
| - | < | + | |
| - | keytool -list -v -keystore keystore.jks | + | keytool -list -v -keystore keystore.jks |
| - | </ | + | |
| + | * Vérifier la validité du certificat : | ||
| - | * Vérifier la validité du certificat : | + | |
| - | < | + | |
| - | openssl x509 -in fullchain.pem -text -noout | + | |
| - | </ | + | |
| [[Category: | [[Category: | ||
copy_letsencrypt_cert_to_keystore_java.1736639786.txt.gz · Dernière modification : de inc002
