Mac OS X Reference Library Apple Developer
Search

Introduction

Security is about restricting access, whether to a physical object, a location, information, an application, or a particular feature of an application.

Required Reading

To learn how to protect your users from unauthorized use of their data or an attack on their system through vulnerabilities in your application, read Secure Coding Guide.

To work seamlessly with built-in security features in the Mac OS X operating system and to give your users the best-possible experience, you must add a digital signature to your application. To get started, read Code Signing Guide.

Start Here

Depending on what you need to protect, you may want to:

If your software needs to protect information or if you need to control access to your software, then you need to be familiar with the security features and APIs of Mac OS X.

Want to get familiar with the fundamentals?

Start with Security Overview to get a high-level view of Mac OS X security features:

Prefer to learn by example?

See the security sample code for examples of the security APIs in use. In particular:

Go in Depth

Sometimes you need task-focused information or answers to specific questions to get started. The documents described below take a task-oriented approach to explaining how to use Mac OS X security APIs.

Authenticating Users

You can authorize users to control access to data or to restrict access to specific application features. Authorization Services Programming Guide explains how to add fine-grained control of privileged operations in an application.

Using the Keychain

The Mac OS X keychain provides secure storage that can be used by users to store passwords and other secrets, and by applications to store passwords, keys, certificates, and other data. Keychain Services Programming Guide describes programmatic access to the keychain and provides samples that show how to use the keychain APIs.

Using Certificates and Cryptographic Keys

Digital certificates can be used for a variety of purposes, including signing data, authenticating users over a network, and encrypting data. Certificates use and store public cryptographic keys. The combination of a certificate and a private key is known as an identity and is used in authentication and encryption applications. To learn more about how certificates and keys are used to identify users and processes and to establish trust, read Certificate, Key, and Trust Services Programming Guide.

Ready for More?

The Snow Leopard Reference Library holds many more resources that can make your job easier. To narrow the list of resources, you can set filters to focus on specific resource types (such as references, guides, or sample code) or on specific topics (such as security or data management).



Last updated: 2009-05-27

Did this document help you? Yes It's good, but... Not helpful...