Install and configure additional required components
Use the following steps to install additional required components for FIPS.
- Default Truststore Behavior in FIPS Mode
-
When Cloudera Manager runs in FIPS-enabled mode with the default keystore type set to
BCFKSinjava.security, Cloudera Manager does not read from the JVM’s default truststore (cacerts). - Why Cloudera Manager does not use
cacertsin the FIPS mode -
-
In standard (non-FIPS) mode, Cloudera Manager relies on the JVM’s default
cacertstruststore, which is in JKS format. This allows Cloudera Manager to automatically trust the default CA certificates shipped with the JDK and establish secure connections to external endpoints such as S3 or Cloudera repositories. -
In FIPS mode, only FIPS-compliant keystore formats (such as
BCFKS) are permitted. Because the defaultcacertsis in JKS format, Cloudera Manager skips loading it to prevent startup failures and instead uses the Cloudera Manager-provided truststore exclusively. This ensures consistent and reliable operation under FIPS compliance, but means that Cloudera Manager does not automatically trust certificates present only in the JVM's defaultcacerts.As a result, connections to certain external endpoints (for example, public cloud services, S3, Cloudera download URLs) might fail unless their certificates are also present in the Cloudera Manager-provided truststore.
-
If Cloudera Manager attempts to load the JKS-formatted
cacertsfile while running in FIPS mode, it will fail the operation.
-
- Preserving the default JVM truststore behavior in FIPS mode
-
If you want Cloudera Manager to continue trusting the same set of CA certificates that the JVM ships with (
cacerts), you can explicitly configure a BCFKS-converted truststore by performing the following steps:- Locate the existing JVM
cacertsfile by running the following command:$JAVA_HOME/lib/security/cacertsThe default password is usually
changeit. - Create a backup copy of the file by running the following
command:
cp $JAVA_HOME/lib/security/cacerts /tmp/cacerts.original - Convert it to
BCFKSformat by running the following command:$JAVA_HOME/bin/keytool -importkeystore \ -srckeystore $JAVA_HOME/lib/security/cacerts \ -srcstoretype JKS \ -srcstorepass changeit \ -destkeystore $JAVA_HOME/lib/security/cacerts.bcfks \ -deststoretype BCFKS \ -deststorepass changeit \ --provider com.safelogic.cryptocomply.jcajce.provider.CryptoComplyFipsProvider \ --providerpath /path/to/ccj/fips/jarUse the same value for
providerpathas the one provided in/etc/default/cloudera-scm-serverfor-Dcom.cloudera.cloudera.cmf.fipsMode.jdk11plus.ccj.jar.path. - Replace the old
cacertswith the converted one by running the following command:mv cacerts.bcfks cacertsNow, the file name remains
cacerts, but the format inside isBCFKS. -
- Configure the Cloudera Manager Truststore
- You must ensure Cloudera Manager correctly identifies your truststore and password. While Cloudera Manager attempts to use default paths, you must manually configure the settings if you use non-default locations or passwords.
-
Restart Cloudera Manager Server to apply the changes:
sudo systemctl restart cloudera-scm-server
- Locate the existing JVM
