Jump To:
Reference Library
Mac OS X provides a number of system-level authorization, authentication, and cryptographic services that software and hardware developers can use to build security into their products. In addition, Mac OS X provides programming interfaces to SSL/TLS that developers can use to transport data securely over a network.

A guided introduction for developers implementing security features in Mac OS X.   Essential information for developers building security into their products.   API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
AuthorizationCreateFromExternalForm 100022 Error Explained (HTML)
QA1498: Explains the undocumented 100022 return value from AuthorizationCreateFromExternalForm.
Authentication Technical Q&As 2007-01-04
BetterAuthorizationSample (HTML) (DMG) (ZIP)
Shows the recommended way to access privileged functionality from a non-privileged application on Mac OS X.
Authentication Sample Code 2007-11-27
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Authentication Sample Code 2003-06-12
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Authentication Guides 2004-06-28
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Authentication Guides 2004-06-28
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes the C API for managing certificates, public and private keys, and trust policies.
Authentication Reference 2005-03-03
CryptNoMore (HTML) (DMG) (ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
Authentication Sample Code 2008-03-17
Cryptographic Message Syntax Services Reference (HTML) (PDF)
Describes the API for encrypting, signing, and decoding messages using Cryptographic Message Syntax (CMS).
Authentication Reference 2007-10-31
Describing the kSecTrustResultUnspecified error. (HTML)
QA1360: Explaining the semantics behind the kSecTrustResultUnspecified error returned by the Security APIs.
Authentication Technical Q&As 2007-02-05
Kerberos GSS (HTML) (DMG) (ZIP)
Kerberos GSS-API Sample
Authentication Sample Code 2008-06-04
Kerberos: Highly Secure Single Sign On Authentication in Mac OS X (HTML)
Learn how you can take advantage of Kerberos in your application.
Authentication Articles 2007-02-05
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Authentication Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Authentication Guides 2007-01-08
Keychain Services Reference (HTML) (PDF)
Describes the C API for storing passwords, certificates, keys, and other security related items.
Authentication Reference 2005-04-29
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Authentication Sample Code 2003-10-27
NameAndPassword (HTML) (DMG) (ZIP)
NameAndPassword is a SFAuthorizationPluginView subclass example.
Authentication Sample Code 2006-07-28
Programmatically Accessing and Manipulating Multiple Keychain Items (HTML)
QA1486: An explanation on what is and is not possible using the SecKeychain API to manipulate Keychain Items.
Authentication Technical Q&As 2006-10-03
SecurityInterface Data Types Reference (HTML) (PDF)
Describes the data types found in the Security Interface framework.
Authentication Reference 2006-05-23
SFCertificatePanel Class Reference (HTML) (PDF)
Describes the class that displays one or more certificates in a panel or sheet.
Authentication Reference 2006-05-23
SFCertificateTrustPanel Class Reference (HTML) (PDF)
Describes the class that enables the user to edit the trust settings in a certificate.
Authentication Reference 2006-05-23
SFCertificateView Class Reference (HTML) (PDF)
Describes the class that displays the contents of a certificate.
Authentication Reference 2006-05-23
SFChooseIdentityPanel Class Reference (HTML) (PDF)
Describes the class that allows a user to select an identity from a list.
Authentication Reference 2006-05-23
Apple Certificate Library Functional Specification (PDF)
Specifications for Apple's implementation of the Certificate Library CDSA plug-in.
Authorization Reference 2005-01-13
Apple Trust Policy Module Functional Specification (PDF)
Specification for Apple's implementation of the Trust Policy (TP) CDSA plug-in.
Authorization Reference 2005-01-25
AuthForAll (HTML) (DMG) (ZIP)
Shows how to use Authorization Services to create a self-restricted application.
Authorization Sample Code 2005-10-26
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Authorization Technical Notes 2008-01-30
Authorization Plug-in Reference (HTML) (PDF)
Describes the C API for implementing an authorization plug-in.
Authorization Reference 2007-05-15
Authorization Services C Reference (HTML) (PDF)
Describes the C API for adding fine-grained control of privileged operations in an application.
Authorization Reference 2005-11-08
AuthorizationCreateFromExternalForm 100022 Error Explained (HTML)
QA1498: Explains the undocumented 100022 return value from AuthorizationCreateFromExternalForm.
Authorization Technical Q&As 2007-01-04
Be careful when using AuthorizationCreate (HTML) (日本語 HTML)
QA1172: Explains why you should avoid determining allowable rights when creating an AuthorizationRef.
Authorization Technical Q&As 2002-09-20
BetterAuthorizationSample (HTML) (DMG) (ZIP)
Shows the recommended way to access privileged functionality from a non-privileged application on Mac OS X.
Authorization Sample Code 2007-11-27
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Authorization Guides 2004-06-28
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Authorization Guides 2004-06-28
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes the C API for managing certificates, public and private keys, and trust policies.
Authorization Reference 2005-03-03
Describing the kSecTrustResultUnspecified error. (HTML)
QA1360: Explaining the semantics behind the kSecTrustResultUnspecified error returned by the Security APIs.
Authorization Technical Q&As 2007-02-05
IdentitySample (HTML) (DMG) (ZIP)
IdentitySample builds a utility which demonstrates how to use the CoreServices Identity API to manage system-wide identities
Authorization Sample Code 2006-07-27
KauthORama (HTML) (DMG) (ZIP)
Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files.
Authorization Sample Code 2007-04-30
Kernel Authorization (HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
Authorization Technical Notes 2007-01-16
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Authorization Sample Code 2003-10-27
NameAndPassword (HTML) (DMG) (ZIP)
NameAndPassword is a SFAuthorizationPluginView subclass example.
Authorization Sample Code 2006-07-28
NullAuthPlugin (HTML) (DMG) (ZIP)
Use this as a template for writing an authorization plugin, or as a tool to debug the authorization process.
Authorization Sample Code 2007-10-26
Performing Privileged Operations With Authorization Services (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Authorization Guides 2004-02-01
Programmatically Accessing and Manipulating Multiple Keychain Items (HTML)
QA1486: An explanation on what is and is not possible using the SecKeychain API to manipulate Keychain Items.
Authorization Technical Q&As 2006-10-03
QISA (HTML) (DMG) (ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
Authorization Sample Code 2003-05-15
Security Credentials (HTML) (日本語 HTML)
QA1277: Discusses AuthorizationCopyRights and the relationship between Authorization Services, authorization sessions, Security Server, credentials, and the credentials cache.
Authorization Technical Q&As 2003-08-06
Security Foundation Framework Reference (HTML) (PDF)
Describes the Security Foundation framework for adding fine-grained control of privileged operations in an application.
Authorization Reference 2006-05-23
Security Interface Framework Reference (HTML) (PDF)
Describes the Objective-C API for creating views and dialogs relating to authorization, certificates, and keychains.
Authorization Reference 2006-07-14
SecurityInterface Data Types Reference (HTML) (PDF)
Describes the data types found in the Security Interface framework.
Authorization Reference 2006-05-23
SFAuthorization Class Objective-C Reference (HTML) (PDF)
Describes the class used to restrict a user's access to particular features in a Mac OS X application or daemon.
Authorization Reference 2006-05-23
SFAuthorizationPluginView Class Reference (HTML) (PDF)
Describes the class an authorization plug-in uses to display a custom view within the Apple-supplied authorization views.
Authorization Reference 2006-07-14
SFAuthorizationView Class Reference (HTML) (PDF)
Describes the class that displays a lock icon that indicates a user interface has restricted access.
Authorization Reference 2006-05-23
Stay away from custom Authorization dialogs (HTML) (日本語 HTML)
QA1199: Explains why you shouldn't create a custom authorization dialog.
Authorization Technical Q&As 2002-09-20
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Carbon Technical Notes 2008-01-30
Authorization Plug-in Reference (HTML) (PDF)
Describes the C API for implementing an authorization plug-in.
Carbon Reference 2007-05-15
Authorization Services C Reference (HTML) (PDF)
Describes the C API for adding fine-grained control of privileged operations in an application.
Carbon Reference 2005-11-08
BetterAuthorizationSample (HTML) (DMG) (ZIP)
Shows the recommended way to access privileged functionality from a non-privileged application on Mac OS X.
Carbon Sample Code 2007-11-27
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Carbon Guides 2004-06-28
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Carbon Guides 2004-06-28
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes the C API for managing certificates, public and private keys, and trust policies.
Carbon Reference 2005-03-03
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Carbon Guides 2008-03-11
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Carbon Sample Code 2003-02-06
Describing the kSecTrustResultUnspecified error. (HTML)
QA1360: Explaining the semantics behind the kSecTrustResultUnspecified error returned by the Security APIs.
Carbon Technical Q&As 2007-02-05
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Carbon Sample Code 2003-01-14
GetPrimaryMACAddress (HTML) (DMG) (ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
Carbon Sample Code 2005-10-27
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Carbon Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Carbon Guides 2007-01-08
Keychain Services Reference (HTML) (PDF)
Describes the C API for storing passwords, certificates, keys, and other security related items.
Carbon Reference 2005-04-29
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Carbon Sample Code 2003-10-27
OS Services Framework Release Notes (HTML)
Carbon Release Notes 2007-10-31
Performing Privileged Operations With Authorization Services (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Carbon Guides 2004-02-01
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Carbon Guides 2006-05-23
Secure Transport Reference (HTML) (PDF)
Describes the C API for creating a Secure Sockets Layer session over any transport layer.
Carbon Reference 2004-08-31
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Carbon Technical Q&As 2006-11-16
Security Framework Reference (HTML) (PDF)
Describes the C API for protecting information and controlling access to software.
Carbon Reference 2006-05-23
Security Interface Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security Interface framework.
Carbon Reference 2007-07-18
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Carbon Reference 2007-07-18
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Carbon Sample Code 2003-01-14
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Cocoa Technical Notes 2008-01-30
BetterAuthorizationSample (HTML) (DMG) (ZIP)
Shows the recommended way to access privileged functionality from a non-privileged application on Mac OS X.
Cocoa Sample Code 2007-11-27
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Cocoa Guides 2004-06-28
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Cocoa Guides 2004-06-28
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes the C API for managing certificates, public and private keys, and trust policies.
Cocoa Reference 2005-03-03
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Cocoa Guides 2008-03-11
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Cocoa Sample Code 2003-02-06
Describing the kSecTrustResultUnspecified error. (HTML)
QA1360: Explaining the semantics behind the kSecTrustResultUnspecified error returned by the Security APIs.
Cocoa Technical Q&As 2007-02-05
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Cocoa Sample Code 2003-01-14
GetPrimaryMACAddress (HTML) (DMG) (ZIP)
Demonstrates retrieving the MAC address of the built-in Ethernet controller. Useful for uniquely identifying a Macintosh system.
Cocoa Sample Code 2005-10-27
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Cocoa Guides 2007-01-08
Keychain Services Reference (HTML) (PDF)
Describes the C API for storing passwords, certificates, keys, and other security related items.
Cocoa Reference 2005-04-29
Performing Privileged Operations With Authorization Services (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Cocoa Guides 2004-02-01
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Cocoa Guides 2006-05-23
Secure Transport Reference (HTML) (PDF)
Describes the C API for creating a Secure Sockets Layer session over any transport layer.
Cocoa Reference 2004-08-31
Security Foundation Framework Reference (HTML) (PDF)
Describes the Security Foundation framework for adding fine-grained control of privileged operations in an application.
Cocoa Reference 2006-05-23
Security Framework Error Codes (HTML)
QA1499: Explains how to interpret errors returned by the Security Framework with an overview of Security error handling.
Cocoa Technical Q&As 2006-11-16
Security Interface Framework Reference (HTML) (PDF)
Describes the Objective-C API for creating views and dialogs relating to authorization, certificates, and keychains.
Cocoa Reference 2006-07-14
Security Interface Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security Interface framework.
Cocoa Reference 2007-07-18
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Cocoa Reference 2007-07-18
SecurityInterface Data Types Reference (HTML) (PDF)
Describes the data types found in the Security Interface framework.
Cocoa Reference 2006-05-23
SFAuthorization Class Objective-C Reference (HTML) (PDF)
Describes the class used to restrict a user's access to particular features in a Mac OS X application or daemon.
Cocoa Reference 2006-05-23
SFAuthorizationPluginView Class Reference (HTML) (PDF)
Describes the class an authorization plug-in uses to display a custom view within the Apple-supplied authorization views.
Cocoa Reference 2006-07-14