【openssl】Window系统如何编译openssl

本文主要记录如何编译出windows版本的openss的lib库

如果需要获取RSA公钥私钥,推荐【openssl】 生成公钥私钥 |通过私钥获取公钥-CSDN博客

目录

1.下载openssl,获得openssl-master.zip。

2.下载Perl

3.下载NASM

4.配置perl和NASM的环境变量

5.进入编译正题:

至此:大侠已成功

6说明


1.下载openssl,获得openssl-master.zip。

a.可以通过github(网址在下方)上下载最新的代码、今天是2023.12.1我用的master版本,下载之后恭喜大侠获得《openssl-master.zip》

网址:https://github.com/openssl/openssl

b解压zip到自己的路径:F:\Windows\openssl-master

c.新建一个文件夹F:\Windows\openssl_Output

用于输出之后大侠最后编译的库(就是大侠最终想要的东西)

2.下载Perl

a.(编译工具)我没有去官网下载,要注册啥的很麻烦,小网站下载了一个能用的

点击下面链接直接下载

网址:https://djvniu.jb51.net/200906/tools/ActivePerl5_64.rar

3.下载NASM

a.点击下面链接直接下载

https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-installer-x64.exe

4.配置perl和NASM的环境变量

a.配置上面两个安装包的环境变量,具体环境变量怎么进入可参考

此电脑右键->属性->高级系统设置->环境变量->系统变量->Path编辑新建添加

b.添加完进行验证是否安装及配置成功

I.进入命令管理器cmd

II.分别输入nasm --version、perl --version,显示版本信息,

如果输出的不是内部或外部命令,也不是可运行的程序或批处理文件,应该是检查:第4步配置的perl.exe、nasm.exe路径是否正确配置环境变量未重启电脑

nasm --version

5.进入编译正题:

如果以下编译出现错误,说明此文章编译方式未不同步源码库的编译方式。如何查看源码库的编译方式,请参考6.说明

a.以管理员身份启动(否则下面会报无权限问题)启动vs编译工具;查找Tools Command.根据想编译32位还是64位openssl选择X64、x86(32位选x86;64位选x64),我用的x64。

b.通过F:进入F盘符,通过cd命令进入你解压的源码库

c.进行

I.下面的VC-WIN64A是64位,如果想编译32位用VC-WIN32,F:\Windows\openssl_Output是输出路径

perl Configure VC-WIN64A --prefix=F:\Windows\openssl_Output

II.安装

nmake install

至此:大侠已成功

在Output下都是想要的

6说明

至于上述步骤5是编译是怎么来的。参考的源码库中的NOTES_WINDOWS.md,同目录下有unix的编译方式。

nmake test 可以不用运行,这是自动化测试代码是否有用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/211808.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用程序无法找到xinput1_3.dll怎么办,xinput1_3.dll 丢失的解决方法

当电脑系统或特定应用程序无法找到或访问到 xinput1_3.dll 文件时,便会导致错误消息的出现,例如“找不到 xinput1_3.dll”、“xinput1_3.dll 丢失”等。这篇文章将大家讨论关于 xinput1_3.dll 文件的内容、xinput1_3.dll丢失问题的解决方法,以…

限流算法,基于go的gRPC 实现的

目录 一、单机限流 1、令牌桶算法 3、固定窗口限流算法 4、滑动窗口 二、集群限流 1、分布式固定窗口 (基于redis) 2、分布式滑动窗口 一、单机限流 1、令牌桶算法 令牌桶算法是当流量进入系统前需要获取令牌,没有令牌那么就要进行限…

Python之html2text,清晰解读HTML内容!

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 Python之html2text,清晰解读HTML内容,全文3900字,阅读大约10分钟。 HTML是Web开发中常见的标记语言,但有时我们需要将HTML内容…

关于 mapboxgl 的常用方法及效果

