20191214--OpenSSL编译安装和编程基础(基于openeuler)

购买华为云服务器

 

 

 

OpenSSL编译安装

下载最新版本OpenSSL 1.1.1k的源码openssl-1.1.1k.tar.gz,然后把代码上传到openEuler云服务器中

https://www.openssl.org/source/openssl-1.1.1k.tar.gz

这里使用wget命令直接下载

建立两个文件夹,分别放置OpenSSL的源码和安装路径
运行pwd,知道绝对路径

mkdir rocopensslsrc rocopenssl

cd rocopenssl

pwd

解压源代码到rocopensslsrc文件夹:

tar -zxvf openssl-1.1.1k.tar.gz -C rocopensslsrc

配置编译安装路径(/root/rocopenssl),和openEuler系统默认的不同。

(这里不小心把rocopenssl写成recopenssl,后面安装目录使用后者)

cd rocopensslsrc/openssl-1.1.1k

./config --prefix=/root/recopenssle

编译

make

安装

make install

查看安装后的版本,确定是最新安装的1.1.1k版:

cd ~/rocopenssl

./bin/openssl version

成功安装

OpenSSL命令的帮助使用openssl help查看

OpenSSL编程

编写一个测试代码test_openssl.c:

编译运行:

输出0

BASE64算法

写一个BASE64的测试代码testbase64.c:

 

 

编译

gcc -o testbase64 testbase64.c -I /root/rocopenssl/include -L /root/rocopenssl/lib -lcrypto -lpthread

执行./testbase64

编写一个test.dat 是个二进制文件

内容是我的学号“20191214”

结果:

实验 3-1:在树莓派上安装 Raspberry Pi OS

无树莓派,略

3.2 实验 3-2:汇编语言练习——查找最大数

代码:

编译

gcc test. -o test -g --static

运行

./test

成功输出最大数

调试

openeuler安装gdb

yum install gdb

调试
gdb --tui ./test

b main 设置断点:

 

输入“r”命令运行 test 程序。

输入“s”进行单步调试。

使用“info reg”命令来查看寄存器的值。

实验 3-3:汇编语言练习——通过 C 语言调用汇编函数

使用汇编语言实现一个汇编函数,用于比较两个数的大小并返回最大值,然后用
C 语言代码调用这个汇编函数。

编写compare.s 和 main.c

编写makefile文件

 

3.4 实验 3-4:汇编语言练习——通过汇编语言调用 C 函数

使用 C 语言实现一个函数,用于比较两个数的大小并返回最大值,然后用汇编代
码调用这个 C 函数。

编写compare.S main.c Makefile

编译运行

实验 3-5:汇编语言练习——GCC 内联汇编

使用 GCC 内联汇编实现一个函数,用于比较两个数的大小并返回最大值,然后
用 C 语言代码调用这个函数

编写compare.c ma.s Makefile

 

编译

运行:

 

posted @ 2021-10-31 21:39  20191214  阅读(117)  评论(0编辑  收藏  举报