ISL_VERIFIED_MODULE_PTR ISL_SelfCheck ();
This function returns a pointer to the verified module object if the module passed self-check, otherwise NULL. This function checks to see that the return address and the checking code itself are in the checked module.
- The public key used to verify the signature is embedded in the library code or can be referenced by it in an implementation-specific manner. The public key is not exposed in the API. The EISL takes additional measures that make it difficult to modify the public key. The self-check function in EISL implicitly knows how to obtain the credentials of the module the instance of EISL is contained within.
EISL also makes it difficult for each module that contains an instance of EISL to bypass the self-check function. After invoking the self-check function, the containing module should verify that the return address and the address of the function itself are within the module being verified using the ISL_CheckAddressWithinModule function.
Pointer to a verified object if verification is successful, or NULL if verification is unsuccessful.