在ubuntu环境下执行openssl编译和安装

参考链接

  • 工具系列 | Ubuntu18.04安装Openssl-1.1.1_Tinywan的技术博客_51CTO博客
  • 密码学专题 openssl编译和安装_MY CUP OF TEA的博客-CSDN博客_openssl 编译安装

下载

  • /source/index.html

编译

  • 使用命令sudo tar -xvzf openssl-1.1.1q.tar.gz 解压。
  • 使用cd openssl-1.1.1q/进入目录
  • 使用./config生成MakeFile,不加任何参数,默认的安装位置为:/usr/local/bin/openssl

  • 使用 make 进行编译
  • 不放心的话可以使用make tset检查一下(可选步骤)
  • 使用sudo make install进行安装,这里一定要选择root用户的权限执行。 

 备份与替换

  • 到上一步openssl就算安装好了,但是还无法使用,需要通过软链接的方式将新旧版本就行替换,依次运行下列命令。

  •  sudo mv /usr/bin/openssl /usr/bin/openssl.old    //将旧版本的openssl进行备份
  • sudo ln -s /usr/local/bin/openssl /usr/bin/openssl    //将新版本的openssl进行软链接
  • cd /etc/   //进入etc目录
  • su     //下一步一定要切换到root用户
  • echo "/usr/local/lib" >> ld.so.conf    //将openssl的安装路径加入配置中
  • ldconfig  //重新加载配置
  • 使用openssl进行验证

补充

  • 使用clion编写代码,测试是否可以引入openssl的库文件
  • 参考链接
  • clion中链接openssl库_MY CUP OF TEA的博客-CSDN博客_clion openssl
  • 使用开源的openssl的md5头文件,实现对于文件的md5代码_MY CUP OF TEA的博客-CSDN博客

代码 

#include "openssl/md5.h"
#include <iostream>
#include <fstream>
#include <iomanip>//#define MAX_DATA_BUFF = 1024;
//#define MD5_LENGTH = 16
char* get_file_md5(const char * path){char *out = (char *)malloc(33); //输出std::ifstream file(path,std::ios::in|std::ios::binary);//打开文件unsigned char MD5_result[16];do {if(file.fail()){std::cout<<"open file failure!"<<std::endl;break;}MD5_CTX md5_ctx;MD5_Init(&md5_ctx);char data_Buff[1024];while (!file.eof()){file.read(data_Buff,1024);//读取文件int length = file.gcount();if (length){MD5_Update(&md5_ctx,data_Buff,length);//将当前文件加入并且更新MD5}}MD5_Final(MD5_result,&md5_ctx); //获取MD5for (int i = 0; i < 16; i++) {  //将md5以16进制输出snprintf(&(out[i*2]),16*2,"%02x",(unsigned int)MD5_result[i]);}}while (false);return out;
}int main(){std::string original_backup_file = "/home/chy-cpabe/test.txt";char *output = get_file_md5(original_backup_file.c_str());//original_backup_file为文件的名字std::cout << "md5:"<< output << std::endl;free(output);
}

  •  将执行结果和使用命令行计算得到的结果进行对比验证

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/445914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome 使用gpu 加速_一招解决 Chrome / Edge 卡顿缓慢 让浏览器重回流畅顺滑

最近一段时间,我发现电脑上的 Chrome 谷歌浏览器越用越卡了。特别是网页打开比较多,同时还有视频播放时,整个浏览器的响应速度都会变得非常缓慢,视频也会卡顿掉帧。 我用的是 iMac / 32GB 内存 / Intel 四核 i7 4Ghz CPU,硬件性能应该足以让 Chrome 流畅打开几十个网页标签…

CLion运行程序时添加命令行参数 即设置argv输入参数

参考链接 CLion运行程序时添加命令行参数_三丰杂货铺的博客-CSDN博客_clion命令行参数 操作流程 Run -> Edit -> Configuration -> Program arguments那里添内容最快捷的方式是&#xff0c;点击锤子编译图标和运行图标之间的的图标&#xff0c;进行Edit Configurati…

