Introduction

Keychain Services provides secure storage of passwords, keys, certificates, and notes for one or more users. A user can unlock a keychain with a single password, and any Keychain Services–aware application can then use that keychain to store and retrieve passwords. Keychain Services Programming Guide contains an overview of Keychain Services, discusses the functions and data structures that are most commonly used by developers, and provides examples of how to use Keychain Services in your own applications.

This document concentrates on the use of Keychain Services to store and retrieve passwords. You should read this document if your application needs to handle passwords for:

You do not need any special knowledge of authentication schemes to use this document, but you should be familiar with the use and storage of passwords.

Organization of This Document

This document contains the following chapters:

“Keychain Services Concepts” provides an overview of Keychain Services and explains what keychains are and how they are used.

“OS X Keychain Services Tasks” contains sample code and detailed explanations of the most commonly-used Keychain Services functions.

“Glossary” defines new terms introduced in this book.

See Also

The following documents provide references to Apple’s keychain-related APIs.

Keychain services and other OS X security APIs are built on the open source Common Data Security Architecture (CDSA) and its programming interface, Common Security Services Manager (CSSM). For more information about the CSSM API, see the following document: