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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
Accessing HTTPS Proxy Settings (HTML) (日本語 HTML)
QA1234: Describes how to programatically access Secure Web Proxy information.
Internet & Web Technical Q&As 2003-02-19
Apple Certificate Library Functional Specification (PDF)
Specifications for Apple's implementation of the Certificate Library CDSA plug-in.
Authorization Reference 2005-01-13
Apple Cryptographic Service Provider Functional Specification (PDF)
Specification for Apple's implementation of the Cryptographic Service Provider (CSP) CDSA plug-in.
Cryptography Reference 2005-03-10
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, Carbon, Cocoa Technical Notes 2008-01-30
Authorization Plug-in Reference (HTML) (PDF)
Describes the C API for implementing an authorization plug-in.
Authorization, 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.
Authorization, Carbon, Secure Storage Reference 2005-11-08
Authorization Services Programming Guide (HTML) (PDF)
Explains how to add fine-grained control of privileged operations in an application.
Authorization, Carbon, Cocoa, Secure Storage Guides 2009-01-06
AuthorizationCreateFromExternalForm 100022 Error Explained (HTML)
QA1498: Explains the undocumented 100022 return value from AuthorizationCreateFromExternalForm.
Authentication, 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.
Authentication, Authorization, Carbon, Cocoa 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
CBGroupIdentity Class Reference (HTML) (PDF)
Describes the class for operating on user identities.
Networking Reference 2007-05-14
CBIdentity Class Reference (HTML) (PDF)
Describes the class used to create and operate on identities.
Networking Reference 2007-05-14
CBIdentityAuthority Class Reference (HTML) (PDF)
Describes the class used to manipulate identity authority databases.
Networking Reference 2007-05-14
CBIdentityPicker Class Reference (HTML) (PDF)
Describes the class that manages the identity picker.
Networking Reference 2007-05-14
CBUserIdentity Class Reference (HTML) (PDF)
Describes the class for operating on user identities.
Networking Reference 2007-05-14
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Authentication, Authorization, Carbon, Cocoa, Secure Storage 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, Authorization, Carbon, Cocoa, Cryptography 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, Cocoa, Networking Guides 2009-05-06
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Cryptography, General Guides 2008-11-19
Code Signing Release Notes (HTML)
Cryptography Release Notes 2007-10-31
Collaboration Framework Reference (HTML) (PDF)
Describes the Objective-C API for monitoring and editing identities.
Networking Reference 2007-05-14
Core Services Identity Reference (HTML)
Describes the C API for creating, maintaining and finding users and groups.
Networking Reference 2008-04-08
Creating Secure Transactions on Mac OS X Server with SSL (HTML)
Learn how to provide a layer of public-key encryption over any TCP connection.
Cryptography, Internet & Web, Mac OS X Server Articles 2004-01-12
CryptNoMore (HTML) (DMG) (ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
Authentication, Darwin 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, Cryptography Reference 2007-10-31
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Carbon, Cocoa, Darwin Sample Code 2003-02-06
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.
Authentication, Authorization, Carbon, Cocoa Technical Q&As 2007-02-05
Does Safari support 128-bit encryption? (HTML)
QA1320: Discusses support for 128-bit encryption in Apple's Safari web browser.
Internet & Web Technical Q&As 2004-09-10
Enabling X11 Forwarding (HTML)
QA1383: Describes how to enable ssh clients to receive X11 communication from a Mac OS X system.
Internet & Web, Mac OS X Server Technical Q&As 2004-10-25
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Carbon, Cocoa, Darwin, Hardware & Drivers, Mac OS X Server, Networking 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, Cocoa, Darwin, Hardware & Drivers, Mac OS X Server, Networking Sample Code 2005-10-27
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web, Networking Technical Q&As 2008-06-03
Identity Services Programming Guide (HTML) (PDF)
Explains how identities work and how to use them in applications.
Networking Guides 2008-10-15
Identity Services Reference Collection (HTML) (PDF)
Describes the APIs for using identities and the Identity Picker.
Networking Reference 2007-05-14
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
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
Hardware & Drivers Technical Q&As 2004-08-30
Java for Mac OS X v10.4, Release 7 Release Notes (HTML) (PDF)
First version of Java for Mac OS X v10.4 Update 7 Release Notes.
Java Release Notes 2008-09-24
Java for Mac OS X v10.4, Release 8 Release Notes (HTML) (PDF)
Lists resolved and outstanding developer issues with Java for Mac OS X v10.4, Release 8.
Java Release Notes 2009-03-04
Java for Mac OS X v10.5 Release Notes (HTML) (PDF)
Java Release Notes 2007-10-31
Java for Mac OS X v10.5 Update 1 Release Notes (HTML) (PDF)
Lists resolved and outstanding developer issues with Java for Mac OS X v10.5 Update 1.
Java Release Notes 2008-05-02
Java for Mac OS X v10.5 Update 2 Release Notes (HTML) (PDF)
Lists resolved and outstanding developer issues with Java for Mac OS X v10.5 Update 2.
Java Release Notes 2008-09-24
Java for Mac OS X v10.5 Update 3 Release Notes (HTML) (PDF)
Lists resolved and outstanding developer issues with Java for Mac OS X v10.5 Update 3.
Java Release Notes 2009-03-04
KauthORama (HTML) (DMG) (ZIP)
Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files.
Authorization, Darwin Sample Code 2007-04-30
Kerberos GSS (HTML) (DMG) (ZIP)
Kerberos GSS-API Sample
Authentication, Networking 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
Kernel Authorization (HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
Authorization, Darwin Technical Notes 2007-01-16
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Authentication, Carbon, Cryptography, Secure Storage Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Authentication, Carbon, Cocoa, Cryptography, Secure Storage Guides 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Authentication, Carbon, Cocoa, Cryptography, Secure Storage Reference 2008-11-19
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
General, Hardware & Drivers Articles 2007-09-04
Mac OS X and root access (HTML)
QA1013: Describes how to enable root access in Mac OS X.
Darwin, Hardware & Drivers Technical Q&As 2008-09-16
Mac OS X Code Signing In Depth (HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
Carbon, Cocoa, Cryptography, Darwin, Mac OS X Server Technical Notes 2008-08-06
Mac OS X Security Configuration Guide (PDF)
Describes how to configure Mac OS X to enhance security.
General, Networking Guides 2008-06-09
Mac OS X Server Command-Line Administration (PDF)
Explains how to use commands and configuration files to perform server administration tasks in a UNIX command shell.
Mac OS X Server Guides 2007-12-11
Mac OS X Server File Services Administration (PDF)
Explains how to share selected server volumes or folders among server clients using AFP, NFS, FTP, and SMB/CIFS.
Mac OS X Server Guides 2007-10-31
Mac OS X Server iCal Service Administration (PDF)
Explains how to set up and manage iCal shared calendar service.
Mac OS X Server Guides 2008-06-09
Mac OS X Server iChat Service Administration (PDF)
New document that explains how to set up and manage iChat instant messaging service.
Mac OS X Server Guides 2007-10-31
Mac OS X Server Mail Service Administration (PDF)
Explains how to set up, configure, and administer mail services on the server.
Mac OS X Server Guides 2008-06-09
Mac OS X Server Network Services Administration (PDF)
Explains how to set up, configure, and administer DHCP, DNS, VPN, NTP, IP firewall, and NAT services on the server.
Mac OS X Server Guides 2008-06-09
Mac OS X Server Open Directory Administration (PDF)
Explains how to manage directory and authentication services.
Mac OS X Server Guides 2008-10-15
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
General, Internet & Web, Mac OS X Server, Networking Guides 2008-06-09
Mac OS X Server System Image and Software Update Administration (PDF)
Explains how to use network-resident startup disks and how to set up a software update server.
Mac OS X Server Guides 2007-10-31
Mac OS X Server Web Technologies Administration (PDF)
Explains how to set up and manage a web server, including WebDAV, WebMail, and web modules.
Mac OS X Server Guides 2007-10-31
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Authentication, Authorization, Carbon, Darwin, Networking Sample Code 2003-10-27
NameAndPassword (HTML) (DMG) (ZIP)
NameAndPassword is a SFAuthorizationPluginView subclass example.
Authentication, Authorization Sample Code 2006-07-28
NetworkAuthentication (HTML) (DMG) (ZIP)
Demonstrates authentication with Open Directory APIs and GSSAPI
Networking Sample Code 2005-06-01
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
OS Services Framework Release Notes (HTML)
Carbon Release Notes 2007-10-31
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, Authorization, Cryptography, Secure Storage 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
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Carbon, Cocoa, Darwin, General, Mac OS X Server 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, Cocoa, Cryptography, Networking Reference 2004-08-31
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, 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.
Carbon, Cocoa, Darwin, Mac OS X Server, Networking Technical Q&As 2006-11-16
Security Framework Reference (HTML) (PDF)
Describes the API for protecting information.
Carbon Reference 2008-03-12
Security Interface Framework Reference (HTML) (PDF)
Describes the Objective-C API for creating views and dialogs relating to authorization, certificates, and keychains.
Authorization, Cocoa, Secure Storage Reference 2006-07-14
Security Interface Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security Interface framework.
Carbon, Cocoa Release Notes 2007-07-18
Security Overview (HTML) (PDF)
An introduction to computer security concepts and the security APIs in Mac OS X and iPhone OS.
General Guides 2008-10-15
Security Reference Update (HTML) (PDF)
Summarizes the symbols added to the Security framework.
Carbon, Cocoa Release Notes 2007-07-18
SecurityInterface Data Types Reference (HTML) (PDF)
Describes the data types found in the Security Interface framework.
Authentication, Authorization, Cocoa, Cryptography, Secure Storage 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, 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.
Authorization, Cocoa 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, Cocoa Reference 2006-05-23
SFCertificatePanel Class Reference (HTML) (PDF)
Describes the class that displays one or more certificates in a panel or sheet.
Authentication, Cocoa 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, Cocoa Reference 2006-05-23
SFCertificateView Class Reference (HTML) (PDF)
Describes the class that displays the contents of a certificate.
Authentication, Cocoa Reference 2006-05-23
SFChooseIdentityPanel Class Reference (HTML) (PDF)
Describes the class that allows a user to select an identity from a list.
Authentication, Cocoa, Cryptography Reference 2006-05-23
SFKeychainSavePanel Class Reference (HTML) (PDF)
Describes the class that displays a sheet or panel that allows the user to create a keychain.
Cocoa, Secure Storage Reference 2006-05-23
SFKeychainSettingsPanel Class Reference (HTML) (PDF)
Describes the class that displays a panel or sheet that allows users to change their keychain settings.
Cocoa, Secure Storage Reference 2006-05-23
Smart Card Setup Guide (PDF)
Explains how to configure Mac OS X version 10.4 to use smart cards.
General, Networking Guides 2006-08-07
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Carbon, Cocoa, Darwin, Internet & Web, Networking Sample Code 2003-01-14
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
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Darwin, Hardware & Drivers, Networking Technical Notes 2006-04-25
Using Open Source Tools to Filter Email on Mac OS X Server (HTML)
Learn how to identify, filter, and remove viruses from the Postfix mail server.
Internet & Web, Mac OS X Server Articles 2004-09-27
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Hardware & Drivers, Mac OS X Server Technical Q&As 1999-02-15