When attempting to install or upgrade Qlik Sense Enterprise on Windows and connecting to a remote PostgreSQL database, the installer will fail to connect if FIPS is enabled.
Error during installation:
The database could not be reached. Details: Exception has been thrown by the target of an invocation.
Error during upgrade:
This version of Qlik Sense requires a 'SenseServices' database for multi cloud capabilities. Ensure that you have a created a 'SenseService' database in your cluster before upgrading.
This version of Qlik Sense requires a 'QSMQ' database for multi cloud capabilities. Ensure that you have a created a 'QSMQ' database in your cluster before upgrading.
This version of Qlik Sense requires a 'Licenses' database for multi cloud capabilities. Ensure that you have a created a 'Licenses' database in your cluster before upgrading.
There are two options available.
Option 1 (for newer version of Qlik Sense):
Modify the password encryption for Postgres users and update it to use scram-sha-256.
postgres=# SHOW password_encryption; password_encryption --------------------- md5 (1 row)
postgres=# SET password_encryption TO 'scram-sha-256'; SET
postgres=# SHOW password_encryption; password_encryption --------------------- scram-sha-256 (1 row)
****change the password from what is displayed in this example**** postgres=# ALTER USER postgres WITH PASSWORD 'yourpostgresuserpwd'; ALTER ROLE postgres=# ALTER USER qliksenserepository WITH PASSWORD 'yourqliksensrepositoryuserpwd'; ALTER ROLE --check if both have now a scram-sha-256 prefix SELECT usename, passwd FROM pg_shadow WHERE usename IN ('postgres', 'qliksenserepository'); usename | passwd --------------------+-------------------------------------------------- postgres | SCRAM-SHA-256$4096:[some scram-sha-256 hash...]= qliksenserepository | SCRAM-SHA-256$4096:[some scram-sha-256 hash...]=
Option 2 (for older versions of Qlik Sense):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<enforceFIPSPolicy enabled="false" />
</runtime>
</configuration>
Example:
Installation file name: Qlik_Sense_setup.exe
Config file name: Qlik_Sense_setup.exe.config
The Qlik Sense installer uses a third-party library (Npgsql) which is not built for systems with FIPS enabled. This limitation is uncovered when attempting to authenticate against a remote PostgreSQL database. Once the installation is complete, it is recommended to disable the FIPS check for Qlik Sense's services themselves as well , see Running Qlik Sense on Windows systems with FIPS compliance enabled for direction there.