当前位置:   article > 正文

openssl的安装及使用_opensll bin文件解包

opensll bin文件解包

1Windows下安装OpenSSL

下载地址:http://slproweb.com/products/Win32OpenSSL.html

以下为win32版本安装为例,安装步骤如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
恭喜,OpenSSL安装完成。
将安装目录下的bin添加到系统环境变量中,以便访问
在这里插入图片描述

2Linux下安装OpenSSL

1.下载安装包, 下载地址: https://www.openssl.org/source/
2.源码安装包解压缩

  • openssl-1.1.1c.tar.gzip 解压:
$ tar zxvf openssl-1.1.1c.tar.gzip
# 加压完成得到目录: openssl-1.1.1c
  • 1
  • 2

3.进入解压目录openssl-1.1.1c, 安装(可参考安装文件INSTALL):

$ ./config
$ make
$ make test 		(可选)
$ make install	 (使用管理员权限执行该命令)
  • 1
  • 2
  • 3
  • 4

4.验证安装是否成功:

$ openssl version -a
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
  • 1
  • 2

动态库找不到
查看:https://blog.csdn.net/bigfaceCatzzZ/article/details/104565225

执行命令,正确的输出结果:

$ openssl version -a
OpenSSL 1.1.1c  28 May 2019
built on: Fri May 31 03:54:40 2019 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/lib/engines-1.1"
Seeding source: os-specific
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

3VS中使用OpenSSL

打开VS, 创建一个空的控制台应用程序
在这里插入图片描述
设置项目属性, 打开项目的属性面板
在这里插入图片描述
添加openssl头文件目录
在这里插入图片描述
选择安装目录下的 include目录, 里边存储了openssl的头文件
在这里插入图片描述
添加openssl的库目录
在这里插入图片描述
配置完毕
在这里插入图片描述

4测试

4.1VS中相关设置

打开项目属性窗口, 添加openssl相关的库到项目中

项目属性 -> 链接器 -> 输入 -> 附件依赖项

  • libssl.lib
  • libcrypto.lib

在这里插入图片描述

测试代码如下:

#define _CRT_SECURE_NO_WARNINGS
#include <openssl/md5.h>		// md5 头文件
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void getMD5(const char* str, char* result)
{
	MD5_CTX ctx;
	// 初始化
	MD5_Init(&ctx);
	// 添加数据
	MD5_Update(&ctx, str, strlen(str));
	// 计算结果
	unsigned char md[16] = { 0 };
	MD5_Final(md, &ctx);
	for (int i = 0; i < 16; ++i)
	{
		sprintf(&result[i * 2], "%02x", md[i]);
	}
}

int main()
{
	char result[33] = { 0 };
	getMD5("hello, md5", result);
	printf("md5 value: %s\n", result);
	system("pause");
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

#输出结果:
md5 value: 33b3bc8e05b4fcc16bd531dd9adac166

如出现如下错误, 参考上述 1.1小结末尾, 将 C:\OpenSSL-Win32\bin 目录配置到系统环境变量中。重新启动 VS ,重新执行即可。
在这里插入图片描述

4.2Linux下的使用和测试

  1. 编程应用程序, 测试代码如上, 文件名为 md5_test.c
  2. 通过gcc编译源文件
# 使用的动态库: libcrypto.so
$ gcc md5_test.c -o md5 -lcrypto
执行该命令, 需要加载openssl的动态库
	- libssl.so
	- libcrypto.so
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/197937
推荐阅读
相关标签
  

闽ICP备14008679号