Obtains tags for all possible attributes of a given item class.


func SecKeychainAttributeInfoForItemID(_ keychain: SecKeychain?, _ itemID: UInt32, _ info: UnsafeMutablePointer<UnsafeMutablePointer<SecKeychainAttributeInfo>?>) -> OSStatus



A keychain object.


The relation identifier of the item tags. An itemID is a CSSM_DB_RECORDTYPE type as defined in cssmtype.h.


On return, a pointer to the keychain attribute information. Your application should call the SecKeychainFreeAttributeInfo(_:) function to release this structure when done with it.

Return Value


This call returns more attributes than are supported by the old style Keychain API and passing them into older calls yields an invalid attribute error. The recommended call to retrieve the attribute values is the SecKeychainItemCopyAttributesAndData(_:_:_:_:_:_:) function.

See Also

Legacy Attribute Info

func SecKeychainFreeAttributeInfo(UnsafeMutablePointer<SecKeychainAttributeInfo>) -> OSStatus

Releases the memory acquired by calling the SecKeychainAttributeInfoForItemID function.

struct SecKeychainAttributeInfo

A structure that represents an attribute.

enum SecItemAttr

Specifies a keychain item’s attributes.

Keychain Item Attribute Constants For Keys

Specifies the attributes for a key item in a keychain.

typealias SecAFPServerSignature

Represents a 16-byte Apple File Protocol server signature block.