java - gratis - instalar certificado ssl godaddy
¿Cómo puedo configurar un certificado SSL de letsencrypt y usarlo en una aplicación Spring Boot? (5)
- Obtenga un certificado SSL de letsencrypt
- Agréguelo a un almacén de claves usando el comando
keytool
en Java - Configure su aplicación Spring para usar el almacén de claves generado anteriormente.
El archivo debería verse como:
server.port = 8443
server.ssl.key-store = classpath:sample.jks
server.ssl.key-store-password = secret
server.ssl.key-password = password
Soy nuevo en la protección de un servidor, así que realmente no sé mucho acerca de esto, pero necesito que la aplicación Spring Boot que se ejecuta en un Digital Ocean Droplet use HTTPS.
Mi idea es registrar un certificado de letencrypt y luego decirle a Spring que lo use.
Sin embargo, no tengo idea de cómo hacer eso.
Gracias.
Escribí 2 publicaciones de blog sobre Let''s Encrypt y Spring Boot .
- Emisión de un certificado. Aplicación de arranque de primavera asegurada por el certificado de Let''s Encrypt
- Renovando un certificado . Vamos a encriptar la renovación del certificado: para Spring Boot
En pocas palabras, los pasos son los siguientes:
- Tirando del cliente de Let''s Encrypt (certbot).
Generar un certificado para su dominio (por ejemplo, example.com)
./certbot-auto certonly -a standalone -d example.com -d www.example.com
Las cosas se generan en /etc/letsencrypt/live/example.com
. Spring Boot espera un archivo con formato PKCS # 12. Esto significa que debe convertir las claves a un almacén de claves PKCS # 12 (por ejemplo, utilizando OpenSSL). Como sigue:
- Abra el directorio
/etc/letsencrypt/live/example.com
. -
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out keystore.p12 -name tomcat -CAfile chain.pem -caname root
El archivo keystore.p12 con PKCS12 ahora se genera en /etc/letsencrypt/live/example.com
.
Es hora de configurar su aplicación Spring Boot. Abra el archivo application.properties y coloque las siguientes propiedades allí:
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
Lee mi blog para más detalles y comentarios.
Otra opción es usar Spring Boot Starter ACME:
https://github.com/creactiviti/spring-boot-starter-acme
ACME (Entorno de gestión automática de certificados) es el protocolo utilizado por LetsEncrypt para emitir certificados automáticamente.
Para el arranque webflujo la configuración de las propiedades cambió
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
Paso 1: Descarga certbot desde git
Debe obtener el código fuente de Let''s Encrypt en su servidor al que apunta su dirección de dominio. Este paso puede tardar un par de minutos.
$ git clone https://github.com/certbot/certbot
$ cd certbot
$ ./certbot-auto --help
Observación: Python 2.7.8 (o superior) debe instalarse de antemano.
Paso 2: genera certificados y una clave privada.
Al ejecutar el siguiente comando en su terminal, Let''s Encrypt genera certificados y una clave privada para usted.
$ ./certbot-auto certonly -a independiente /
-d example.com -d example.com
Nota: las claves se generan en el directorio /etc/letsencrypt/live/example.com
Paso 3: Generar archivos PKCS12 a partir de archivos PEM
Para convertir los archivos PEM a la versión PKCS12: Vaya a /etc/letsencrypt/live/example.com. Convierta las claves a PKCS12 usando OpenSSL en el terminal de la siguiente manera.
$ openssl pkcs12 -export -in fullchain.pem /
-inkey privkey.pem / -out keystore.p12 / -name tomcat / -CAfile chain.pem / -caname root
Introduzca la contraseña de exportación:
Verificando - Ingrese la contraseña de exportación:
(Nota: - Escriba una sola línea a la vez y presione enter)
Paso 4: Configuración de la aplicación Spring Boot
Abra su ''application.properties'' Ponga esta configuración allí.
server.port = 8443 security.require-ssl = true
server.ssl.key-store = / etc / letsencrypt / live / example.com /keystore.p12
server.ssl.key-store-password = contraseña
server.ssl.keyStoreType = PKCS12
server.ssl.keyAlias = tomcat