world start run hello example ejemplo ejecutar tomcat ssl spring-boot war keystore

tomcat - start - Spring-boot ejecutable war keystore no encontrado



jnlp windows 10 (1)

Actualización: Como resultado de esta solicitud de mejora , la limitación que se describe a continuación ya no se aplica. Tomcat 8.0.28+ y 7.0.66+ pueden cargar un almacén de claves desde un archivo jar.

Respuesta original

Supongo que estás usando Tomcat como el contenedor de servlets incorporado. Como se señala en la documentación de referencia , Tomcat actualmente no admite cargar un almacén de claves o un almacén de confianza dentro de un contenedor:

Tomcat requiere que el almacén de claves (y el almacén de confianza, si está utilizando uno) estén directamente accesibles en el sistema de archivos, es decir, no se puede leer desde un archivo jar.

Debe mover keystore.jks de su jar y actualizar server.ssl.key-store con su ubicación en el sistema de archivos.

Construyo la guerra ejecutable de arranque de primavera con soporte SSL. Mi archivo application.properties es:

server.port = 8443 server.ssl.key-store = classpath:keystore.jks server.ssl.key-store-password = secret server.ssl.key-password = another-secret

El archivo WAR contiene el archivo ''keystore.jks''. Pero tengo una extraña excepción:

org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Could not find key store classpath:keystore.jks

Caused by: java.io.FileNotFoundException: class path resource [keystore.jks] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:/projects/vi3na/vi3na.web/target/vi3na.war!/WEB-INF/classes!/keystore.jks

¿Qué significa ''!'' significa en el camino ''D: /projects/vi3na/vi3na.web/target/vi3na.war! / WEB-INF / classes! /keystore.jks''