C库OpenSSL安装与VisualStudio配置

目录

OpenSSL主要功能

一、安装OpenSSL

[二 安装](#二 安装)

[三 目录结构(配置)](#三 目录结构(配置))

[四、为Visual Studio2022项目配置OpenSSL](#四、为Visual Studio2022项目配置OpenSSL)


OpenSSL 是一个开源的加密库,广泛用于实现安全通信协议和数据加密。它提供了一系列的加密算法和工具,主要用于以下几个方面:

OpenSSL主要功能

  1. 加密与解密(免杀静态)

    • 支持对称加密和非对称加密算法,如 AES、RSA、DES 等。
  2. 数字证书

    • 提供生成和管理数字证书的功能,支持 X.509 证书标准。
  3. 安全通信协议

    • 实现了 SSL(安全套接层)和 TLS(传输层安全性)协议,用于保护网络通信的安全。
  4. 哈希函数

    • 提供多种哈希函数,如 SHA-256、MD5 等,用于数据完整性校验。
  5. 随机数生成

    • 提供强随机数生成器,确保加密操作的安全性。

一、安装OpenSSL

1.下载OpenSSL

  • Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions可以下载已经编译好的包含 lib 和 include 文件的安装包

    • 有Win32和Win64可选,这里的位数指的是你使用OpenSSL开发出来的软件的位数版本,而不是你计算机的位数。

    • 注意,不要下载 light 版本,因为 light 版本不带 lib 和 include。

  • https://slproweb.com/products/Win32OpenSSL.html

二 安装

  • 我选择安装到C:\Program Files\OpenSSL-Win64目录下,选择把dll复制到OpenSSL目录下方便后续查找路径。
  • 后续一直点击Next,最后点击Install开始安装。

三 目录结构(配置)

  • 我们来看看他的目录结构。

    • bin:包含了测试程序、存储证书和密钥的文件(*.pem)。

    • include:包含了所有的头文件(例如:aes.h、md5.h)。

    • lib:包含了所有的库文件(例如:libcrypto.lib、libssl.lib)。

  • 我安装的OpenSSL的lib目录下,有四个文件夹。
  • 它们四个的不同点在于:

    • MD(多线程 DLL 版本)用于 Release 模式。

    • MDd(多线程 DLL 版本,调试)用于 Debug 模式。

    • MT(多线程静态版本)用于 Release 静态链接。

    • MTd(多线程静态版本,调试)用于 Debug 静态链接。

    • 具体选用哪个lib目录,可根据自己情况选择。

2.测试环境变量是否配置成功

  • 打开运行窗口,输入cmd打开命令框,执行命令:openssl version,如果可以给出OpenSSL的版本即可证明已成功安装并成功配置环境变量。

四、为Visual Studio2022项目配置OpenSSL

  • 将include路径添加到外部包含目录,将lib路径添加到库目录

  • 头文件目录C:\Program Files\OpenSSL-Win64\include

  • 库文件选择多线程静态调试版本,目录C:\Program Files\OpenSSL-Win64\lib\VC\x64\MTd

2.链接OpenSSL库

  • 具体步骤为:链接器 -> 输入 -> 附加依赖项,将下面两项添加到附加依赖项

  • libssl.lib

  • libcrypto.lib

  • 将bin目录下的libcrypto-3-x64.dll、libssl-3-x64.dll文件复制到项目文件下

程序测试

相关推荐
萌萌站起6 分钟前
Vscode 中 python模块的导入问题
ide·vscode·python
王夏奇43 分钟前
pycharm中3种不同类型的python文件
ide·python·pycharm
ShawnLiaoking2 小时前
pycharm 上传更新代码
ide·elasticsearch·pycharm
无限进步_5 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
Freak嵌入式5 小时前
MicroPython LVGL基础知识和概念:GUI 的扩展接口
ide·驱动开发·嵌入式·gui·lvgl·micropython·upypi
无限进步_6 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
无限进步_9 小时前
【C++】重载、重写和重定义的区别详解
c语言·开发语言·c++·ide·windows·git·github
ZXF_H9 小时前
VSCode C/C++函数Ctrl+鼠标点击无法跳转的解决方法
c++·ide·vscode
m0_7167652311 小时前
数据结构三要素、时间复杂度计算详解
开发语言·数据结构·c++·经验分享·笔记·算法·visual studio
这个人懒得名字都没写11 小时前
PyCharm图像查看器插件PixelLens
ide·python·pycharm