I'm trying to get the attributes of a keychain item. This code should look up all the available attributes, then print off their tags and contents.
According to the docs I should be seeing tags like 'cdat', but instead they just look like an index (i.e., the first tag is 0, next is 1). This makes it pretty useless since I can't tell which attribute is the one I'm looking for.
 SecItemClass itemClass;
 SecKeychainItemCopyAttributesAndData(itemRef, NULL, &itemClass, NULL, NULL, NULL);
 SecKeychainRef keychainRef;
 SecKeychainItemCopyKeychain(itemRef, &keychainRef);
 SecKeychainAttributeInfo *attrInfo;
 SecKeychainAttributeInfoForItemID(keychainRef, itemClass, &attrInfo);
 SecKeychainAttributeList *attributes;
 SecKeychainItemCopyAttributesAndData(itemRef, attrInfo, NULL, &attributes, 0, NULL);
 for (int i = 0; i < attributes->count; i ++)
 {
  SecKeychainAttribute attr = attributes->attr[i];
  NSLog(@"%08x %@", attr.tag, [NSData dataWithBytes:attr.data length:attr.length]);
 }
 SecKeychainFreeAttributeInfo(attrInfo);
 SecKeychainItemFreeAttributesAndData(attributes, NULL);
 CFRelease(itemRef);
 CFRelease(keychainRef);