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
SFAuthorizationView Class Reference (HTML) (PDF)
Describes the class that displays a lock icon that indicates a user interface has restricted access.
Cocoa Reference 2006-05-23
SFCertificatePanel Class Reference (HTML) (PDF)
Describes the class that displays one or more certificates in a panel or sheet.
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.
Cocoa Reference 2006-05-23
SFCertificateView Class Reference (HTML) (PDF)
Describes the class that displays the contents of a certificate.
Cocoa Reference 2006-05-23
SFChooseIdentityPanel Class Reference (HTML) (PDF)
Describes the class that allows a user to select an identity from a list.
Cocoa 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 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 Reference 2006-05-23
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Cocoa Sample Code 2003-01-14
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
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Cryptography Reference 2008-11-19
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Cryptography Guides 2008-11-19
Code Signing Release Notes (HTML)
Cryptography Release Notes 2007-10-31
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 Articles 2004-01-12
Cryptographic Message Syntax Services Reference (HTML) (PDF)
Describes the API for encrypting, signing, and decoding messages using Cryptographic Message Syntax (CMS).
Cryptography Reference 2007-10-31
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Cryptography Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Cryptography Guides 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Cryptography 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
Cryptography Technical Notes 2008-08-06
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.
Cryptography Technical Q&As 2006-10-03
Secure Transport Reference (HTML) (PDF)
Describes the C API for creating a Secure Sockets Layer session over any transport layer.
Cryptography Reference 2004-08-31
SecurityInterface Data Types Reference (HTML) (PDF)
Describes the data types found in the Security Interface framework.
Cryptography Reference 2006-05-23
SFChooseIdentityPanel Class Reference (HTML) (PDF)
Describes the class that allows a user to select an identity from a list.
Cryptography Reference 2006-05-23
CryptNoMore (HTML) (DMG) (ZIP)
Shows how to authenticate a user using Open Directory (Directory Services).
Darwin Sample Code 2008-03-17
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Darwin Sample Code 2003-02-06
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Darwin 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.
Darwin Sample Code 2005-10-27
KauthORama (HTML) (DMG) (ZIP)
Prints each Kauth request, illustrating how Kauth interacts with high-level operations, like copying files.
Darwin Sample Code 2007-04-30
Kernel Authorization (HTML)
TN2127: Describes the kernel authorization (kauth) subsystem and its associated KPI.
Darwin Technical Notes 2007-01-16
Mac OS X and root access (HTML)
QA1013: Describes how to enable root access in Mac OS X.
Darwin 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
Darwin Technical Notes 2008-08-06
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Darwin Sample Code 2003-10-27
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Darwin Guides 2008-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.
Darwin Technical Q&As 2006-11-16
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Darwin Sample Code 2003-01-14
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Darwin Technical Notes 2006-04-25
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
General Guides 2008-11-19
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
General Articles 2007-09-04
Mac OS X Security Configuration Guide (PDF)
Describes how to configure Mac OS X to enhance security.
General Guides 2008-06-09
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
General Guides 2008-06-09
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
General Guides 2008-05-23
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
Smart Card Setup Guide (PDF)
Explains how to configure Mac OS X version 10.4 to use smart cards.
General Guides 2006-08-07
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Hardware & Drivers 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.
Hardware & Drivers Sample Code 2005-10-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
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Hardware & Drivers Articles 2007-09-04
Mac OS X and root access (HTML)
QA1013: Describes how to enable root access in Mac OS X.
Hardware & Drivers Technical Q&As 2008-09-16
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Hardware & Drivers Technical Notes 2006-04-25
What are snag keys in Open Firmware? (HTML) (日本語 HTML)
HW35: Explains Open Firmware snag keys, including examples of their function.
Hardware & Drivers Technical Q&As 1999-02-15
Accessing HTTPS Proxy Settings (HTML) (日本語 HTML)
QA1234: Describes how to programatically access Secure Web Proxy information.
Internet & Web Technical Q&As 2003-02-19
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.
Internet & Web Articles 2004-01-12
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 Technical Q&As 2004-10-25
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Internet & Web Technical Q&As 2008-06-03
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Internet & Web Guides 2008-06-09
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Internet & Web Sample Code 2003-01-14
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 Articles 2004-09-27
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
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.
Mac OS X Server Articles 2004-01-12
Enabling X11 Forwarding (HTML)
QA1383: Describes how to enable ssh clients to receive X11 communication from a Mac OS X system.
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.
Mac OS X Server 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.
Mac OS X Server Sample Code 2005-10-27
Mac OS X Code Signing In Depth (HTML)
TN2206: Intermediate to expert level overview of code signing that details specific options and gotchas
Mac OS X Server Technical Notes 2008-08-06
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.
Mac OS X Server 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
Secure Coding Guide (HTML) (PDF)
Describes techniques to use and factors to consider to make your code more secure from attack.
Mac OS X Server Guides 2008-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.
Mac OS X Server Technical Q&As 2006-11-16
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.
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.
Mac OS X Server Technical Q&As 1999-02-15
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
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Networking Guides 2009-05-06
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
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
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.
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.
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
Kerberos GSS (HTML) (DMG) (ZIP)
Kerberos GSS-API Sample
Networking Sample Code 2008-06-04
Mac OS X Security Configuration Guide (PDF)
Describes how to configure Mac OS X to enhance security.
Networking Guides 2008-06-09
Mac OS X Server Security Configuration Guide (PDF)
Describes how to configure Mac OS X Server to enhance server and service security.
Networking Guides 2008-06-09
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Networking Sample Code 2003-10-27
NetworkAuthentication (HTML) (DMG) (ZIP)
Demonstrates authentication with Open Directory APIs and GSSAPI
Networking Sample Code 2005-06-01