首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

在Linux下安装GmSSL

  • 23-09-19 13:43
  • 4465
  • 11853
blog.csdn.net

本文属于《GmSSL国密加密算法库使用系列教程》之一,欢迎查看其它文章。

在Linux下安装GmSSL

  • 一、关于GmSSL
  • 二、解决与系统OpenSSL冲突的问题
  • 三、GmSSL源码准备
  • 四、编译与安装GmSSL
    • 1、解压并进入目录
    • 2、编译选项
    • 3、编译
    • 4、安装
    • 5、配置环境变量

一、关于GmSSL

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

GmSSL项目由北京大学关志副研究员的密码学研究组开发维护,项目源码托管于GitHub。自2014年发布以来,GmSSL已经在多个项目和产品中获得部署与应用,并获得2015年度“一铭杯”中国Linux软件大赛二等奖(年度最高奖项)与开源中国密码类推荐项目。GmSSL项目的核心目标是通过开源的密码技术推动国内网络空间安全建设。

以上内容摘抄自GmSSL官网:http://iyenn.com/index/link?url=http://gmssl.org/

大家都知道OpenSSL,主要是提供国际加密算法库。但是在最新的OpenSSL 1.1.1以上版本,已经对国密算法提供了支持。

OpenSSL、GmSSL这俩提供的国密算法库,去看了下代码,代码实现是不一样的,属于条条大路通罗马。

二、解决与系统OpenSSL冲突的问题

GmSSL是支持国密算法和标准的OpenSSL分支,也就是说GmSSL是在OpenSSL代码基础上添加的国密算法。

因此为了兼容OpenSSL,GmSSL编译后生成的so文件名称与OpenSSL一致,都是libcrypto.so。

可能存在的问题:

Linux上很多软件都依赖于系统中的OpenSSL库。若你编译安装的GmSSL版本,其基于的OpenSSL分支版本,与系统中的OpenSSL版本不一致,便会产生冲突,很容易导致这些软件不可用。

最简单有效的办法:将GmSSL编译为静态库。

GmSSL命令行工具,以及我们基于该静态库开发的程序,直接内部就集成了GmSSL的二进制码,不需要去查找库了,也就不会与系统中OpenSSL产生冲突。

在安装GmSSL时,安装到指定的目录下,如/usr/local/gmssl,与系统中OpenSSL路径保持独立。

这样,即从文件路径和运行时,两方面保证了GmSSL与OpenSSL不会冲突,并保持使用上的相互独立性。这的确是最完美的解决办法。

三、GmSSL源码准备

下载GmSSL源码:http://iyenn.com/index/link?url=https://github.com/guanzhi/GmSSL

在这里插入图片描述

四、编译与安装GmSSL

以下测试环境为Ubuntu 16.04。

1、解压并进入目录

解压源码

unzip GmSSL-master.zip
  • 1

进入源码目录

cd GmSSL-master/
  • 1

2、编译选项

配置安装路径,编译为静态库

./config --prefix=/usr/local/gmssl --openssldir=/usr/local/gmssl no-shared
  • 1

注:–prefix表示安装路径;no-shared 表示只编译静态库;默认生成64位库。
此条命令若出错,可参考http://iyenn.com/rec/291976.html,修改Configure、test/build.info文件后,即可解决。

3、编译

make
  • 1

4、安装

make install
  • 1

若报错:

Cannot create directory /usr/local/gmssl: No such file or directory
  • 1

是因为当前用户无权限对该路径进行写入。

再次执行如下,即可解决。

sudo make install
  • 1

GmSSL安装目录如下:

在这里插入图片描述

5、配置环境变量

在~/.bashrc文件中,添加GmSSL命令行工具路径。

vim ~/.bashrc
  • 1

在文件末尾追加如下内容:

export PATH=$PATH:/usr/local/gmssl/bin
  • 1

然后执行

source ~/.bashrc
  • 1

输入命令,查看GmSSL版本

gmssl version -a
  • 1

在这里插入图片描述

在这里插入图片描述

并且与OpenSSL不冲突,至此,GmSSL安装完毕。



若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

在这里插入图片描述

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux34471 人正在系统学习中
注:本文转载自blog.csdn.net的百里杨的文章"https://blog.csdn.net/zyhse/article/details/112350363"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top