2016-05-02 28 views

risposta

0
  1. Ottenere un certificato SSL da letsencrypt
  2. inserirlo in un archivio di chiavi utilizzando il comando keytool in Java
  3. configurare l'applicazione Primavera di utilizzare l'archivio chiavi generato sopra

Il file dovrebbe essere simile :

+0

Grazie! Quindi ero tipo sulla strada giusta che sembra. Qualcuno potrebbe eventualmente approfondire come aggiungo quel certificato con keytool? – BrandenS

+0

Vedere le pagine di aiuto di keytool http://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html – AlBlue

31

Ho scritto 2 post di blog su Let's Encrypt e Spring Boot.

  1. Emissione di un certificato.Spring Boot Application Secured by Let’s Encrypt Certificate
  2. Rinnovo di un certificato. Let’s Encrypt Certificate Renewal: for Spring Boot

In poche parole, passi sono i seguenti:

  1. Tirando la Let's Encrypt client (certbot).
  2. Generazione di un certificato per il dominio (ad esempio example.com)

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

cose sono generati in /etc/letsencrypt/live/example.com. Spring Boot si aspetta file in formato PKCS # 12. Significa che è necessario convertire le chiavi in ​​un keystore PKCS # 12 (ad esempio utilizzando OpenSSL). Come segue:

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

Il file keystore.p12 con PKCS12 è ora generato in /etc/letsencrypt/live/example.com.

È ora di configurare l'applicazione Spring Boot. Aprire il file e mettere application.properties seguenti proprietà c'è:

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 

leggere il mio blog post per ulteriori dettagli e commenti.

+0

Impressionante. Penso che questo sia praticamente come ho finalmente ottenuto, ma ho dovuto tirare da 2 o 3 fonti diverse e imbattersi in esso. Questo renderà molto più facile quando devo rinnovare. – BrandenS

+0

Felice di sentirlo :-) –

+0

Devo usare server.port: 8443 in produzione? O server.port: 80 va bene? – Awkward

6

Passo 1: Scaricare certbot da Git

dovrai scaricare il codice sorgente di Encrypt Let sul vostro server che l'indirizzo del dominio sta puntando. Questo passaggio potrebbe richiedere un paio di minuti.

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

$ cd certbot

$ ./certbot-auto --help

Nota: Python 2.7.8 (o superiore) deve essere installato in anticipo .

Step2: genera certificati e una chiave privata

Eseguendo seguente comando nel terminale, Cifra di Let genera certificati e una chiave privata per voi.

$ ./certbot-auto standalone certonly -a \

-d example.com -d example.com 

Nota: Le chiavi vengono generati nella directory /etc/letsencrypt/live/example.com

Fase 3: Generazione di file PKCS12 da file PEM

Per convertire i file PEM in PKCS12 versione: Vai a/etc /letsencrypt/live/example.com converte le chiavi in ​​PKCS12 usando OpenSSL nel terminale come segue.

$ openssl pkcs12 -export -in fullchain.pem \

 -inkey privkey.pem \ 

      -out keystore.p12 \ 

     -name tomcat \ 

     -CAfile chain.pem \ 

     -caname root 

Inserisci Export Password:

Verifica - Inserire Export Password:

(Nota: - Scrivi singolo linea alla volta e premere invio)

Fase 4: Configurazione della primavera Boot Application

aprire il tuo 'application.properties' Mettere questa configurazione lì.

server.port = 8443 security.require-ssl = true

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

server.ssl.key-store-password = Password

server.ssl.keyStoreType = PKCS12

server.ssl.keyAlias ​​= Tomcat

0

Un'altra opzione è quella di utilizzare Primavera Boot Starter ACME:

ACME (Automatic Certificate Management Environment) è il protocollo utilizzato da LetsEncrypt per emettere automaticamente e certs.

Problemi correlati