openssl win平台编译

参考 http://www.leoxiaofei.com/build-openssl.html

   https://gitee.com/mirrors/openssl/blob/master/NOTES-WINDOWS.md#native-builds-using-mingw

参照官方的案例很简单就搞定了,网上找到的都是openssl1.0.2版本的,不适用与1.1.1和3.0.0

 

简单操作

1 安装 https://www.activestate.com/products/perl/

      这个链接可以直接下载exe文件进行安装

  https://platform.activestate.com/ActiveState/ActivePerl-5.28/distributions

2 安装 nasm

  https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/

PATH中加入ActivePerl和NASM

 

3 下载源码

  https://www.openssl.org/source/

4 找到readme,找到对应的文件安装说明

 

 

 

 

此处使用vs2019 编译

 

 

cd 到解压目录 运行指令此处是x64平台,就运行

 

Perl Configure VC-WIN64A  --prefix=目标目录

 

 

 

nmake install

 

DEMO

 

 #include <openssl/evp.h>

 /* obtain an EVP_PKEY using whatever methods... */
 mctx = EVP_MD_CTX_new();
 pctx = EVP_PKEY_CTX_new(pkey, NULL);
 EVP_PKEY_CTX_set1_id(pctx, id, id_len);
 EVP_MD_CTX_set_pkey_ctx(mctx, pctx);
 EVP_DigestVerifyInit(mctx, NULL, EVP_sm3(), NULL, pkey);
 EVP_DigestVerifyUpdate(mctx, msg, msg_len);
 EVP_DigestVerifyFinal(mctx, sig, sig_len)



  
//

 openssl API   https://www.openssl.org/docs/man3.0/

国家SM2算法标准要求  http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002386.shtml

//

posted @   小城熊儿  阅读(108)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示