Installer un certificat SSL gratuit Let's Encrypt pour Spring Boot
1. Objectif de l'article
Let’s Encrypt est un fournisseur de certificat SSL gratuit développé par Internet Security Research Group (ISRG). Let's Encrypt fournit deux types de certificats dont SSL pour les noms de domaine standard et Wildcard SSL pour les domaines standard et les sous-domaines (subdomain).
Dans cet article, je vous aide à créer une inscription de certificat SSL Let's Encrypt pour votre nom de domaine et le déployer pour l'application Spring Boot.
Les instructeurs seront effectués sur le système d'exploitation Ubuntu car il est muni des outils tels que openssl et keytool. Cependant, il est possible de travailler avec le système d'exploitation Windows si vous installez ces outils.
Bien que le certifiat SSL est fourni gratuitement par Let's Encrypt, sa période de validité est courte, à savoir 90 jours. Par conséquent, vous devez recréer le certificat SSL tous les 90 jours. Mais heureusement, les étapes de recréer le certificat sont très simples et ne prennent pas beaucoup de temps.
Vous seriez probablement intéressé:
2. Inscription au certificat SSL
Il y a plusieurs façons de créer le certificat Let's Encrypt, mais je vous recommande à vous inscrire à sslforfree.com. Ce site web permet de créer un compte avec votre adresse mail et d'inscrire un certificat SSL pour votre nom de domaine. Si vous devez recréer un certificat, il suffit de faire une simple clique pour télécharger un nouveau certificat pour une durée de 90 jours.
Sur sslforfree.com, entrer votre nom de domaine et cliquer "Create Free SSL Certificate".
Ce site web sslforfree vous demandera de créer un compte:
Ensuite, vous devez prouver que vous êtes propriétaire du nom du domaine et déclarer les informations de votre nom de domaine, tels que votre pays, la ville, le nom de l'entreprise, etc.
Enfin, Let's Encrypt permet de télécharger un fichier ZIP contenant trois fichiers.
Remarque: Pour les applications du web écrites par le language Java, il faut sélectionner Tomcat pour "Server Type".
- certificate.crt: Certificate generated for your domain name.
- private.key: Private key of your certificate.
- ca_bundle.crt: Intermediate CA (Certificate Authority)
3. Convertissement au format PKCS-12
Extraire le fichier ZIP que vous avez téléchargé dans n'importe quel dossier dans Ubuntu. Par exemple:
- /home/{username}/mydomain.com
Les applications Java peuvent lire les certificats lorsqu'ils sont au format PKCS-12 (*.p12). Il faut donc convertir vos fichiers à ce format.
openssl pkcs12 -export -in /home/tran/mydomain.com/certificate.crt -inkey /home/tran/mydomain.com/private.key -name mydomain -out /home/tran/mydomain.com/mydomain_com.p12
keytool -importkeystore -deststorepass YourPassword -destkeystore /home/tran/mydomain.com/mydomain_com.jks -srckeystore /home/tran/mydomain.com/mydomain_com.p12 -srcstoretype PKCS12
keytool -importkeystore -deststorepass YourPassword -destkeystore /home/tran/mydomain.com/mydomain_com.jks -srckeystore /home/tran/mydomain.com/mydomain_com.p12 -srcstoretype PKCS12
Après avoir terminé ces deux commandes, vous avez deux nouveaux fichiers affichés comme ci-dessous:
4. Configuration de Spring Boot
Dans le projet Spring Boot, ouvrir le fichier application.properties pour configurer SSL.
application.properties
server.port=443
server.ssl.key-store=file:/home/tran/mydomain.com/mydomain_com.p12
server.ssl.key-store-password=YourPasswoord
server.ssl.key-alias=mydomain
Déployer votre site web et y accéder avec HTTPS:
- https://mydomain.com
Remarque: Si vous emballer l'application Spring Boot au format JAR (ou WAR) et directement exécuter via COMMAND, ce n'est pas nécessaire d'ajouter quoi que ce soit à application.properties. Il suffit d'exécuter l'application comme ci-dessous:
java -jar mydomaintest-1.0.war --server.port=443 -Dserver.ssl.key-store=file:/home/tran/mydomain.com/mydomain_com.jks -Dserver.ssl.key-store-password=YourPassword -Dserver.ssl.key-alias=mydomain
Tutoriels Spring Boot
- Installer Spring Tool Suite pour Eclipse
- Le Tutoriel de Spring pour débutant
- Le Tutoriel de Spring Boot pour débutant
- Propriétés communes de Spring Boot
- Le Tutoriel de Spring Boot et Thymeleaf
- Le Tutoriel de Spring Boot et FreeMarker
- Le Tutoriel de Spring Boot et Groovy
- Le Tutoriel de Spring Boot et Mustache
- Le Tutoriel de Spring Boot et JSP
- Le Tutoriel de Spring Boot, Apache Tiles, JSP
- Utiliser Logging dans Spring Boot
- Surveillance des applications avec Spring Boot Actuator
- Créer une application Web multilingue avec Spring Boot
- Utiliser plusieurs ViewResolvers dans Spring Boot
- Utiliser Twitter Bootstrap dans Spring Boot
- Le Tutoriel de Spring Boot Interceptor
- Le Tutoriel de Spring Boot, Spring JDBC et Spring Transaction
- Le Tutoriel de Spring JDBC
- Le Tutoriel de Spring Boot, JPA et Spring Transaction
- Le Tutoriel de Spring Boot et Spring Data JPA
- Le Tutoriel de Spring Boot, Hibernate et Spring Transaction
- Intégration de Spring Spring, JPA et H2 Database
- Le Tutoriel de Spring Boot et MongoDB
- Utiliser plusieurs DataSources avec Spring Boot et JPA
- Utiliser plusieurs DataSources avec Spring Boot et RoutingDataSource
- Créer une application de connexion avec Spring Boot, Spring Security, Spring JDBC
- Créer une application de connexion avec Spring Boot, Spring Security, JPA
- Créer une application d'enregistrement d'utilisateur avec Spring Boot, Spring Form Validation
- Exemple de OAuth2 Social Login dans Spring Boot
- Exécuter des tâches planifiées en arrière-plan dans Spring
- Exemple CRUD Restful WebService avec Spring Boot
- Exemple Spring Boot Restful Client avec RestTemplate
- Exemple CRUD avec Spring Boot, REST et AngularJS
- Sécurité Spring RESTful Service utilisant Basic Authentication
- Sécuriser Spring Boot RESTful Service en utilisant Auth0 JWT
- Exemple Upload file avec Spring Boot
- Le exemple de Download file avec Spring Boot
- Le exemple de Upload file avec Spring Boot et jQuery Ajax
- Le exemple de Upload file avec Spring Boot et AngularJS
- Créer une application Web Panier avec Spring Boot, Hibernate
- Le Tutoriel de Spring Email
- Créer une application Chat simple avec Spring Boot et Websocket
- Déployer le application Spring Boot sur Tomcat Server
- Déployer le application Spring Boot sur Oracle WebLogic Server
- Installer un certificat SSL gratuit Let's Encrypt pour Spring Boot
- Configurer Spring Boot pour rediriger HTTP vers HTTPS
Show More