美文网首页
iOS平台GmSSL静态库编译

iOS平台GmSSL静态库编译

作者: 一抹淡季 | 来源:发表于2019-08-14 21:34 被阅读0次

GmSSL是一个开源的密码工具箱,是OpenSSL项目的分支,并与OpenSSL能够保持接口兼容。因近期项目中需要使用GmSSL加密算法进行数据加密,因此结合相关资料及GmSSL官方提供的编译方法,着手编译了iOS静态库。现将编译过程及遇到的问题总结如下。

1. GmSSL简介

GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。

2. 源码编译

  • 获取源码
   $ git clone https://github.com/guanzhi/GmSSL.git
  • 支持的编译选项
    进入到项目目录,通过 Configure命令我们可以查看一下支持的平台,iOS平台的支持armv7、armv7s、arm64,其中ios64-cross 支持的架构为arm64iphoneos-cross支持的架构为armv7,armv7sdarwin64-x86_64-cc支持的架构为x86_64,darwin-i386-cc支持的架构为i386
$ ./Configure 
GmSSL支持的平台
  • 生成编译文件
    以编译armv7s架构为例,加入编译选项
$ ./Configure iphoneos-cross
  • 修改Makefile文件
    • 查找CC=开头文件,将改路径修改为xcode的XcodeDefault.xctoolchain路径+/usr/bin/clang -arch 架构(armv7,armv7s,arm64,x86_64,i386,)形式
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 
  • 查找-isysroot,修改

相关文章

  • iOS 使用Gmssl实现SM2证书签名验签

    如果没有编译gmssl,可以看下: iOS 编译Gmssl 编译好iOS可以用的Gmssl静态库之后,需要在Gms...

  • iOS平台GmSSL静态库编译

    GmSSL是一个开源的密码工具箱,是OpenSSL项目的分支,并与OpenSSL能够保持接口兼容。因近期项目中需要...

  • Gmssl编译ios静态库

    1.github下载最新版本Gmssl 2.在MacOS系统下CD进入下载的Gmssl文件夹(一般下载为zip文件...

  • Mac下交叉编译iOS端静态库(.a)

    实际开发过程中,遇到编译iOS库时,用到的第三方静态库不是iOS平台的,因此需要自己编译静态库使用。下载第三库的源...

  • [稀土掘金日报] 神秘的iOS 干货库

    神秘的iOS 网络库 Pitaya 发布 1.0 (Swift) 还有Mac 平台反编译软件的静态反编译效果很强。...

  • assimp iOS/OSX 编译步骤

    花了大半天的时间,终于搞定了两个平台的编译,并输出静态库一、assimp 编译到 iOS 平台 1、下载源码htt...

  • 创建静态库

    iOS深入学习(创建静态库static library) 库包含静态库和动态链接库,他们之间区别是:静态库可以编译...

  • iOS静态库和动态库的区别

    iOS开发中静态库和动态库区别: 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程...

  • iOS静态库和动态库的使用

    iOS开发中静态库和动态库区别 静态库和动态库是相对编译期和运行期的:静态库在程序编译时会被链接到目标代码中,程序...

  • iOS静态库及动态库

    2018-06-19 浅析静态库链接原理编译原理以及什么是静态库和动态库 转之: iOS 静态库和动态库(库详解)...

网友评论

      本文标题:iOS平台GmSSL静态库编译

      本文链接:https://www.haomeiwen.com/subject/bttauqtx.html