本篇文章是介绍国密算法在嵌入式设备中应用方法系列文章的第三篇,介绍移植openssl库到嵌入式设备中的具体方法,当然最终的目的还是使我们的设备能支持国密算法。同上一篇文章中介绍的miracl密码库相比,openssl库的应用更加广泛,资料支持度更好,但是代码体量要大于miracl库。需要再次说明的是,同miracl库一样,openssl的库也并不能直接提供国密算法的接口,我们是利用库中相应的API接口(如椭圆曲线等)来构建自己的国密算法,下面我们具体介绍移植的步骤。

第一步 获取库

作为应用广泛的开源密码库,可以轻松获取源码,https://www.openssl.org/source/ ,若是对openssl库的使用不太熟悉,可以借助使用手册来了解用法:

第二步 利用openssl构建SM算法库

我们构建一个新的工程用以实现国密算法,由于linux下通过makefile编译项目的方式不太直观,我们使用windoes环境下VSstudio编译环境来演示。

首先将openssl库的源码添加到工程文件夹的路径下,其次要在代码中增加文件包含,如下图:

编译正确之后,开始着手构建SM算法的源码了,这一部分的代码是基于国密算法的原理,利用openssl库的接口构建的,这需要开发者了解国密算法原理。限于篇幅,本例中仅截取了作者实现的API,如下图:

整体代码完成之后,我们可以选择生动态库或静态库供调用。此外,若是开发者准备在linux环境下使用gcc或某一嵌入式设备指定的编译工具来完成上述操作,则需要完成更多的工作,比较重要的是,开发者需要手动完成整个编译过程,这需要清楚openssl代码库本身的文件依赖关系,这部分内容作者不做更多介绍。

第三步 将生成的库添加到个人的设备代码中

在上一步中,作者成功完成了国密SM2(对称算法)的动态库制作,如下图:

为了便于介绍,作者整体的库制作过程和测试过程都是在windows环境下完成的,此处生成的.dll动态库也仅能在windows pc下运行。若是开发者在linux环境下完成上述操作,则应该生成.so为后缀的动态库文件,才能成功的添加到嵌入式设备中运行。

这一步代码的实现要根据各自嵌入式硬件设备的特点来实现,在这里不做过多介绍!

嵌入式设备中支持国密算法的方法(三)——移植Openssl库的步骤说明相关推荐

  1. 嵌入式设备中支持国密算法的方法——移植Miracl库的步骤说明

    上一篇文章中我们为大家介绍了嵌入式设备中支持国密算法的几种方法.本篇我们详细的介绍一下第一种方法:移植Miracl库的具体操作步骤. 第一步 获取源码 MIRACL密码库是开源软件,可以直接到官网下载 ...

  2. 嵌入式设备中支持国密算法的方法

    如今国密系列算法的应用已不仅仅局限于金融和电信等领域,诸如车载设备,消费类电子设备等越来越多的产品开始要求有国密算法的支持.但是国密算法的开源资料和应用案例少之又少,如何快速高效的在自己的设备中加入国 ...

  3. miracl实现ecdsa_嵌入式设备中支持国密算法的方法——移植Miracl库的步骤说明

    本篇我们详细的介绍一下:移植Miracl库的具体操作步骤. 第一步 获取源码 MIRACL密码库是开源软件,可以直接到官网下载,也可在csdn等论坛中获取. 第二步 利用MIRACL库函数实现SM2算 ...

  4. 多链路5G组网方案-支持国密算法的5G安全组网方案

    多链路5G组网方案-支持国密算法的5G安全组网方案 乾元通QYT5000多链路5G组网-方案简介 方案摒弃依托单一5G链路组网的方式,充分利用wifi6.光缆等在整体组网中的各自优势,保持了5G的三个 ...

  5. 在达梦数据库上使用密码设备上的国密算法详细操作指南

    达梦数据库目前与山东渔翁的SJK1861-G 5.0密码卡兼容良好,下面详细描述其适配操作步骤. 1.密码卡设备安装 机器断电(彻底拔除电源线)冷却5分钟后,将密码卡设备固定在机箱内的PCI-E插槽里 ...

  6. rsa签名算法实现_国密算法在链化未来区块链中的运用

    密码学是区块链的基础,区块链中大量采用了密码学算法,包括对称加密,非对称加密,单向散列算法,数字签名等技术. 为了实现密码学技术的自主可控,中国也定义了自己的国密标准,2020年央行颁布的<金融 ...

  7. 堡垒机应用发布服务器是干嘛的_支持Web UI数据库审计和敏感数据国密算法加密,JumpServer堡垒机v2.5.0发布丨Release Notes...

    11月18日,JumpServer开源堡垒机正式发布v2.5.0版本.该版本的新增功能包括:支持Web UI数据库审计(X-Pack增强包内).支持敏感数据国密算法加密.新增克隆创建.新增高危命令告警 ...

  8. 基于https国密算法构建安全数据传输链路

    网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器 大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站 ...

  9. 阿里云CDN不止于加速:基于https国密算法构建安全数据传输链路

    网络数据安全得到前所未有的重视 HTTPS成为解决传输安全问题利器 大家都知道,HTTP 本身是明文传输的,没有经过任何安全处理,网站HTTPS解决方案通过在HTTP协议之上引入证书服务,完美解决网站 ...

最新文章

  1. Ubuntu 14.04 64bit上安装LNMP环境
  2. 关于全国大学生智能汽车竞赛有关问题的建议
  3. 按属性对自定义对象的ArrayList进行排序
  4. 关于${ctx}拿不到值的问题
  5. PHP+AJAX 投票器功能
  6. Linux下C语言串口应用编程,Linux下串口C语言编程
  7. 形成20位存储单元的物理地址
  8. SpringBoot : BeanFactory
  9. IDEA搭建一个简单的Javaweb项目(二)
  10. SQL Server高级查询之数据库安全管理 第六章节
  11. fw313r手机登录_fw313r路由器设置
  12. 使用Aspose给PDF加密,免受未经授权的访问和内容篡改
  13. vb用计算机解决鸡兔同笼,vb解决鸡兔同笼问题
  14. html图片滚动首尾互联,Flash几张图片首尾连接循环滚动
  15. Promise的含义和用法
  16. <RTL coding的艺术> non-constant expression引出的思考
  17. 宽带升级后,手机能连WiFi,电脑却连不上的解决办法 TC7102WiFi
  18. 查询出生日期到现在的天数
  19. TERMIN汤铭,FE8.1芯片一进四出扩展坞(HUB)集线器芯片。
  20. Excel破解宏密码

热门文章

  1. 漫画:如何求图的最短路径? | 技术头条
  2. 这一次,老罗要干掉微信?
  3. 宣布 Java 8 停止维护后,Oracle 又毙掉了 JavaOne!
  4. 封杀抖音,微博在紧张什么?
  5. 连设计图都不会画,你还想做“系统架构师”?
  6. 012.成型版回声服务器
  7. html显示作者信息,HTML基础 meta name author 添加网页作者的信息
  8. java泛型函数类型推断_为什么javac可以推断用作参数的函数的泛型类型参数?
  9. 从远程服务器拷贝文件命令,远程拷贝文件命令Scp的使用
  10. gin 如何返回html_Gin(三):与模板配合使用 tmpl,go web 开发最火框架之一