【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 可以不用运行,这是自动化测试代码是否有用

相关推荐

  1. centos系统编译opensslopenssl-lib的rpm安装包

    2023-12-05 16:10:05       21 阅读
  2. openssl编译和集成

    2023-12-05 16:10:05       97 阅读
  3. python3 编译指定openssl

    2023-12-05 16:10:05       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 16:10:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 16:10:05       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 16:10:05       82 阅读
  4. Python语言-面向对象

    2023-12-05 16:10:05       91 阅读

热门阅读

  1. Scrum冲刺计划

    2023-12-05 16:10:05       64 阅读
  2. vue2-router

    2023-12-05 16:10:05       51 阅读
  3. Vue2学习笔记(列表渲染)

    2023-12-05 16:10:05       50 阅读
  4. 聊聊springboot的http.server.requests

    2023-12-05 16:10:05       33 阅读
  5. BSN专网应用案例介绍:长沙市区块链政务专网

    2023-12-05 16:10:05       49 阅读
  6. Python高级数据结构——树(Tree)

    2023-12-05 16:10:05       61 阅读
  7. Redis使用increment方法返回null的原因以及解决方案

    2023-12-05 16:10:05       59 阅读
  8. dialog打开时重新渲染

    2023-12-05 16:10:05       58 阅读
  9. .NET8 依赖注入

    2023-12-05 16:10:05       52 阅读
  10. 服务器是否稳定怎么看

    2023-12-05 16:10:05       54 阅读