由于iOS的项目用到了RSA算法,OC本身对RSA的支持不够,所以使用了Openssl库的libcrypto.a,首先就需要在MAC编译Openssl库.
这里有几个开源的编译方法可以参考:
1. 编译curl和openssl: https://github.com/jasonacox/Build-OpenSSL-cURL 只支持iOS8-9
2. 只编译Openssl: https://gist.github.com/steipete/ce09ba176a4b8ef66b2d
3. 只编译Openssl: https://github.com/x2on/OpenSSL-for-iPhone 支持iOS7-9
下面以https://github.com/jasonacox/Build-OpenSSL-cURL为例
1. 下载sh文件
下载后的结果如下:
有两个shell脚本文件,build.sh是负责生成curl库和openssl库的,如果只需要openssl库,可以把curl的shell命令去掉,我们只关心openssl的生成
openssl-build.sh就是生成openssl库shell脚本代码,在里面可以自己进行一些参数的设置
比如版本号:下载下来的值是 openssl-1.0.1l,去下载openssl代码时,始终超时下载不成功
所以改成最新的版本号 1.0.2e,下载成功
2. 编译
切换到根目录,直接把build.sh拖入cmd窗口即可
不需要mac,tvOs等的编译可以删除,以及某些不需要的架构
https://github.com/jasonacox/Build-OpenSSL-cURL的shell文档里,iOS支持的最低版本号是iOS8
如果想支持iOS7,修改后,在编译是会出现以下的错误
表示不支持iOS7.
所以使用https://github.com/x2on/OpenSSL-for-iPhone里的例子来编译,生成支持最低iOS7版本的库