#include <kcreddb.h>
This data structure is used as the format for a generic credentials reqeust for a KMSG_KCDB_REQUEST message. A plugin typically publishes this message so that a credentials provider may handle it and in response, obtain the specified credential.
While the identity, type and name members of the structure are all optional, typically one would specify all three or at least two for a credential provider to be able to provide the credential unambigously.
Credential providers do not need to respond to KMSG_KCDB_REQUEST messages. However, if they do, they should make sure that they are the only credential provider that is responding by setting the semaphore member to a non-zero value. The semaphore is set to zero when a request is initially sent out. When incrementing the semaphore, the plugin should use a thread safe mechanism to ensure that there are no race conditions that would allow more than one provider to respond to the message.
Data Fields | |
| khm_handle | identity |
| khm_int32 | type |
| wchar_t * | name |
| khm_handle | dest_credset |
| void * | vparam |
| long | semaphore |
Identity of the credential. Set to NULL if not specified.
Type of the credential. Set to KCDB_CREDTYPE_INVALID if not specified.
| wchar_t* tag_kcdb_cred_request::name |
Name of the credential. Set to NULL if not specified.
If non-NULL, instructs whoever is handling the request that the credential thus obtained be placed in this credential set in addition to whereever it may place newly acquired credentials. Note that while this can be NULL if the new credential does not need to be placed in a credential set, it can not equal the root credential set.
An unspecified parameter. Specific credential types may specify how this field is to be used.
Incremented by one when this request is answered. Only one credential provider is allowed to answer a KMSG_KCDB_REQUEST message. Initially, when the message is sent out, this member should be set to zero.
|
Generated on Fri Aug 3 08:27:15 2007 for Network Identity Manager by Doxygen 1.5.2 © 2004-2007 Massachusetts Institute of Technology. © 2005-2007 Secure Endpoints Inc. Contact khimaira@mit.edu |
|