openssl的安装及使用
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
3.进入解压目录openssl-1.1.1c
, 安装(可参考安装文件INSTALL):
$ ./config
$ make
$ make test (可选)
$ make install (使用管理员权限执行该命令)
4.验证安装是否成功:
$ openssl version -a
openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
动态库找不到
查看: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
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;
}
#输出结果:
md5 value: 33b3bc8e05b4fcc16bd531dd9adac166
如出现如下错误, 参考上述 1.1小结末尾, 将 C:\OpenSSL-Win32\bin 目录配置到系统环境变量中。重新启动 VS ,重新执行即可。
4.2Linux下的使用和测试
- 编程应用程序, 测试代码如上, 文件名为
md5_test.c
- 通过gcc编译源文件
# 使用的动态库: libcrypto.so
$ gcc md5_test.c -o md5 -lcrypto
执行该命令, 需要加载openssl的动态库
- libssl.so
- libcrypto.so
网站声明:
1.本站大部分资源搜集于网络,仅代表作者观点,如有侵权请提交修改。
2.网站内容仅网站站长做个人学习摘记,任何人不得用于其他商业用途,网站发表的内容全权归原作者所有。
3.有任何疑问,可以点击右侧边栏的联系QQ进行咨询
4.本网站部分内容来自于其他网站平台的,版权归原网站所有,本网站只作信息记录,自己学习使用,特此申明,本站用户也不得使用此信息内容做其他商业用途。
白丁学者 » openssl的安装及使用
白丁学者 » openssl的安装及使用