找回密码
 立即注册
首页 业界区 安全 openssl静态库编译及vs2022使用示例

openssl静态库编译及vs2022使用示例

洪势 2025-6-25 20:22:13
环境: window10_x64 & vs2022
openssl版本: 1.1.1s
nasm版本:2.16.03
今天整理下windows10环境下,使用vs2022编译openssl静态库的笔记,并提供使用示例及预编译二进制文件下载。
一、源码及环境准备

openssl官网:https://www.openssl.org/openssl下载地址:https://openssl-library.org/source/old/1.1.1/ 
1.png

 
编译可参考如下文档:https://github.com/openssl/openssl/blob/master/NOTES-WINDOWS.md 
2.png

 
nasm工具下载地址:https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/win64/
3.png

 perl下载地址:
https://www.perl.org/get.html 
4.png

二、编译32位静态库

编译命令如下:
  1. perl Configure VC-WIN32 no-shared --prefix=D:\thrdLib\openssl
  2. nmake
  3. nmake test
  4. nmake install
复制代码
需要在开始菜单中启动vs2022编译环境:
5.png

 
6.png

 执行nmake后:
7.png

 执行nmake install后:
8.png

 静态库文件:
9.png

 三、编译64位静态库

编译命令如下:
  1. perl Configure VC-WIN64A no-shared --prefix=D:\thrdLib\openssl-1.1.1s-static-win64
  2. nmake
  3. nmake test
  4. nmake install
复制代码
启动编译环境:
10.png

 
11.png

 执行nmake后:
12.png

 执行nmake install后:
13.png

 静态库文件:
14.png

 四、使用示例

这里以64位静态库为例进行演示。
测试代码如下:
  1. #include <openssl/sha.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. int main()
  5. {
  6.     char data[] = "test msg from mike_zhang@live.com !";
  7.     unsigned char hash[SHA512_DIGEST_LENGTH];
  8.     SHA512((unsigned char*)data, strlen(data), hash);
  9.     printf("SHA512 Hash: ");
  10.     for (int i = 0; i < SHA512_DIGEST_LENGTH; i++)
  11.         printf("%02x", hash[i]);
  12.     printf("\n");
  13.     return 0;
  14. }
复制代码
添加include目录:
15.png

 添加lib目录:
16.png

 添加lib文件:
17.png

 编译成功:
18.png

 运行效果如下:
 
19.png

五、资源获取

本文涉及源码及相关文件,可从如下途径获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 20250625 获取。
20.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册