Error de certificado SSL al conectarse a la base de datos PostgreSQL con Oracle SQL Developer en Fedora 30

Error de certificado SSL al conectarse a la base de datos PostgreSQL con Oracle SQL Developer en Fedora 30

El error que estoy recibiendoTengo una base de datos postgresql 9.3 ejecutándose en una máquina virtual RHEL 6.2 kvm. Es parte de la aplicación que apoyo para el trabajo y no puedo realizar ningún cambio de configuración en el contenido de la VM. En producción, se implementaría en bare metal; esta máquina virtual es solo para mis propias necesidades de prueba. En mi computadora de trabajo con Windows, puedo conectarme exitosamente a la base de datos en una máquina virtual similar usando SQL Developer.

He confirmado que puedo conectarme correctamente a la base de datos desde el host vm a través de psql en la línea de comando. selinux se ha deshabilitado temporalmente en la máquina virtual con fines de prueba.

Después de instalar SQL Developer, openjdk, openjfx y pasar la ruta de mi instalación de openjdk según lo solicitado por SQL Developer, cargar el controlador JDBC postgresql e intentar conectarme a la base de datos, aparece este error:

Status : Failure -SSL error: java.security.cert.CertificateException: Certificates do not conform to algorithm constraints

No sé cómo solucionar esto. No soy desarrollador de Java y realmente no sé cómo corregir esto. Después de mucho buscar en Google errores similares, la mejor solución que se me ocurrió fue agregar lo siguiente a /opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf, que no solucionó el problema ni cambió el error:

AddVMOption -Djdk.certpath.disabledAlgorithms=MD2

IsospecharEsta sigue siendo la dirección correcta, pero no sé qué debería sustituirse por MD2, o si esta es realmente la solución correcta.

La ejecución openssl s_client -connect 192.168.122.63:5432devuelve lo siguiente:

    [user@hostname ~]$ openssl s_client -connect 192.168.122.63:5432
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 303 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

¿Cómo soluciono esto?

Respuesta1

La línea que agrega generalmente se encuentra en el archivo java.security. Pero lo que hay que hacer es eliminar esta línea del archivo java.security. O si tiene algoritmos deshabilitados adicionales, elimine MD2 y conserve el resto. Si tienes algo como:

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

hazlo

jdk.certpath.disabledAlgorithms=RSA keySize < 1024

Puedes comprobaresta respuestapara más detalles.

Respuesta2

Parece que su cliente cree que la conexión debería estar cifrada pero su servidor no lo hace. Active el cifrado en cualquier dispositivo que ejecute SSL para postgresql o desactive el requisito de cifrado en su entorno Java.

información relacionada