Document Revision History

This table describes the changes to Keychain Services Reference.

2014-02-11Noted that kSecAttrAccessibleWhenUnlocked is the default value for items created without specifying a specific accessibility constant.
2013-09-17Updated description of kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly.

See kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly for details.

2012-12-13Corrected description of kSecAttrAccessibleWhenUnlockedThisDeviceOnly flag.
2012-09-19Added a note about releasing the obect returned by SecItemExport.
2012-07-17Added additional error codes introduced in OS X v10.8.
2012-05-14Updated to include the new SecACL* functions in OS X v10.7.
2010-09-01Updated for iOS 4.0. Added Keychain accessibility attributes.
2010-04-06Corrected typos.
2009-04-27Updated for iOS v3.0.

Corrected some mistakes and added some constants. Added functions to OS X version of document that create and read persistent references and that return a human-readable error string.

2008-11-19Added Keychain Services API for iOS.
2005-04-29 Added attribute constants for key items and made minor editing corrections.

Minor editing corrections.


Added functions, constants, and data types for exporting and importing keychain items.


Added information about access controls.


Added section “Managing Trusted Applications”


Added information about access controls to other functions as appropriate.


Added “CSSM Authorization Tag Type Constants” for keychain items.


Added keychain item class constants for keys.


Added OS X v10.3 API.


First version of this document.