網路安全課程實驗一 openssl庫的使用

2022-05-10 13:34:59 字數 2266 閱讀 7044

這裡需要根據自己的環境進行配置,64位作業系統,所以選擇vc-win64a

從開始選單開啟x64 native tools command prompt,並輸入一下命令。

$ perl configure vc-win64a

$ nmake

$ nmake test

結果報錯提示說缺少win32::console模組。

然後我就解除安裝了perl,然後在官網fork的專案中新增上這個包,重新安裝。

解決方案資源管理器中右鍵點選當前專案-屬性-配置屬性-c/c++-附加包含目錄,填上openssl的include目錄的路徑。

鏈結器-輸入-附加依賴項值:libeay32.lib

編譯時提示找不到某個dll:

方法1:將dll檔案拷貝到生成的.exe所在的資料夾中

方法2:配置屬性->除錯->工作目錄:包含dll檔案的資料夾路徑

evp_md_ctx* mdctx;

const evp_md* md;

char mess = "test message\n";

unsigned char md_value[evp_max_md_size];

unsigned int md_len, i;

md = evp_get_digestbyname("md5");

mdctx = evp_md_ctx_new();

evp_digestinit_ex(mdctx, md, null);

evp_digestupdate(mdctx, mess, strlen(mess));

evp_digestfinal_ex(mdctx, md_value, &md_len);

evp_md_ctx_free(mdctx);

printf("digest is: ");

for (i = 0; i < md_len; i++)

printf("%02x", md_value[i]);

printf("\n");

/*generate 2048 bit rsa key */

evp_pkey_ctx* pctx;

evp_pkey* pkey = null;

engine *e = engine_by_id("acme");

pctx = evp_pkey_ctx_new_id(evp_pkey_rsa, e);

if (!pctx)

/* error occurred */

exit(-1);

if (evp_pkey_keygen_init(pctx) <= 0)

/* error */

exit(-1);

if (evp_pkey_ctx_set_rsa_keygen_bits(pctx, 2048) <= 0)

/* error */

exit(-1);

/* generate key */

if (evp_pkey_keygen(pctx, &pkey) <= 0)

/* error */

exit(-1);

/* sign */

unsigned char sigret[sig_atomic_max];

size_t sig_len;

evp_md_ctx_set_pkey_ctx(mdctx, pctx);

evp_digestsigninit(mdctx, &pctx, md, e, pkey);

evp_digestsignupdate(mdctx, md_value, md_len);

evp_digestsignfinal(mdctx,sigret,&sig_len);

/* base64 */

bio* bio, * b64;

b64 = bio_new(bio_f_base64());

bio = bio_new_fp(stdout, bio_noclose);

bio_push(b64, bio);

bio_write(b64, sigret, sig_len);

bio_flush(b64);

bio_free_all(b64);

《網路安全協議》課程實驗大綱

網路安全協議 課程 實驗大綱 適用專業 網路工程專業 實驗學時 12學時 一 實驗的性質 任務和基本要求 一 本實驗課的性質 任務 網路安全協議 是網路工程專業的專業限選課,本課程旨在培養學生對網路安全協議的分析能力,同時為後續專業課程的學習打下堅實的基礎。實驗是鞏固課堂教學質量必不可少的重要手段。...

網路安全課程

上了五個周的網路安全課程了,第一周沒選課,第二週選了忘記去了,第三四周講密碼學聽不懂沒聽,這乙個周氏唯一一次聽懂一點的了。稍微記錄 1 計算機交換成本 轉移成本 高 網際網路企業在購買伺服器 租賃或購買辦公場所 聘用產品相關研發人員 使用者需求調研 開發出網際網路產品之後,就可以為使用者提供產品及相...

網路安全課程學習內容

1 了解基本的網路和組網以及相關裝置的使用 2 windwos的伺服器設定和網路基本配置 3 學習一下基本的html js asp mssql php mysql等指令碼類的語言 4 多架設相關 多學習 管理 5 學習linux,了解基本應用,系統結構,網路伺服器配置,基本的shell等 6 學習l...