Skip to content

iOS Cryptographic APIs

Overview

In the "Mobile App Cryptography" chapter, we introduced general cryptography best practices and described typical issues that can occur when cryptography is used incorrectly. In this chapter, we'll go into more detail on iOS's cryptography APIs. We'll show how to identify usage of those APIs in the source code and how to interpret cryptographic configurations. When reviewing code, make sure to compare the cryptographic parameters used with the current best practices linked from this guide.

Apple provides libraries that include implementations of most common cryptographic algorithms. Apple's Cryptographic Services Guide is a great reference. It contains generalized documentation of how to use standard libraries to initialize and use cryptographic primitives, information that is useful for source code analysis.

Knowledge Articles

ID Name Platform
MASTG-KNOW-0067 CommonCrypto, SecKey and Wrapper libraries platform:ios
MASTG-KNOW-0069 Key Management platform:ios
MASTG-KNOW-0066 CryptoKit platform:ios
MASTG-KNOW-0068 Cryptographic Third-Party libraries platform:ios
MASTG-KNOW-0070 Random Number Generator platform:ios