GMOpenSSL 3.0.8

GMOpenSSL 3.0.8

lifei 维护。



GMOpenSSL 3.0.8

  • 作者
  • lifei

GMOpenSSL

Version License Platform

cocoapods 不支持直接集成 OpenSSL,所以将 OpenSSL 源码编译成一个 framework,并发布到 cocoapods,命名为 GMOpenSSL,方便通过 cocoapods 进行集成。

版本映射

GMOpenSSL 版本 OpenSSL 版本 支持的架构 Bitcode 兼容 iOS 版本
2.2.9 1.1.1q x86_64 arm64 包含 >= iOS 9.0
2.2.4 1.1.1l x86_64 arm64 arm64e armv7 armv7s 包含 >= iOS 8.0

CocoaPods

CocoaPods 是最简单方便的集成方法,编辑 Podfile 文件,添加

pod 'GMOpenSSL'

然后执行 pod install 即可,默认为最新版本。

自定义编译 OpenSSL

如果编译的静态库不能满足需求,可以自行运行脚本进行编译。在项目目录下有一个名为 OpenSSL_BUILD 的文件夹,依次执行 cd 命令切换到当前目录,然后执行./build-libssl.sh,编译结束后再执行./create-openssl-framework.sh,即可看到编译完成的 openssl.framework。如果想使用 XCFramework,将脚本create-openssl-xcframework.sh拖入终端运行即可。

打包完成的静态库未暴露国密的头文件,解压缩 downloaded 的 openssl 压缩包,如 openssl-1.1.1q.tar.gz,将 include/crypto/ 路径下的 sm2.h、sm3.h,sm4.h 都拖到 openssl.framework/Headers 文件夹下即可。

opensslconf.h 头文件的预处理器条件编译末尾做如下修改

# error Unable to determine target or target not included in OpenSSL build

修改为:

# include <openssl/opensslconf_ios_arm64.h>