Postgres JDBC connection attempt errors out with FIPS enabled
Issue
- When we enabled FIPS, our application hits an error like below when trying to create a connection through the postgresql jdbc driver:
org.postgresql.util.PSQLException: Could not initialize SSL context.
at org.postgresql.ssl.LibPQFactory.<init>(LibPQFactory.java:187)
at org.postgresql.core.SocketFactoryFactory.getSslSocketFactory(SocketFactoryFactory.java:61)
at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:34)
at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:571)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:168)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:235)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223)
at org.postgresql.Driver.makeConnection(Driver.java:402)
at org.postgresql.Driver.connect(Driver.java:261)
at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364)
at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476)
at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561)
at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115)
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112)
...
Caused by: java.security.KeyManagementException: FIPS mode: only SunJSSE KeyManagers may be used
at java.base/sun.security.ssl.SSLContextImpl.chooseKeyManager(SSLContextImpl.java:167)
at java.base/sun.security.ssl.SSLContextImpl.engineInit(SSLContextImpl.java:83)
at java.base/javax.net.ssl.SSLContext.init(SSLContext.java:297)
at org.postgresql.ssl.LibPQFactory.<init>(LibPQFactory.java:185)
... 147 common frames omitted
Environment
- Postgresql
- OpenJDK
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.