Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

435
Views
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 answers
Answer question

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 ha enviado como la razón por la que no continuará con el protocolo de enlace TLS.

over 4 years ago · Santiago Trujillo Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!