1. 程式人生 > 其它 >實驗一 密碼引擎-2-OpenEuler-OpenSSL測試 Windows重現

實驗一 密碼引擎-2-OpenEuler-OpenSSL測試 Windows重現

實驗一 密碼引擎-2-Windows-OpenSSL測試(Windows重現)

目錄

一、Windows下安裝VS2019

參考連結VS2019安裝教程(超詳細)新手必碼

二、Windows下安裝openssl

opessl安裝包下載連結http://slproweb.com/products/Win32OpenSSL.html

安裝成功後記錄下安裝位置

D:\OpenSSL-Win64

三、vs中新建openssl專案設定

開啟VS2022

檔案→新建→專案→空專案


新建base64測試專案

新增原始檔

在右側的“搜尋解決方案資源管理器”欄目中,專案名下“原始檔”處,右鍵→新增→現有項(新增之前在openeuler下執行的程式碼檔案)

連結openssl設定

在右側的“搜尋解決方案資源管理器”欄目中,專案名下,右鍵→屬性→VC++目錄處

“包含目錄”處,新增openssl安裝目錄下的include資料夾
“庫目錄”處,新增openssl安裝目錄下的lib資料夾

編譯執行

此時編譯執行雖然不會找不到標頭檔案但仍會報錯

需要在程式碼開頭新增

#pragma comment(lib,"libssl.lib")
#pragma comment(lib,"libcrypto.lib")

成功輸出20191227!的base64編碼

這就成功地將openeuler中的openssl程式在Windows下重現


接下來繼續重現sm2、sm3、sm4演算法呼叫程式
即可正常編譯執行

SM2演算法呼叫重現

在右側的“搜尋解決方案資源管理器”欄目中,專案名下“標頭檔案”處,右鍵→新增→現有項處新增標頭檔案

在右側的“搜尋解決方案資源管理器”欄目中,專案名下“原始檔”處,右鍵→新增→現有項處新增原始碼

編譯執行成功

若出現c4996報錯,是因為使用了一些vs認為不安全的函式,可以在程式碼中加入
#pragma warning(disable:4996)
忽略這個問題

SM3演算法呼叫重現

SM4演算法呼叫重現