Comment configurer un certificat SSL letsencrypt et l'utiliser dans une application de démarrage?

je suis novice dans la sécurisation d'un serveur donc je ne sais pas grand chose à ce sujet mais je dois obtenir mon application de démarrage de printemps qui est en cours d'exécution sur une gouttelette D'océan numérique pour utiliser HTTPS.

mon idée est d'enregistrer un certificat letsencrypt et de dire à Spring de l'utiliser.

Cependant, je n'ai aucune idée de comment faire cela.

Merci.

24
demandé sur BrandenS 2016-05-02 23:57:00

5 réponses

j'ai écrit 2 billets de blog sur Let's Encrypt et Botte De Printemps.

  1. délivrance d'un certificat.application de démarrage à ressort sécurisée par un certificat de chiffrement
  2. renouveler un certificat. chiffrons le renouvellement des certificats: pour la botte de printemps

En bref, les étapes sont comme suit:

  1. Tirer chiffrons client (certbot).
  2. générer un certificat pour votre domaine (par ex. example.com)

    ./certbot-auto certonly -a standalone -d example.com -d www.example.com

les Choses sont générés dans /etc/letsencrypt/live/example.com. Le démarrage du printemps attend le fichier PKCS # 12 formaté. Cela signifie que vous devez convertir les clés en une touche PKCS#12 (par exemple en utilisant OpenSSL). Comme suit:

  1. ouvert /etc/letsencrypt/live/example.com répertoire.
  2. openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root

Le fichier fichier de clés.p12 avec PKCS12 est maintenant généré par /etc/letsencrypt/live/example.com.

il est temps de configurer votre application de démarrage. Ouvrez l'application.fichier de propriétés et y mettre les propriétés suivantes:

server.port: 8443
security.require-ssl=true
server.ssl.key-store:/etc/letsencrypt/live/example.com/keystore.p12
server.ssl.key-store-password: <your-password>
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

Lu ma blog pour plus de détails et remarques.

41
répondu Emad Van Ben 2017-10-13 08:26:36

Étape 1: Télécharger certbot de git

vous devez récupérer le code source de Let's Encrypt sur votre serveur vers lequel votre adresse de domaine pointe. Cette étape peut prendre quelques minutes.

$ git clone https://github.com/certbot/certbot

$ cd certbot

$ ./ certbot-auto -- help

Remarque: Python 2.7.8 (ou plus haut) doit être installé préalablement.

Step2: génère des certificats et une clé privée

en exécutant la commande suivante dans votre terminal, chiffrons génère des certificats et une clé privée pour vous.

$ ./certbot-auto certonly -autonome \

-d example.com -d example.com

Remarque: Les clés sont générées dans /etc/letsencrypt/live/example.répertoire com

Step3: générer des fichiers PKCS12 à partir de PEM Les fichiers

pour convertir les fichiers PEM en version PKCS12: Allez dans /etc/letsencrypt/live / example. convertissez les clés en PKCS12 en utilisant OpenSSL dans le terminal comme suit.

$ openssl pkcs12-export -dans fullchain.pem \

       -inkey privkey.pem \

           -out keystore.p12 \

       -name tomcat \

       -CAfile chain.pem \

       -caname root

Entrer Le Mot De Passe D'Exportation:

Verifier - Entrer Exporter Mot De Passe:

(Note: Écriture seule ligne à la fois et appuyez sur entrée)

Étape 4: Configuration du ressort Démarrage De L'Application

ouvrez votre ' application.propriétés' Mettez cette configuration là.

le serveur.port = 8443 sécurité.nécessitent-ssl=true

server.ssl.key-store=/etc/letsencrypt/live/example.com/keystore.p12

le serveur.SSL.clé-magasin-mot de passe= mot de passe

le serveur.SSL.keyStoreType= PKCS12

le serveur.SSL.keyAlias= tomcat

9
répondu Pranay Kumbhalkar 2017-02-28 13:12:41

une autre option est d'utiliser le démarrage à ressort ACME:

https://github.com/creactiviti/spring-boot-starter-acme

ACME (Automatic Certificate Management Environment) it protocole utilisé par LetsEncrypt pour délivrer automatiquement des certs.

2
répondu acohen 2018-03-08 20:30:28
  1. obtenir un certificat SSL de letsencrypt
  2. L'ajouter dans un keystore en utilisant le keytool commande en Java
  3. configurez votre application de printemps pour utiliser le keystore généré ci-dessus

le fichier devrait ressembler à:

 server.port = 8443
 server.ssl.key-store = classpath:sample.jks
 server.ssl.key-store-password = secret
 server.ssl.key-password = password
0
répondu AlBlue 2016-05-03 22:54:25

pour webflux, la configuration des propriétés a changé

server.port=443

server.ssl.enabled=true//the changed line
server.ssl.keyAlias=netty
server.ssl.key-store=path
server.ssl.key-store-password=password
server.ssl.keyStoreType=PKCS12
0
répondu ahll 2018-06-25 07:26:03