實驗一 密碼引擎-2-OpenEuler-OpenSSL測試 Windows重現
阿新 • • 發佈:2022-04-13
實驗一 密碼引擎-2-Windows-OpenSSL測試(Windows重現)
目錄一、Windows下安裝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) 忽略這個問題