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文件复制到项目文件下

程序测试

相关推荐
shishi52111 小时前
trae重装后,无法预览调试弹窗报错的解决方案
ide·计算机视觉·语言模型
小皮每天进步一点点14 小时前
IDEA找不到源码
java·ide·intellij-idea
LCG米16 小时前
开发环境搭建:告别Keil,用CLion+STM32CubeMX打造智能嵌入式IDE
ide·stm32·嵌入式硬件
用户405383693516 小时前
开源语音识别FunASR入门详解
ide·macos·xcode
水饺编程17 小时前
Windows 编程基础:窗口坐标系
c语言·c++·windows·visual studio
何亚告18 小时前
VScode引入claude+deepseek
ide·vscode·编辑器
无限进步_19 小时前
206. 反转链表 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
dyxal19 小时前
VSCode中,通过SFTP插件管理远程服务器文件
服务器·ide·vscode
俩个逗号。。20 小时前
Android Studio build生成apk和run生成apk签名不一样
android·ide·android studio
流水线上的指令侠20 小时前
C# 实战:从 0 到 1 搭建基于 NUnit + FlaUI 的 WPF UI 自动化测试项目
功能测试·ui·c#·自动化·wpf·visual studio