STS server key configuration
- Last Updated: May 18, 2026
- 4 minute read
- OpenEdge
- Version 13.0
- Documentation
An optional STS server key file can be installed to validate client requests to ensure that they are coming from authorized database client installations. By default, the Authentication Gateway does not require the STS server key file to perform authentication and SSO token exchange.
The STS server key file is generated by the stskeyutil command line utility installed with OpenEdge. For more information on stskeyutil, see STS Key Utility (stskeyutil).
Generating an STS server key
The first step is to generate a new STS server key using the stskeyutil command. For example:
|
Configuring an STS server domain access code
You must create a STS domain configuration that will be used by the
STS server to store and access the domain access code for the server key in addition
to any domains used for client authentication. (See the domain.json example in Configure domains.)
Note the following:
- The name of the domain should be
oests.server. (Theenabledproperty in the domain configuration should be changed fromfalsetotrue.) If you choose a different domain name, be sure to update the sts.properties file. Set the new domain by editing thests.server.keydomainproperty.You must also specify the domain name via stskeyutil create.
- The domain must have the SSO domain action.
- The domain must specify the
anonymousdomain type. - When configuring the domain, provide the domain access code in domainsks.csv. The domain access code must exactly match the domain access code used when generating the STS server key. Run gendomreg domainsks.csv domains.keystore and then copy domains.keystore to the instance-name/webapps/ROOT/WEB-INF/config directory.
Configuring the Authentication Gateway with the STS server key
Once the key is generated, and the domain configuration added, you must enable the STS server key on the Authentication Gateway. Modify the Authentication Gateway configuration to turn on STS key support explicitly, and to reference the server key file location.
At a minimum, you must modify the following required properties in the sts.properties file:
- Set
sts.server.key.enabledtotrue. - Set
sts.server.keyfileto the location of the server key file. This may be absolute or relative directory (i. e. relative to the PAS for OpenEdge working directory).Note: Due to how Spring configuration interprets property files, on Windows you must use forward slashes (/) for any file path separators for the key file name, or use double-back slashes (\\) to escape them. - Set
sts.server.keyfilepasswordto the password used to generate the server key file. Progress Software Corporation strongly recommends that the password be encoded with thegenpasswordutility. See Encoding prefix for an example of the encoded password.
For example:
sts.properties snippet
|
Client key configuration
Once the STS server is configured you must configure the client with an STS client key generated from the STS server key.
|
-url switch is mandatory and must
reference the appropriate Authentication Gateway. The client key file will be installed under %DLC%/keys by default.
Beginning in OpenEdge 12.3, STS client key management can be handled by the Key Distribution service. For more information, see About STS client key management.
The URL is hashed to generate the STS client key file name in the keystore. Each Authentication Gateway has a unique URL that is referenced by the database domain configuration. The STS client key installation must match this value exactly.
Start the Authentication Gateway
Once the STS server key has been installed and configured you can start the Authentication Gateway (or PAS for OpenEdge instance) where STS web application is installed.
For example:
|
Once the server starts you should see a message similar to the following in the server log file. You will need to adjust the logging level of the OESTS web application to see it. Edit oeauthserver/webapps/ROOT/WEB-INF/logging.xml to increase logging level.
|
Testing the client key
Run the stsclientutil utility to test the client key installation. For example:
|
For more information on stsclientutil, see STS Client Utility (stsclientutil).
Troubleshooting
Check the STS server log file in oeauthserver/logs/*.log for errors.
Normally STS web application logging is set to WARNING.You can get ping status messages in the STS log
file if you increase the logging level. Edit oeauthserver/webapps/ROOT/WEB-INF/logging.xml to increase the
logging level.
The ping status messages in the log file will look similar to the following:
|
For more information about log files and logging levels, see Log files in Learn about Progress Application Server for OpenEdge and Configure logging in PAS for OpenEdge in Manage Progress Application Server (PAS) for OpenEdge.
You can also use the -l 5 switch with stsclientutil to make the logging messages more verbose. However, ping returns very little information. It is primarily used to test if the installed client key, for a given URL, matches the server key that is installed with the Authentication Gateway.
Other STS key properties
The following table lists other properties in the sts.properties file that are related to STS keys:
| Property | Default | Description |
|---|---|---|
|
|
Identifies the HTTP header that the
Authentication Gateway looks for to identify the client. Can be
changed to any string, but the client configuration must match. This
value must match the name of the header name in the STS server key,
if one is set up via stskeyutil. |
|
|
(Optional) Specify the file name of the secondary STS server key. Used when rolling out STS client key updates incrementally. If left blank, there is no secondary STS server key. |
|
|
Secondary server key password. Note: The
secondary server key password can also be encoded with the
genpassword utility. |
|
|
A domain name that indicates which domain name to use to perform client key validation. Must match the value stored in the previous STS server key file. |
|
|
Logging level for libstskey.dll. |
|
|
Log file for libstskey.dll output. |