实验一 密码引擎-1-OpenEuler-OpenSSL编译

1. 下载最新的OpenSSL源码
2. 用自己的8位学号建立一个文件夹,cd 你的学号,用pwd获得绝对路径
3. 参考https://www.cnblogs.com/rocedu/p/5087623.html先在Ubuntu中完成OpenSSL编译安装,然后在OpenEuler中重现
        ./config  --prefix=..(学号目录的绝对路径)指定OpenSSL编译链接
4. 提交 test_openssl.c 编译运行截图        
5. 加分项:在Windows中编译OpenSSL,记录编译过程,提交相关文档(推荐MarkDown格式)

 注:我的ubuntu用的是wsl(其实这个时候可以选择使用老师给的openssl-master也可以使用原来wsl自带的openssl)。

以下我使用老师提供的openssl-master:

 已知老师为我们提供了openssl-master.zip,首先我们可以解压缩到新创的20181217文件夹。

在wsl中的操作:

cd openssl-master 进入刚刚解压缩的文件夹

执行下面的操作:

./configure

make

sudo make install

这样就安装好了。

安装好了之后,出现的问题及解决:

查看openssl版本时,出错了:
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

 经过上网查询,可知但我们输入这两条指令时,可以成功解决上述问题~

ln -s /usr/local/lib/libssl.so.3 /usr/lib/libssl.so.3
ln -s /usr/local/lib/libcrypto.so.3 /usr/lib/libcrypto.so.3

注意:到底是lib还是lib64需要自己进入文件夹去亲自查看。

再此查看openssl版本时,显示是成功的:

 在ubuntu下编译:

gcc -o to test_openssl.c -I /usr/local/ssl/inlcude -L /usr/local/ssl/lib -ldl -lpthread -lcrypto

 可知编译成功!

在华为云中,同样我们要安装openssl,和在wsl中安装的方式一模一样。(首先,我们要先创建20181217文件夹,然后可以直接把openssl-master.zip包拖到华为云的20181217文件夹下,再进行解压缩~)

出现了和wsl中一样的问题:

[root@ecs-cindy openssl-master]# openssl version  
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

 经过上网查询,可知但我们输入这两条指令时,可以成功解决上述问题~

ln -s /usr/local/lib/libssl.so.3 /usr/lib64/libssl.so.3
ln -s /usr/local/lib/libcrypto.so.3 /usr/lib64/libcrypto.so.3

可知最终编译成功了。

加分项:在Windows中编译OpenSSL,记录编译过程,提交相关文档

CodeBlocks配置openssl

  • 加静态库

    (先激活项目)菜单栏->Project->Build Options->Debug->Linker settings->Add 自己openssl安装目录下/lib下所有.lib文件(选择时使用Ctrl+A)

  • 加动态库

    菜单栏->Project->Build Options->Debug->Search directories->Linker->Add 动态库的目录(参考前面安装时的选项,设置后为/bin下)

  • 加头文件

菜单栏->Project->Build Options->Debug->Search directories->Compiler->Add 安装目录/include

测试Base64效果:

2.Virtual Studio 2019实现openssl编译

 eg:实现sm3:

 由此可知windows下openssl编译成功!

原文地址:https://www.cnblogs.com/cindy123456/p/14591433.html