000030302 - Set minimal resource list to reduce library size

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000030302
Applies ToRSA Product Set: BSAFE
RSA Product/Service Type: Micro Edition Suite
RSA Version/Condition: 4.1.x and later
Platform: any
Platform (Other): any
O/S Version: any
IssueA resource in MES represents a single MES operation, such as a cryptographic, certificate, key or TLS/SSL operation, a multithreading / locking function, and so on. Resource lists provide selections of those resources.
An appropriate subset of available MES resources must be selected and configured to meet the needs of the application.
MES is shipped with several pre-defined resource lists to make selection of resources easier for application developers.  However, use of these pre-defined lists can mean that resources are loaded that are not used by the application, and this results in application program objects (libraries, DLLs, executables, etc) that are larger than is absolutely necessary.  In most cases, this will not be a problem and can be ignored.
For applications that need to minimize program object size however, a method is needed to determine the minimal set of resources that must be loaded in MES.
 
Tasks

Firstly, provide the default resource list in your program and then with tracing on, run your program. The resource trace will show which resources were used during the run. You can then use the output to choose the actual subset of resources needed by your program.  Once you have that information, you can replace the default resource list in your program with a custom one you create, that contains only those resources that are needed.
Note that you should be sure when testing this way to ensure you cover all possible variants of certificates, cryptographic algorithms, etc and other MES calls that your application could use, so that all required resources will be included.

Resolution

In MES 4.0.x and earlier, the resource trace does not show enough information to be able to use it to compile a minimal resource list. The resources are listed in codes which are insufficient to determine actual resources that need to be configured.
MES 4.1.x and later does allow you to determine exactly what resources were used. An extra tracing resource was added in that release (R_RES_SELECT_TRACER_SYM) which includes lookup of the provider, subtype and resource ID. 

Notes

Instructions to enable resource tracing are in the RSA BSAFE Micro Edition Suite Developer's Guide, section "Enable Tracing in MES", in your MES distribution .  Documents are also available for download from RSA SecurCare Online for your version.
Available resources and pre-defined resource lists are documented in the same manual, section "Resources".

Attachments

    Outcomes