美文网首页
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静态库编译

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