Ubuntu配置gmssl和openssl,且均使用动态库,使用时根据需要进行动态切换

前情提要

  • openssl和gmssl如果想要共存,只能一个是动态库,一个是静态库
  • 配置openssl和gmssl无特定的编译顺序要求
  • openssl3.x版本是未来趋势,openssl1.1.x等版本只是适用于基础软件包,后期将会删除
  • 配置文件
  • ubuntu一般使用 # 作为注释
  • 使用配置文件之后,就不需要使用软连接实现可执行文件的调用

下载编译Opensll和Gmssl

通用模板

  • sudo ./config --prefix=/usr/local/XXX --openssldir=/usr/local/XXX
    • 注意事项:删除no-shared,其用于生成静态库
  • sudo make
  • sudo make install

变量说明

 openssl

  • bin
    • /usr/local/openssl/bin
  • lib
    • /usr/local/openssl/lib64

gmssl

  • bin
    • /usr/local/gmssl/bin
  • lib
    • /usr/local/gmssl/lib

配置路径

  • openssl和gmssl不可以共存,使用时需要使用 # 进行注释,实现动态切换
  • 切换后 使用命令 source  /etc/profile实现动态切换
  • openssl比较特殊,因为当前已经存在了openssl1.1.1版本,如果注释掉gmssl,开启openssl,使用openssl version显示的是openssl1.1.1版本,而不是用户自己编译安装的openssl3.0.4,解决办法如下,删除旧有的链接,重新创建新的软连接
    •  sudo mv /usr/bin/openssl /usr/bin/openssl.old    //将旧版本的openssl进行备份
      sudo ln -s /usr/local/bin/openssl /usr/bin/openssl    //将新版本的openssl进行软链接
  • 配置文件只需要制定bin(可执行文件)和lib(动态库),不需要指定头文件,头文件在编译器内部指定(CMakeLists.txt)
  • 参考链接 在ubuntu环境下执行openssl编译和安装_MY CUP OF TEA的博客-CSDN博客_openssl ubuntu
  • 例子
    • # 指定头文件搜索策略
    • include_directories(/usr/local/gmssl/include)

## openssl和gmssl 动态库不能同时使用,需要注释其中一个,且使用 source /etc/profile 更新配置文件
## gmssl env
export PATH=$PATH:/usr/local/gmssl/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmssl/lib

## openssl env
# export PATH=$PATH:/usr/local/openssl/bin
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/openssl/lib64

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值