NAME
ModuleManagerAuthenticate — Module manager authentication
SYNOPSIS
# include <cdsa/mds.h>
CSSM_RETURN CSSMAPI ModuleManagerAuthenticate (CSSM_KEY_HIERARCHY KeyHierarchy, const CSSM_GUID *CssmGuid, const CSSM_GUID *AppGuid, CSSM_MANAGER_REGISTRATION_INFO_PTR FunctionTable)
|
PARAMETERS
KeyHierarchy (input) |
| | The CSSM_KEY_HIERARCHY flag indicating which embedded
key(s) CSSM should use when verifying the integrity of the module
manager. |
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. |
AppGuid (input/optional) |
| | 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. |
FunctionTable (output) |
| | A set of function pointers for EMM-defined functions
used by CSSM to communicate state changes related to module attach
and module detach operations. |
DESCRIPTION
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
loading process.
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.
RETURN VALUE
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.
SEE ALSO
Books
Intel CDSA Application Developer's Guide