Summary
Is there a way to predictively detect inconsistent trusted storage?Question
A publisher wants to add functionality that bridges the time if storage breaks so that their customers can use the system for another 5 days until it finally breaks (kind of a grace period) in order to not turn off critical client systems just because of license infrastructure problems.- Is there a way to programmatically (via api) check the integrity of the trusted storage (is it broken, is it untrusted, ...)?
- What states can such a trusted storage (as a whole) have? or is the state always represented by the content?
- How can we force these states programmatically within a unit test (eg force a broken trusted storage, force untrusted content, ...)?
Answer
To detect inconsistent trusted storage:- The API to check whether trusted storage (TS) is trusted is flxActCommonProdLicSpcTrustFlagsGet
- The state is either trusted or untrusted
- One way to cause trusted storage to become untrusted is to restore an old version. For example:
? load an ASR
? back up TS
? generate an offline request (increments anchor sequence number)
? restore backed up TS. TS should now incur a RESTORE (anchor) break
? back up TS
? generate an offline request (increments anchor sequence number)
? restore backed up TS. TS should now incur a RESTORE (anchor) break
Also see the attached Trusted Storage recovery best practices white paper (some info is a bit dated, but most is still relevant).
Additional Information
"trust" is a property of individual fulfillment records, not trusted storage as a whole. This is because FNP allows fulfillment records (FRs) to be created in different trusted sections with different binding and anchoring specifications. Typically, however, customers place FRs in one trusted section and in this case all will lose HOST and/or RESTORE trust together. TIME trust has an added factor - only expiring fulfillments lose TIME trust, not permanent ones.The activation API functions flxActCommonLicSpcPopulateAllFromTS() and flxActCommonProdLicSpcTrustFlagsGet() can be used to determine the trust of each individual fullment record. If an attempt is made to check out a feature and the checkout can only be satisfied from a fulfillment record that has lost trust, the checkout will fail LM_REPAIR_NEEDED. In general it is not possible to determine which FR that was, so best practice in your case would be to load the grace period ASR then in due course repair (or re-install) all FRs that have lost trust.
Note that if the grace period ASR uses a trial anchor it can only be used once - a new one will need to be sent to the customer after the repair. If it does not use a trial anchor then exploits exist; some defence can be added by checking whether the grace FR already exists but backup/restore exploits that allow repeated use of the grace FR cannot be defended.
Was this helpful?
Related Articles
Revenera Assistant
Online
Hi, I am Reva - Ask me anything.
Updates
No new updates
Chat
Home
Updates
/**/
Thanks for the feedback!
Your feedback has been saved.Rate this response:
1
2
3
4
5
Add Additional feedback ( Optional )
0/240
English
English
Language changed successfully
Something went wrong
Email sent successfully
Something went wrong
Case create successfully
Are you sure you want to cancel
the case creation?
Please select a product to submit the case.
Please select a product version to submit the case.
0/255
Upload Attachment
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to cancel the case creation?
Case closed successfully
File Upload
Maximum file size allowed is 3 MB.
File type not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
© 2026 Flexera Software. All Rights Reserved.
Case id: 00001065
Activity: Status change: 2 hours ago