|Applies To||RSA Product Set: BSAFE|
RSA Product/Service Type: Micro Edition Suite
RSA Version/Condition: 4.1.x and later
|Issue||A resource in the Micro Edition Suite (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, in the section titled "Enable Tracing in MES," in your MES distribution. |
Available resources and pre-defined resource lists are documented in the same manual, in the "Resources" section.