實(shí)驗(yàn)指導(dǎo)OpenSSL_第1頁
實(shí)驗(yàn)指導(dǎo)OpenSSL_第2頁
實(shí)驗(yàn)指導(dǎo)OpenSSL_第3頁
實(shí)驗(yàn)指導(dǎo)OpenSSL_第4頁
實(shí)驗(yàn)指導(dǎo)OpenSSL_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)要求1. 簡(jiǎn)述OpenSSL,包括提供的功能(最少300字,最多800字)2. 配置OpenSSL安裝環(huán)境 (指導(dǎo)資料一)簡(jiǎn)要回答下列問題 (1) Perl是什么(2) Makefile文件的作用是什么?3. 調(diào)試OpenSSL庫(kù)的編程環(huán)境,也就是說,可以在你的程序中使用Openssl庫(kù)提供的加密解密算法程序(1) 調(diào)通例子程序(2) 中文說明例子程序中關(guān)鍵函數(shù)所完成的功能,例如OpenSSL_add_all_digests()4. 使用Openssl自帶的文件創(chuàng)建CA簡(jiǎn)要回答下列問題(1) 什么是CA?(2) 創(chuàng)建CA過程中,關(guān)鍵問題是什么?指導(dǎo)資料在

2、7 下載Perl安裝程序在 網(wǎng)站上下載最新的Openssl源碼,目前是openssl-1.0.1e.tar.gz一、編譯指導(dǎo)1. 安裝Perl2. 開始->所有程序->microsoft visual studio 2008 -> visual studio Tools -> visutal studiocommand prompt3. 進(jìn)入openssl源碼目錄,以下記為$openssl (1) 運(yùn)行configure: perl Configure VC-WIN32 prefix=c:/openssl(2)創(chuàng)建Makefile文件: msdo_

3、ms(3)編譯庫(kù): nmake -f msntdll.mak(4)生成編譯完成后會(huì)在 $opensslout32dll 目錄下生成庫(kù)文件、動(dòng)態(tài)鏈接庫(kù)文件、Openssl執(zhí)行文件和測(cè)試程序編譯中可能出現(xiàn)的一些問題盡可能根據(jù)錯(cuò)誤提示,在網(wǎng)絡(luò)上搜索解決方案,鍛煉自己解決問題的能力例如:把read改為_read$openssl目錄下 .cryptodesenc_read第150行出錯(cuò)二、編程環(huán)境調(diào)試模仿第一個(gè)實(shí)驗(yàn)WinPcap,在VS2008中只需要把lib、include文件的目錄配置在VC環(huán)境中,即配置4個(gè)目錄信息,其他的信息不用添加。相關(guān)的lib程序是:libeay32.lib ssleay32

4、.lib相關(guān)的include目錄位置在$opensslincludeopenssl目錄下可以根據(jù)需要移動(dòng)到相關(guān)位置例子程序#include "stdafx.h"#include "openssl/evp.h"#include "string.h"int _tmain(int argc, _TCHAR* argv) EVP_MD_CTX mdctx; const EVP_MD *md; char mess1 = "Test Messagen" char mess2 = "Hello Worldn"

5、 unsigned char md_valueEVP_MAX_MD_SIZE; unsigned int md_len; int i; OpenSSL_add_all_digests(); md = EVP_get_digestbyname("md5"); if(!md) printf("Unknown message digest %sn", argv1); exit(1); EVP_MD_CTX_init(&mdctx); EVP_DigestInit_ex(&mdctx, md, NULL); EVP_DigestUpdate(&a

6、mp;mdctx, mess1, strlen(mess1); EVP_DigestUpdate(&mdctx, mess2, strlen(mess2); EVP_DigestFinal_ex(&mdctx, md_value, &md_len); EVP_MD_CTX_cleanup(&mdctx); printf("Digest is: "); for(i = 0; i < (int)md_len; i+) printf("%02x", md_valuei); printf("n"); ge

7、tchar();return 0;數(shù)字證書的生成使用Out32dll目錄下的exe文件來生成數(shù)字證書。首先把教學(xué)ftp下的f文件copy到out32dll中,再運(yùn)行如下命令。1. 制作可信第三方(CA)CA產(chǎn)生一個(gè)自簽名的證書。命令如下查看out32dll目錄下,有一個(gè)ca.crt的證書, ca.key中保存著CA的私鑰和公鑰打開ca.crt可以查看CA自己給自己頒發(fā)的數(shù)字證書。如果安裝該證書可以在瀏覽器的菜單”工具->Internet選項(xiàng)”中看到該證書,即把該證書作為信任證書,最好實(shí)驗(yàn)結(jié)束后將其刪除。2. 生成證書信息(密鑰及證書持有者的)假設(shè)證書持有者是server. (1) 生成2048位密鑰查看out32dll文件下,增加了一個(gè)名為server.key的文件,該文件保存服務(wù)器的密鑰(2) 生成CSR(certificate signing request)文件,the user fills in the fields that will go into the certificate。下面成功后,生成一個(gè)server.csr文件在out32dll目錄中。說明:the CSR contains the public key to be signed, and the requested fields to go into the certificate(3)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論