给地图标记点 实现效果 /*** 在地图上添加标记点* point: [lng, lat]* color: #83f7a0*/addMarkerOnMap(point, color #83f7a0) {const marker new mapboxgl.Marker({draggable: false,color: color,}).setLngLat(point).addTo(this.map);this.markersList.push(marker);},…

Ubuntu-rsyslog和systemd-journald日志服务

rsyslog日志服务 rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。 常见的日志文件如下: /var/log/messages 绝大多数的系统日志都记录到该文件 /var/log/secure 所有跟安全和认证授权等日志…

玩转Sass:掌握数据类型!

当我们在进行前端开发的时候,有时候需要使用一些不同的数据类型来处理样式,Sass 提供的这些数据类型可以帮助我们更高效地进行样式开发,本篇文章将为您详细介绍 Sass 中的数据类型。 布尔类型 在 Sass 中,布尔数据类型可以表示逻…

imutils库介绍及安装学习

目录 介绍 本机环境 安装 常用函数 使用方法 图像平移 图像缩放 图像旋转 骨架提取 通道转换 OPenCV版本的检测 综合测试 目录 介绍 本机环境 安装 常用函数 使用方法 图像平移 图像缩放 图像旋转 骨架提取 通道转换 OPenCV版本的检测 介绍 imutils 是一…

我不是DBA之慢SQL诊断方式

最近经常遇到技术开发跑来问我慢SQL优化相关工作,所以干脆出几篇SQL相关优化技术月报,我这里就以公司mysql一致的5.7版本来说明下。 在企业中慢SQL问题进场会遇到,尤其像我们这种ERP行业。 成熟的公司企业都会有晚上的慢SQL监控和预警机制。…

面试常问的dubbo的spi机制到底是什么?(下)

前文回顾 前一篇文章主要是讲了什么是spi机制,spi机制在java、spring中的不同实现的分析,同时也剖析了一下dubbo spi机制的实现ExtensionLoader的实现中关于实现类加载以及实现类分类的源码。 一、实现类对象构造 看实现类对象构造过程之前,先…

量子力学:探索微观世界的奇妙之旅

量子力学:探索微观世界的奇妙之旅 引言 在21世纪初,我们逐渐进入了一个以信息技术为主导的新时代。在这个时代,量子力学作为一门研究物质世界微观结构、粒子间相互作用以及能量与信息转换的基础科学,对我们的生活产生了深远的影响…

http和https的区别有哪些

目录 HTTP(HyperText Transfer Protocol) HTTPS(HyperText Transfer Protocol Secure) 区别与优势 应用场景 未来趋势 当我们浏览互联网时,我们经常听到两个常用的协议:HTTP(HyperText Tra…

【MATLAB源码-第96期】基于simulink的光伏逆变器仿真,光伏,boost,逆变器(IGBT)。

操作环境: MATLAB 2022a 1、算法描述 1. 光伏单元(PV Cell) 工作原理:光伏单元通过光电效应将太阳光转换为直流电。它们的输出取决于光照强度、单元温度和负载条件。Simulink建模:在Simulink中,光伏单元…

编程怎么学才能快速入门,分享一款中文编程工具快速学习编程思路,中文编程工具之分组框构件简介

一、前言: 零基础自学编程,中文编程工具下载,中文编程工具构件之扩展系统菜单构件教程 编程系统化教程链接 https://jywxz.blog.csdn.net/article/details/134073098?spm1001.2014.3001.5502 给大家分享一款中文编程工具,零基础…

【设计模式-4.3】行为型——责任链模式

说明:本文介绍设计模式中行为型设计模式中的,责任链模式; 审批流程 责任链模式属于行为型设计模式,关注于对象的行为。责任链模式非常典型的案例,就是审批流程的实现。如一个报销单的审批流程,根据报销单…

Matlab数学建模详解之发电机的最佳调度实现

🔗 运行环境:Matlab、Python 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 #### 防伪水印——左手の明天 #### 💗 大家好🤗&am…

从零构建属于自己的GPT系列3:模型训练2(训练函数解读、模型训练函数解读、代码逐行解读)

🚩🚩🚩Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1:数据预处理 从零构建属于自己的GPT系列2:模型训…

Java 中 char 和 Unicode、UTF-8、UTF-16、ASCII、GBK 的关系

Unicode、UTF-8、UTF-16、UTF-32、ASCII、GBK、GB2312、ISO-8859-1 它们之间是什么关系? 关于这几种字符编码的关系,经过各种资料研究,总结如下图(请右键在新标签页打开查看或者下载后使用看图工具放大查看): 我们应该从历史的顺序看待这些字符编码的由来: ASCII(早期…

Python之random和string库学习

一、random库 random是python中用来生存随机数的库。具体用法如下: 1、生成一个0到1随机浮点数 random.random() 2、生成一个a到b的随机浮点数 random.uniform(1,2) 3、生成一个a到b之间的整数 random.randint(a,b) 4、随机从序列元素中取出一个值,…

Hazelcast分布式内存网格(IMDG)基本使用,使用Hazelcast做分布式内存缓存

文章目录 一、Hazelcast简介1、Hazelcast概述2、Hazelcast之IMDG3、数据分区 二、Hazelcast配置1、maven坐标2、集群搭建(1)组播自动搭建 3、客户端4、集群分组5、其他配置 三、Hazelcast分布式数据结构1、IMap2、IQueue:队列3、MultiMap4、I…

LINUX:如何以树形结构显示文件目录结构

tree tree命令用于以树状图列出目录的内容。 第一步,先安装tree这个包 sudo apt-get install tree 第二步,在指定文件目录输入下面命令,7代表7级子目录 tree -L 7 第三步,效果图 第四步,拓展学习 颜色显示 tree -C显…