Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

899
Vistas
Postgresql no pudo aceptar la conexión SSL: certificado de alerta sslv3 desconocido

Estoy usando SpringBoot con configuración datasource.url = jdbc:postgresql://...../mydb?ssl=true&sslFactory=....nonValidating...

en mi aplicación.yml

 port: 8443 ssl: enabled: true key-alias: PGSQLServerHostNameHere key-store: keystore.jks key-store-password:.... key-store-type: JKS trust-store: #this one is irrelevant, it's just a... ### ... trust store for other restTemplate stuff trust-store-password: .... key-password: .... ciphers: "TLSv1.2" protocol: TLS

Sin embargo, Postgresql también se configura y ejecuta con SSL=on. ssl_ciphers='TLSv1.2'

Sin embargo, en los registros de PGSQL obtengo:

 Postgresql could not accept SSL connection: sslv3 alert certificate unknown

Recibo un error en mi aplicación Spring Boot en producción (este error no ocurre con mi certificado autofirmado en local):

 org.postgresql...PSQLException: SSL error: sun.security.validator.ValdiatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Configuraciones de certificado SSL

Tengo los certificados firmados en root.crt para el servidor postgresql (incluido el certificado firmado del servidor de aplicaciones Java dentro con el alias correcto).

Tengo el certificado firmado del servidor postgresql (alias: PGSQLServerHostNameHere) en el archivo JKS como "trustEntry" para mi keystore.jks.

Tengo privateKeyEntry en mi keystore.jks para mi propio servidor.

Tengo las CA raíz en keystore.jks.

La aplicación SpringBoot funciona bien en mi máquina local con un JKS autofirmado.

Pero Postgresql es un problema... rechazando mis comunicaciones desde el servidor de aplicaciones Java.

postgresql.conf:

 ssl = on ssl_ciphers = 'TLSv1.2' (everything else is default)

pg_hba.conf

 hostssl all all md5
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Postgresql could not accept SSL connection: sslv3 alert certificate unknown .... sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Esto significa que el cliente no pudo aceptar el certificado del servidor, probablemente porque la CA que emitió ese certificado no está en el almacén de confianza. Y el cliente envía a este servidor este problema como alerta para que el servidor sepa por qué falla la conexión.

Pero Postgresql es un problema... rechazando mis comunicaciones desde el servidor de aplicaciones Java.

No, su aplicación Java está rechazando la comunicación con Postgresql porque no confía en el certificado. Lo que ve en el mensaje de error de Postgresql es exactamente lo que su aplicación Java envió como la razón por la cual no continuará con el protocolo de enlace TLS.

over 4 years ago · Santiago Trujillo Denunciar

0

Supongo que la única forma era mirar la implementación de JSSE y agregar comandos de tipo -Djavax.net.ssl a la línea de comandos o agregarlo a System.setProperty() .

Además, puede agregarlo a la URL de JDBC ssl_cert=... &ssl_key=... etc.

Tenía que encontrar los comandos correctos para postgresql. No está bien documentado.

las propiedades application.yml "ssl" no están relacionadas con javax.net.ssl

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda