How To

How does AM (All versions) bind to the configuration store on startup?

Last updated Sep 3, 2020

The purpose of this article is to provide information on how AM binds to the configuration store on startup, and the purpose of boot.json and the keystore file in this process.

Binding to the configuration store

The Configuration directory (/path/to/openam) contains files created during the install process. Some of these files contain critical information that is required when AM initializes; AM cannot start if these files become corrupt or are missing. In particular, there are two files within AM’s configuration directory that are used to bind to the configuration store when AM starts up:

On startup, AM binds to the configuration store as follows:

  1. AM reads the boot.json file to get the bind DNs to access the Configuration Store and the location of the JCEKS keystore file.
  2. AM then uses the .storepass file to access the keystore.jceks file. The .storepass file is created at build time and consists of a base 64 encoded secure random string.
  3. AM then uses the .keypass file to access the configstorepwd and dsamesuserpwd password entries in the keystore, which are then used to bind to DS.


This file contains connection details to the configuration store, but does not include any passwords or key material. An example boot.json file looks like this:

  "instance": "",
  "dsameUser": "cn=dsameuser,ou=DSAME Users,dc=openam,dc=forgerock,dc=org",
  "keystores": {
    "default": {
      "keyStorePasswordFile": "/path/to/openam/security/secrets/default/.storepass",
      "keyPasswordFile": "/path/to/openam/security/secrets/default/.keypass",
      "keyStoreType": "JCEKS",
      "keyStoreFile": "/path/to/openam/security/keystores/keystore.jceks"
  "configStoreList": [
      "baseDN": "ou=am-config",
      "dirManagerDN": "uid=am-config,ou=admins,ou=am-config",
      "ldapHost": "",
      "ldapPort": 1636,
      "ldapProtocol": "ldap"

See Installation Guide › Replacing the Bootstrap File for further information about the individual properties in the boot.json file.


The keystore.jceks file contains entries of type SecretKeyEntry for the following aliases:

  • configstorepwd - maps to the password for the dirManagerDN entry in boot.json.
  • dsamesuserpwd - maps to the password for the dsameUser entry in boot.json.

See Security Guide › To Replace the AM Keystore for further information about these aliases.

See Also

How do I check if AM/OpenAM (All versions) is up and running?

Attempting to access AM/OpenAM (All versions) fails with ConfigurationException: Configuration store is not available

Data stores in AM/OpenAM

Security Guide › Configuring Secrets, Certificates, and Keys

Maintenance Guide › Backing Up Configurations

Related Training


Related Issue Tracker IDs


Copyright and TrademarksCopyright © 2020 ForgeRock, all rights reserved.