國密庫崩潰的BUG

2021-10-11 19:10:18 字數 1408 閱讀 3690

#linux 下編譯 -d代表編譯debug版本

./config  no-shared -d

make

make  install

生成私鑰

gmssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:sm2p256v1 -pkeyopt ec_param_enc:named_curve -out gm_privatekey.pem

生成證書

gmssl req -new -x509 -key gm_privatekey.pem -out gm_cert.pem

#編譯靜態庫增加引數 no-shared  

#perl選擇開源的 strawberry , 不能選擇商業版的 activeperl

#windows下32位編譯

perl configure  vc-win32  no-shared

nmake

#windows下64位編譯

perl configure  vc-win64a  no-shared

nmake

如果執行  perl configure vc-win64a no-shared, 報錯:

"glob" is not exported by the file::glob module

can't continue after import errors at configure line 18.

begin failed--compilation aborted at configure line 18.

解決辦法:

1、修改test/build.info檔案的339行:

use file::spec::functions;

use file::basename;

#use if $^o ne "vms", 'file::glob' => qw/glob/;  去掉這行

use file::glob ':glob';  增加這行

2、修改configure檔案的第18行:

require 5.10.0;

use strict;

use file::basename;

use file::spec::functions qw/:default abs2rel rel2abs/;

use file::path qw/mkpath/;

#use if $^o ne "vms", 'file::glob' => qw/glob/;  去掉這行

use file::glob ':glob';  增加這行

然後下來執行   nmake 即可。

國密演算法的應用場景

國密演算法的應用場景 國家密碼管理局推出的sm系列密碼演算法是為了從根本上擺脫我國對國外密碼技術的依賴,實現從密碼演算法層面掌控核心的資訊保安技術。隨著國密演算法推廣的延伸,金融領域引入sm2 sm3 sm4等演算法逐步替換原有的rsa ecc等國外演算法。現有銀聯銀行卡聯網 銀聯ic兩項規範都引入...

swig的學習以及國密的python封裝

最近在研究國密演算法,而我們主要是使用python來進行開發,所以就需要構建乙個國密的python模組。國密演算法網上已經有很好的實現,筆者使用的是乙個參考xyssl實現的那個版本。因為這些版本都是c的,所以很容易將其擴充套件到python裡面,但是為了跟python自身的crypto的行為一致,需...

乙個崩潰的bug,指標變數申明時置空

在標頭檔案中宣告了乙個變數,在使用含這個變數的函式時程式有一定的機率崩潰 debug時顯示 segmentation fault 之前 qlistwidgetitem lastitem 1 下面判斷是不是為空,當lastitem 1成為野指標後就會失效,再裡面使用野指標的時候程式就崩潰了 if la...