Code Monkey home page Code Monkey logo

openssl's Introduction

OpenSSL-Universal

OpenSSL CocoaPods, Carthage and Swift Package Manager package for iOS and macOS. Complete solution to OpenSSL on iOS and macOS. Package comes with precompiled libraries, and includes a script to build newer versions if necessary.

Current version contains binaries built with latest iOS SDK (target 7.0), and latest macOS SDK (target 10.10) for all supported architectures (including macOS Catalyst).

Support

It takes some time to keep it all for your convenience, so maybe spare $1, so I can keep working on that. There are more than 8000 clones daily. If I'd get $1/month from each company that uses my work here, I'd say we're even. Hurry up, find the Sponsorship button, and fulfill your duty.

Architectures

  • iOS with architectures: armv7, armv7s, arm64 + simulator (x86_64, arm64)
  • macOS with architectures: x86_64, arm64 (including Catalyst target)

Output Formats

Why?

Apple says: "Although OpenSSL is commonly used in the open source community, OpenSSL does not provide a stable API from version to version. For this reason, although OS X provides OpenSSL libraries, the OpenSSL libraries in OS X are deprecated, and OpenSSL has never been provided as part of iOS."

Installation

Build

You don't have to use pre-built binaries I provide. You can build it locally on your trusted machine.

$ git clone https://github.com/krzyzanowskim/OpenSSL.git
$ cd OpenSSL
$ make

The result of a build process is put inside Frameworks directory.

Hardened Runtime (macOS) and Xcode

Binary OpenSSL.xcframework (Used by the Swift Package Manager package integration) won't load properly in your app if the app uses Sign to Run Locally Signing Certificate with Hardened Runtime enabled. It is possible to setup Xcode like this. To solve the problem you have two options:

  • Use proper Signing Certificate, eg. Development <- this is the proper action
  • Use Disable Library Validation aka com.apple.security.cs.disable-library-validation entitlement

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/krzyzanowskim/OpenSSL.git", .upToNextMinor(from: "1.1.1700"))
]

CocoaPods

pod 'OpenSSL-Universal'

Carthage

  • If building from source is preferred:
github "krzyzanowskim/OpenSSL"
  • If using a prebuilt framework is preferred:
binary "https://raw.githubusercontent.com/krzyzanowskim/OpenSSL/master/OpenSSL.json"

Authors

Marcin Krzyżanowski

FAQ etc.

Where can I use OpenSSL-Universal?

These libraries work for both iOS and macOS. It is your prerogative to check. Ask yourself, are you trying to write an app for old devices? new devices only? all iOS devices? only macOS?, etc ::

What is XCFramework?

OpenSSL.xcframework is distributed as a multiplatform XCFramework bundle, for mor information chekout the documentation Distributing Binary Frameworks as Swift Packages

openssl's People

Contributors

acecilia avatar aufflick avatar brianpartridge avatar catlan avatar coeur avatar ctingcter88 avatar darkdust avatar dnpp73 avatar ilammy avatar johnhammerlund avatar justinplouffe avatar krzyzanowskim avatar mangerlahn avatar nibe avatar orfeasz avatar richardtop avatar romick2005 avatar rustymagnet3000 avatar welljsjs avatar yaakov-h avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.