Attribute lists are used in three ways:
to specify a search for items.
to read data from an item.
to set the data for an item.
For example, to create a search for all generic passwords that have bignerdranch as the account name, you would create an attribute list and invoke SecKeychainSearchCreateFromAttributes().
OSStatus SecKeychainSearchCreateFromAttributes (CFTypeRef keychainOrArray, SecItemClass itemClass, const SecKeychainAttributeList *attrList, SecKeychainSearchRef *searchRef);
Most of the functions in the Security framework deal well with NULLs. They do what you would hope. For example, if you pass NULL as the first argument, the search will check all the user’s normal keychains. Usually, this is what you want. For the ...