python的userlist_Python Collections.UserList用法及代码示例

Python列表是array-like数据结构&#xff0c;但与之不同的是它是同质的。单个列表可能包含数据类型&#xff0c;例如整数&#xff0c;字符串以及对象。 Python中的列表是有序的&#xff0c;并且有一定数量。根据确定的序列对列表中的元素进行索引&#xff0c;并使用0作为第一个…

解决 SSL_CTX_use_certificate:ca md too weak:ssl/ssl_rsa.c 问题

报错原因分析 原因是openssl调整了安全级别&#xff0c;要求ca具备更高等级的安全&#xff0c;因此先前发布的证书&#xff0c;如果采用了不安全的算法&#xff0c;比如MD5&#xff0c;就会显示上述这个错误 解决办法 重新生成证书&#xff0c;先前证书弃用使用函数 SSL_CTX_…

向上滚动 终端_ubuntu

Ubuntu终端Terminal常用快捷键Ubuntu终端Terminal常用快捷键 快捷键 功能 Tab 自动补全 Ctrla 光标移动到开始位置 Ctrle 光标移动到最末尾 Ctrlk 删除此处至末尾的所有内容 Ctrlu 删除此处至开始的所有内容 Ctrld 删除当前字符 Ctrlh 删除当前字符前一个字符 Ctrlw 删除此处到…

openssl实现双向认证教程(服务端代码+客户端代码+证书生成)

参考链接 openssl实现双向认证教程&#xff08;服务端代码客户端代码证书生成&#xff09;_huang714的博客-CSDN博客_ssl_ctx_load_verify_locations基于openssl实现https双向身份认证及安全通信_tutu-hu的博客-CSDN博客_基于openssl实现 注意事项 openssl版本差异很可能导致程…

python用pip安装pillow_cent 6.5使用pip安装pillow总是失败

python:2.7.8阿里云cent os32位virtualenvvirtualenvwrapper之前有一个virtualenv不知道怎么回事成功装上了pillow之后再在别的virtualenv装就全都报错这是为什么 太奇怪了?下载whl安装&#xff0c;不管哪个版本都说不支持这个系统。imaging.c:3356: error: expected ?.?. ?…

基于openssl和国密算法生成CA、服务器和客户端证书

参考链接 国密自签名证书生成_三雷科技的博客-CSDN博客_国密证书生成openssl采用sm2进行自签名的方法_dong_beijing的博客-CSDN博客_openssl sm 前提说明 OpenSSL 1.1.1q 5 Jul 2022 已经实现了国密算法查看是否支持SM2算法openssl ecparam -list_curves | grep -i sm2参考…

h5获取http请求头_React 前端获取http请求头信息

背景&#xff1a;前端通过react渲染页面&#xff0c;使用了react-slingshot&#xff0c;相当于是前端跑在一个node服务上面需求&#xff1a;需要通过客户端通过HTTP请求传递来的参数(header里放了token)进行用户权限的验证,比如访问http://localhost:3000/rights/1&#xff0c;…

基于Gmssl库静态编译,实现服务端和客户端之间的SSL通信

前情提要 将gmssl库采取静态编译的方式&#xff0c;存储在/usr/local/gmssl路径下&#xff0c;核心文件涵盖 include、lib和bin等Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本_MY CUP OF TEA的博客-CSDN博客 代码 server #include <stdio.h> #include <stdlib.h&g…

禅道备份功能_更新禅道燃尽图及数据备份

Last login: Fri May 29 13:52:16 on ttys000mazhenguodeMacBook-Pro:~ mazhenguo$ ssh root192.168.1.2 //登录服务器root192.168.1.2’s password: //输入服务器密码Last login: Fri May 29 13:52:20 2015 from 192.168.1.251[rootmazhenguo ~]# cd /home/app/192.168.1.2/ze…

