ModuleManagerAuthenticate — Module manager authentication
# include <cdsa/mds.h>
CSSM_RETURN CSSMAPI ModuleManagerAuthenticate
const CSSM_GUID *CssmGuid,
const CSSM_GUID *AppGuid,
| || |
The CSSM_KEY_HIERARCHY flag indicating which embedded
key(s) CSSM should use when verifying the integrity of the module
|CssmGuid (input)|| |
A CSSM_GUID value identifying the calling CSSM.
The elective module manager can use this value to locate the signed
manifest credentials for CSSM.
| || |
A CSSM_GUID value identifying the application who
invoked the calling CSSM. The elective module manager can use this
value to locate the signed manifest credentials for the application.
| || |
A set of function pointers for EMM-defined functions
used by CSSM to communicate state changes related to module attach
and module detach operations.
This function should perform the elective module manager's
half of the bilateral authentication procedure with CSSM. The CssmGuid is
used to locate the CSSM's credentials to be verified. The credentials
are a zipped, signed manifest.
The KeyHierarchy indicates which public
key should be used as the root when checking the integrity of the module
manager. The AppGuid is used to locate the application's
signed manifest credentials. The elective module manager must check
the application's credentials to verify the application's authorization.
If no privileges are requested, then the application is not required
to provide a GUID nor a set of signed manifest credentials.
Upon successful completion, the elective module manager returns
its function table to the calling CSSM. The EMM function table contains
the set of EMM entry points that CSSM uses to notify the module
manager of significant events such as module attach and module detach
requests issued by an application, and event notifications issued
by other module managers.
This function symbol must be exported by the elective module
manager, so CSSM can invoke this function upon completion of the
This function is the first module manager interface invoked
by CSSM after loading and invoking the main entry point. In particular,
the elective module manager's initialize function is invoked by
CSSM after this function has successfully completed execution.
A CSSM_RETURN value indicating success or specifying a particular
error condition. The value CSSM_OK indicates success. All other
values represent an error condition.
Intel CDSA Application Developer's Guide