OpenSSL 3.0 版本已經發布VS2019編譯源碼教程

1 OpenSSL 3.0版本在2020年五月發佈

  •  

OpenSSL3.0 在2020年5月發佈了第一個版本,隨即在六月份又發佈了一些alpha版本,版本修正了一些bug,增加了一些協議支持,繼續支持國密sm2 ,sm3 ,sm4(從1.1.1版本開始支持)。

  •  
  •  

3.0版本完全兼容1.1.1版本接口,但低級別的MD2, MD4, MD5, MDC2,SHA1, SHA224, SHA256, SHA384, SHA512,AES,DES,ECDH,DSA,ECDSA,RSA接口都會被警告將要被棄用。但文檔中沒有提及要用什麼接口替換,估計是全部用EVP接口替換,我在項目中基本都替換爲了EVP接口。

  •  

2 OpenSSL 3.0版本使用VS2019編譯過程

2.1 OpenSSL3.0 源碼下載

源碼可以到官方網站或者直接使用git進行下載

下載地址 ffmpeg.vip

或者使用git下載版本庫上最新源碼

git clone git://git.openssl.org/openssl.git

2.2 依賴工具安裝

安裝 perl 腳本解釋器

下載 http://openssl.vip/download

安裝 nasm 彙編器

默認會安裝到用戶目錄

C:\Users\用戶名\AppData\Local\bin\NASM

配置windows的環境變量,將此路徑加入到環境變量path中

安裝好後,重新打開控制檯能夠運行nasm 和perl命令

2.3 編譯工具:VS2019社區版本

下載地址 http://openssl.vip/download 安裝社區版本,安裝後註冊個用戶就可以免費使用。

2.4 編譯步驟

(1)進入控制檯(運行 CMD),或者編寫批處理bat文件

或者直接運行菜單中的vs2019 命令行編譯工具,選擇相應的版本(x86x64

(2)運行vs編譯環境

打開菜單中VS2019中有對應的命令行工具,把地址複製過來

編譯32位庫版本

"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"

編譯64位庫版本

"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"

(3)進入openssl源碼嗎目錄

cd openssl-3.0.0-alpha2

(4)使用perl生成makefile文件

perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE } --prefix=%OUTPATH%

perl Configure VC-WIN32

VC-WIN32 表示生成32位程序 --prefix 是編譯後輸出的路徑,默認會生成到C:\Program Files (x86)目錄,因爲要寫到C盤,有可能會出錯,如果控制檯不是管理員方式運行

(5)用nmake編譯

#編譯庫源碼

nmake

#編譯測試程序

nmake test

# 安裝openssl

nmake install

將編譯好的文件安裝到指定目錄,默認是C:\Program Files (x86)\OpenSSL,如果是在C盤,運行控制檯是需要有管理員權限

2.5 編譯中的一些錯誤

'perl' 不是內部或外部命令,也不是可運行的程序

需要安裝perl

NMAKE : fatal error U1064: 未找到 MAKEFILE 並且未指定目標

perl 生成makefile失敗,可以清理掉重新生成,或者替換參數重新生成

NASM not found - make sure it's installed and available on %PATH%

安裝nasm或者配置取消nasm

It looks like you don't have either nmake.exe or dmake.exe on your PATH, so you will not be able to execute the commands from a Makefile. You can install dmake.exe with the Perl Package Manager by running:

需要安裝下載安裝dmake

ppm install dmake

運行時錯誤:OPENSSL_Uplink(0FB024F8,08): no OPENSSL_Applink

複製applink.c文件到頭文件路徑#include <openssl/applink.c>

要觀看全部內容請點擊c++實戰區塊鏈核心密碼學-基於openssl
https://edu.csdn.net/course/play/29593

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章