Configure the Java Agent for FIPS Compliance
- Rename the existing secure credential keystore file.
-
Initialize a new secure credential keystore using the Secure Credential Store
(SCS) utility. The SCS utility is available at: <javaagent_home>/verX.X.X.X/utils/scs/scs-tool.jar.
-
Run the Secure Credential Store utility generate_ks command with the following
parameters:
filename
: Absolute path where the utility will create the secure credential keystore. Use this path for<credential-store-filename>
in agent configuration.storepass
: The secure credential keystore password. Use the obfuscated version of this password as the value for<credential-store-password>
in agent configuration.format
(For FIPS-compliant users only): The format of the secure credential keystore.
Example command:java -jar scs-tool.jar generate_ks -filename '<>/secretKeyStoreFIPS' -storepass 'MyCredentialStorePassword' -format FIPS
The Secure Credential Store utility confirms the creation and initialization of the keystore.
Expected output:
Successfully created and initialized new KeyStore file: /opt/appdynamics/secretKeyStore Verification - New KeyStore file: /opt/appdynamics/secretKeyStoreFIPS is properly initialized.
-
Run the following command to obfuscate the plain text password.
java -jar scs-tool.jar obfuscate -plaintext 'MyCredentialStorePassword'
The output is an encrypted string that looks likes_-001-12-5pA2yIp3rZY=zIgMiWjtFhMRAtpN4FI6U12PRVghqTpnFHmTN7Rh6HY=
. -
Run the following command using the obfuscated password from Step 4 to encrypt
the actual Controller account access key.
java -jar scs-tool.jar encrypt -filename '<>/secretKeyStoreFIPS’ -storepass ’<output_from_step_above>‘ -plaintext '<controller_account_access_key>' -format FIPS
The output is an encrypted string that looks like-001-24-mEE2dy63UbE/u93idMxfew==JZgvmqT/+OddN+sLH43mx145FNoducIM44qeYczBnc5tbUoay3x8qc/Z3pDlGC4C
-
Modify the controller.xml file using the outputs of Step 4
and Step 5.
The following is an example of the controller.xml file.
<controller-info> <controller-host><controller_url></controller-host> <controller-port><port></controller-port> <controller-ssl-enabled><true/false></controller-ssl-enabled> <enable-orchestration>false</enable-orchestration> <use-simple-hostname>false</use-simple-hostname> <use-encrypted-credentials>true</use-encrypted-credentials> <!-- Full qualified path name for the SCS-KeyStore file name. --> <credential-store-filename><path</secretKeyStoreFIPS</credential-store-filename> <!-- Password for the 'Secure Credential Store' (SCS). This password must be obfuscated. --> <credential-store-password><obfuscated_password></credential-store-password> <credential-store-format>FIPS</credential-store-format> . . . This account-access-key must be encrypted if 'use-encrypted-credentials' is set to true --> <account-access-key><encrypted_account_access_key></account-access-key>