Jump To:
Leopard 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 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Authentication Reference 2008-11-19
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 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Authentication Reference 2008-11-19
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
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Authorization Guides 2009-01-06
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 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Authorization Reference 2008-11-19
Debugging An Authorization Plug-In With Xcode (HTML)
TN2108: A tutorial on how to use Xcode to debug an authorization plug-in.
Authorization Technical Notes 2008-09-08
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
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
Running At Login (HTML)
TN2228: Describes how to write code that's coordinated with the login process.
Authorization Technical Notes 2008-09-16
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 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 2009-01-06
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
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Carbon Guides 2009-01-06
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 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Carbon Reference 2008-11-19
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Carbon Guides 2009-05-06
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 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Carbon Reference 2008-11-19
Mac OS X Code Signing In Depth (HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
Carbon Technical Notes 2008-08-06
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
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Carbon Guides 2008-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 API for protecting information.
Carbon Reference 2008-03-12
Security Interface Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security Interface framework.
Carbon Release Notes 2007-07-18
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Carbon Release Notes 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
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Cocoa Guides 2009-01-06
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 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Cocoa Reference 2008-11-19
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Cocoa Guides 2009-05-06
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 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Cocoa Reference 2008-11-19
Mac OS X Code Signing In Depth (HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
Cocoa Technical Notes 2008-08-06
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Cocoa Guides 2008-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 Release Notes 2007-07-18
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Cocoa Release Notes 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 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 2009-01-06
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