• Stars
    star
    870
  • Rank 50,567 (Top 2 %)
  • Language
    C
  • License
    Other
  • Created over 10 years ago
  • Updated 14 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OpenSSL package for SwiftPM, CocoaPod, and Carthage, multiplatform

OpenSSL-Universal

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

The current version contains binaries built with the latest iOS SDK (target 9.0), and the latest macOS SDK (target 3) for all supported architectures (including macOS Catalyst).

Support & Sponsors

The financial sustainability of the project is possible thanks to the ongoing contributions from our GitHub Sponsors

Premium Sponsors

Emerge Tools is a suite of revolutionary products designed to supercharge mobile apps and the teams that build them.

emerge-tools-black

Architectures

  • iOS with architectures: 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 the 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 more information checkout the documentation Distributing Binary Frameworks as Swift Packages

More Repositories

1

CryptoSwift

CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift
Swift
10,024
star
2

Natalie

Natalie - Storyboard Code Generator (for Swift)
Swift
1,171
star
3

STTextView

Performant and reusable macOS text view component (TextKit2), with line numbers and more. NSTextView replacement.
Swift
861
star
4

ObjectivePGP

ObjectivePGP is an open-source library for iOS and macOS that provides developers with tools for implementing OpenPGP encryption and decryption, digital signing, and signature verification in their applications, thereby enhancing security and data integrity.
Objective-C
659
star
5

OnlineSwiftPlayground

Online Swift Playground
Swift
239
star
6

CoreTextSwift

CoreText Swift bindings
Swift
147
star
7

NSTableView-Sections

NSTableView with sections (similar to UITableView)
Swift
89
star
8

SwiftUI.TextEdit

SwiftUI proof-of-concept text edit component
Swift
86
star
9

JSONCodable

JSON Codable is what we need 90% of the time
Swift
75
star
10

unnetpgp

*Deprecated* NetPGP wrapper. Use ObjectivePGP
C
67
star
11

reorder

Reorder Swift functions
Swift
58
star
12

SwiftUI.AnimatedImage

SwiftUI AnimatedImage View
Swift
56
star
13

SwiftUI.SplitView

Swift
46
star
14

RepetitiveTask

Swift
40
star
15

tree-sitter-xcframework

binary build of tree-sitter for apple platforms
C
37
star
16

GeneratedResults-UITableView

Practical Swift: pages generator - build once, use many
Swift
36
star
17

BoyerMoore

Boyer-Moore algorithm sample
Swift
36
star
18

STTextView-Plugin-Neon

Source Code Syntax Highlighting
Swift
19
star
19

STTextKitPlus

Collection of TextKit 2 helpers used to build STTextView.
Swift
16
star
20

MKDataScanner

NSScanner for NSData and files.
Objective-C
16
star
21

antlr-swift-playground

Antlr Swift Parser playground
Swift
14
star
22

CollectionSafeIndex

Get the element at the specified index only if it is within bounds, otherwise nil
Swift
11
star
23

CoreTextWorkshop

Take a look at the CoreText API - a foundation of layout and drawing text on macOS and iOS. In this workshop we’ll attempt to build Text Label (akin UILabel), learn about layers of CoreText API and how to use it.
Swift
10
star
24

AES256CBC

Most convenient AES256-CBC encryption for Swift 2 & 3
Swift
8
star
25

RawData

Swift RawData CollectionType
Swift
7
star
26

TouchImageView

iOS UIImageView with convenient touch delegate
Objective-C
6
star
27

Kitura-Session-Kuery

Kitura-Session store using Swift-Kuery (SQL database abstraction layer) as the backing store
Swift
6
star
28

CloudKitWebServices

CloudKit Web Services framework for everyone else...
6
star
29

language-server-protocol

Language Server Protocol
Swift
6
star
30

CodeEditView

custom text view implementation
Swift
5
star
31

Google1Password

1Password integration for Google sign-in view.
Objective-C
5
star
32

STTextView-Plugin-Template

Template Plugin repository for STTextView
Swift
5
star
33

STTextView-Plugin-Annotations

Annotations Plugin
Swift
4
star
34

ChorusBirdie

Birdie singing songs game. SwiftCrunch hackathon project. Created over few hours from zero.
Swift
3
star
35

OpenSSL-Package

OpenSSL package for SwiftPM
Swift
3
star
36

monaco-editor-vue-component

MonacoEditor component for Vue.js
Vue
2
star
37

AppleRadar-FileProviderEnumeratorNotificationSample

NSFileProviderManager.signalEnumerator does not trigger update of UIDocumentBrowserViewController
Swift
2
star
38

GNUGadu

GNU Gadu is instant messaging client designed to work with protocols common in Poland (but not only). Contrary to its name, is not part of the GNU project.
C
2
star
39

MKScrollView

Alternative to UIScrollView. Proof of concept implementation.
Objective-C
1
star