CC_crypto(3cc) 3cc CC_crypto(3cc)

Common CryptolibSystem digest library

The libSystem Common Crypto library implements a wide range of cryptographic algorithms used in various Internet standards. The services provided by this library are used by the CDSA implementations of SSL, TLS and S/MIME.

libSystem contains the Common Crypto collection of algorithms. Digest and encryption algorithms contained in this library are optimized for speed. The algorithms have been collected from various sources and chosen for their performance characteristics. Since libSystem is linked into all executables it is preferable for applications to use these functions rather than implementing their own versions.

To use the digest functions with existing code which uses the corresponding openssl functions, #define the symbol COMMON_DIGEST_FOR_OPENSSL in your client code (BEFORE including <CommonCrypto/CommonDigest.h> ).

You can *NOT* mix and match functions operating on a given data type from the two implementations; i.e., if you do a () on a CC_MD5_CTX object, do not assume that you can do an openssl-style () on that same context.

The interfaces to the encryption and HMAC algorithms have a calling interface that is different from that provided by OpenSSL.

The Common Crypto collection of functions started to become available in OS X 10.4 and later.

CC_MD5(3cc), CC_SHA(3cc), CCHmac(3cc), CCCryptor(3cc)

April 5, 2007 macOS 15.2