NSSSEnumerateSecretIDs
Enables the administrator or user to list the secret
identifiers (secret IDs) for secrets stored in the user's SecretStore.
Syntax
#include <nssscl.h>
SS_EXTERN_LIBCALL(int) NSSSEnumerateSecretIDs
(
SSS_CONTEXT_T *callerContext,
SS_OBJECT_DN_T *targetObject,
unsigned long ssFlags,
char *searchString,
unsigned long *count
SS_SECRET_T *secretIDList,
SS_EXT_T *ext
);
Parameters
- callerContext
- (IN) This optional structure can be initialized
by making a call to NSSSGetServiceInformation prior
to use here. The flags field of the structure can take on the following
values to indicate the type of context used.NSSS_NCP_CTX_F—Directory
Service API context indicator flagNSSS_LDAP_CTX_F—LDAP
context indicator flag <reserved>
- targetObject
- (IN) This is the optional RDN (relative distinguished
name or "short name") of the target object that contains the user's
secrets. You should have at least READ/WRITE privileges
over the target object.
- ssFlags
- (IN) This is a set of flags for initializing secrets:
- searchString
- (IN) Set to *, NULL, or "" if all entries
are desired in the search. Use the asterisk "*" as delimiter
to search for specific entries with known prefixes, such as "MYAppSecretNumber_*".
- count
- (OUT) The number of secret identifiers stored for
the user.
- secretIDList
- (OUT) An asterisk "*" separated list of
secret identifiers matching the search string.
- ext
- (OUT) If present, this structure can return a set
of applicable future extensions for the secrets.
Remarks
The memory allocated for the secretIDBuffer should be set
to NSSS_ENUM_BUFFER_GUESS. This should
be enough memory for most applications.
If this call returns NSSS_ERR_MORE_DATA
(not a fatal error), call it again with a buffer the size of returned
secretIDList->len. If the buffer is too small for all of the data
in the SecretStore, the returned buffered from the server is stuffed
as much as it has room. search string can be used to change the
scope of the search when buffer size is a constraint.