基于SM2证书实现SSL通信

参考链接 ​​​​​基于openssl和国密算法生成CA、服务器和客户端证书_MY CUP OF TEA的博客-CSDN博客基于上述链接&#xff0c;使用国密算法生成CA、服务器和客户端证书&#xff0c;并实现签名认证openssl实现双向认证教程&#xff08;服务端代码客户端代码证书生成&#xff…

列宽一字符等于多少厘米_Excel中行高与列宽单位和厘米的转换

Excel中行高、列宽尺寸的换算一、先说明一下度量单位的相互换算关系&#xff1a;磅&#xff1a;指打印的字符的高度的度量单位。1 磅近似等于 1/72 英寸&#xff0c;或大约等于 1/28.35 厘米。英寸&#xff1a;1英寸近似等于 2.54 厘米。像素&#xff1a;与显示解析度有关&…

使用Clion软件实现基于国密SM2-SM3的SSL安全通信

参考链接 Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本_MY CUP OF TEA的博客-CSDN博客CLion运行程序时添加命令行参数 即设置argv输入参数_MY CUP OF TEA的博客-CSDN博客基于SM2证书实现SSL通信_MY CUP OF TEA的博客-CSDN博客基于Gmssl库静态编译&#xff0c;实现服务端和客…

基于GmSSL实现server服务端和client客户端之间SSL通信代码(升级优化公开版)

参考链接 工程搭建介绍 Ubuntu安装GmSSL库适用于ubuntu18和ubuntu20版本_MY CUP OF TEA的博客-CSDN博客CLion运行程序时添加命令行参数 即设置argv输入参数_MY CUP OF TEA的博客-CSDN博客基于SM2证书实现SSL通信_MY CUP OF TEA的博客-CSDN博客基于Gmssl库静态编译&#xff0c…

easyui 表头合并_JQuery EasyUI DataGrid动态合并(标题)单元) 一

JS&#xff1a;/*** EasyUI DataGrid根据字段动态合并单元格* param fldList 要合并table的id* param fldList 要合并的列,用逗号分隔(例如&#xff1a;"name,department,office");*/function MergeCells(tableID, fldList) {var Arr fldList.split(",");…

openssl 密码套件相关内容(OID|密码套件)

参考链接 SSL通信双方如何判断对方采用了国密 - Bigben - 博客园滑动验证页面 OpenSSL TLS1.2密码套件推荐安全的TLS协议 | Hexo OID OID是由ISO/IEC、ITU-T国际标准化组织上世纪80年代联合提出的标识机制&#xff0c;其野心很大&#xff0c;为任何类型的对象&#xff08;包…

墨刀可以导入文件吗_墨刀和Sketch擦出的火花

墨刀开发的Sketch插件终于从内测中脱壳而出了&#xff0c;可以将Sketch中的Artboard直接导入墨刀中&#xff0c;然后进行交互操作(页面跳转)的链接设置。一时手痒&#xff0c;赶紧试了试&#xff0c;也把使用过程和感受分享给大家。(然而非要拖到周一才发)使用条件1)有Mac(因为…

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

前情提要 openssl和gmssl如果想要共存&#xff0c;只能一个是动态库&#xff0c;一个是静态库配置openssl和gmssl无特定的编译顺序要求openssl3.x版本是未来趋势&#xff0c;openssl1.1.x等版本只是适用于基础软件包&#xff0c;后期将会删除配置文件 /etc/ld.so.conf文件只用…

thymeleaf动态选中select_一些LowPoly动态渐变效果实现

这篇文章根大家分享一些LowPoly动态效果的制作方法&#xff0c;由于使用的是uv采样方式效率很高&#xff0c;手机也可以随意使用&#xff0c;我们先来看一些效果的参考 本文将在Unity3D中还原这些效果,如果你学会后当然可以在你喜欢的引擎中实现~如果一篇太长有可能会分多篇&am…