Secure store is a technology used to enable a more fail-safe means of storing sensitive license content on a user's machine.

Traditionally, a single file location or registry key is used within applications to store information such as usage counters, trial information and other client-specific content. Conversely, secure store works similarly to a virtual file system, by encrypting the content and then duplicating it to provide redundancy.

This method of storage is more resistant to single-point-of-failure attacks, which are a common method for attempting to reset trial information within software applications. Furthermore, the path of storage is uniquely defined for each user's machine, making it more resistant against generic attacks.

Within LM-X, secure store is used with borrow, grace and trial licenses and for client store.

For maximum flexibility and safety, secure store technology is designed to be used per user, i.e. by the currently logged-in user of the machine.

Note that secure store might not migrate successfully from an older version of LM-X to a newer version. For example, if you use LMX_ClientStoreSave with an older LM-X version and then attempt to use LMX_ClientStoreLoad on the same variable with a newer LM-X version, you may get the error LMX_FILE_READ_ERROR.

Note: Upon first compilation of the LM-X SDK, the LM-X security configuration file (security_config.lmx) is automatically created in the config directory. This file holds various security-related parameters, and is used to create license files and embed the security configuration into the license server and client libraries.