License OpenSSL (OpenSSL/SSLeay)
Platforms ios 8.0, osx 10.8

OpenSSL CocoaPod which vends pre-built frameworks for iOS and OSX.


This is a wrapper which builds off of work done by others. The original comes from and
includes work done by @jcavar to build proper
frameworks. I have repackaged that work as a CocoaPod such that OpenSSL can be used by
macOS and iOS projects requiring frameworks.

Please see the Reference section below for more details.


This will build the framework to support the following architectures and platforms:

  • iOS Simulator

    • i386
    • x86_64
  • iOS SDK

    • armv7
    • armv7s
    • arm64
  • macOS SDK
    • x86_64

Please note that as of OpenSSL version 1.0.2.p this build uses Xcode 10+ which made the i386 (32 bit) architecture unavailable, so the i386 architecture is not built for macOS. macOS 10.6.8 or above can run 64-bit, so not building the i386 (32 bit) architecture has minor impact.


Simply add GRKOpenSSLFramework to your podfile:

pod 'GRKOpenSSLFramework'


While the repository does contain the pre-built frameworks, if you want to re-build them:


  1. Open in Xcode: OpenSSL/OpenSSL-iOS/OpenSSL-iOS.xcodeproj
  2. Clean Build Folder (Option-Shift-Command-K)
  3. Ensure "Generic iOS Device" is the selected build target.
  4. Build
  5. Use the ./ valid ios command to validate the built framework.
  6. Result is located: OpenSSL/OpenSSL-iOS/bin/openssl.framework


  1. Open in Xcode: OpenSSL/OpenSSL-macOS/OpenSSL-macOS.xcodeproj
  2. Clean Build Folder (Option-Shift-Command-K)
  3. Build
  4. Build again. This seems to be needed for the build to produce all the needed artifacts.
  5. Use the ./ valid macos command to validate the built framework.
  6. Result is located: OpenSSL/OpenSSL-macOS/bin/openssl.framework

Updating OpenSSL Version

The build scripts and projects are all tailored for the 1.0 series of OpenSSL, so if you’re attempting to use a different series you might run into some issues.

  1. Download the source tarball from
  2. Download the PGP sig as well, and validate the tarball’s signature.
  3. Place the downloaded file in this directory.
  4. Update the OPENSSL_VERSION value in the
  5. Clean, using the ./ clean command.
  6. Build, using the ./ build command.
  7. Follow the steps outlined in "Building" (above).



This work is licensed under the OpenSSL (OpenSSL/SSLeay) License.
Please see the included LICENSE.txt for complete details.


A professional iOS engineer by day, my name is Levi Brown. Authoring a blog, I am reachable via:

Twitter @levigroker
Email [email protected]

Your constructive comments and feedback are always welcome.

Latest podspec

    "name": "GRKOpenSSLFramework",
    "module_name": "openssl",
    "version": "",
    "summary": "OpenSSL for iOS and OS X",
    "description": "OpenSSL Framework binaries.",
    "homepage": "",
    "license": {
        "type": "OpenSSL (OpenSSL/SSLeay)",
        "file": "LICENSE.txt"
    "source": {
        "git": "",
        "tag": ""
    "authors": {
        "Levi Brown": "[email protected]"
    "ios": {
        "pod_target_xcconfig": {
            "ENABLE_BITCODE": "YES"
        "vendored_frameworks": "OpenSSL-iOS/bin/openssl.framework"
    "osx": {
        "pod_target_xcconfig": {
            "ENABLE_BITCODE": "NO"
        "vendored_frameworks": "OpenSSL-macOS/bin/openssl.framework"
    "platforms": {
        "ios": "8.0",
        "osx": "10.8"

Pin It on Pinterest

Share This