openssl 編程入門(含完整示例).pdf

openssl 編程入門(含完整示例).pdf

ID:50454461

大?。?16.71 KB

頁數(shù):5頁

時(shí)間:2020-03-06

openssl 編程入門(含完整示例).pdf_第1頁
openssl 編程入門(含完整示例).pdf_第2頁
openssl 編程入門(含完整示例).pdf_第3頁
openssl 編程入門(含完整示例).pdf_第4頁
openssl 編程入門(含完整示例).pdf_第5頁
資源描述:

《openssl 編程入門(含完整示例).pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、openssl編程入門(含完整示例)易劍1.編寫目的第一次跑起openssl示例并不太簡(jiǎn)單,本文的目的是為了讓這個(gè)過程變得非常簡(jiǎn)單。在開始之前,要非常感謝周立發(fā)同學(xué),正是通過他共享的示例,較輕松的入了門。本文檔對(duì)他共享的示例中的一個(gè)小錯(cuò)誤進(jìn)行了修正,并提供了傻瓜式的“編譯-生成-KEY運(yùn)行”一條龍腳本(方法請(qǐng)參見壓縮包中的readme文件),讓跑第一個(gè)openssl程序變得輕輕松松。2.示例包ssl_test.tar.gzopenssl-0.9.8h-SuSE10.tar.gzssl_test.tar.gz為示例源代碼包,openssl-0.9.8h-SuSE10.ta

2、r.gz為openssl二進(jìn)制包,測(cè)試時(shí)是安裝在/usr/local/ssl。ssl_test.tar.gz中的示例在SuSE10中測(cè)試通過,使用的是openssl-0.9.8h,它包括如下文件:-rw-r--r--1rootroot1346Dec518:11cacert.pem-rwxr-xr-x1rootroot114Dec518:11make_key.sh-rwxr-xr-x1rootroot172Dec518:37mk_client.sh-rwxr-xr-x1rootroot172Dec518:37mk_server.sh-rw-r--r--1rootroot1

3、679Dec518:11privkey.pem-rw-r--r--1rootroot167Dec518:39readme-rwxr-xr-x1rootroot38Dec518:38run_client.sh-rwxr-xr-x1rootroot64Dec518:38run_server.sh-rwxr-xr-x1rootroot1140142Dec518:38ssl_client-rw-r--r--1rootroot3928Dec517:31ssl_client.cpp-rwxr-xr-x1rootroot1139667Dec518:38ssl_server-rw-r-

4、-r--1rootroot4882Dec517:31ssl_server.cppreadme為包內(nèi)容說明,run_server.sh用來運(yùn)行服務(wù)端,run_client.sh用來運(yùn)行客戶端,mk_server.sh用來編譯服務(wù)端,mk_client.sh用來編譯客戶端,make_key.sh用來生成鑰匙KEY。openssl編程入門3.什么是SSL?在學(xué)習(xí)openssl編程之前,先了解一下什么是SSL,有助于后續(xù)的學(xué)習(xí)。SSL是一個(gè)縮寫,代表的是SecureSocketsLayer。它是支持在Internet上進(jìn)行安全通信的標(biāo)準(zhǔn),并且將數(shù)據(jù)密碼術(shù)集成到了協(xié)議之中。數(shù)據(jù)在

5、離開您的計(jì)算機(jī)之前就已經(jīng)被加密,然后只有到達(dá)它預(yù)定的目標(biāo)后才被解密。證書和密碼學(xué)算法支持了這一切的運(yùn)轉(zhuǎn),使用OpenSSL,您將有機(jī)會(huì)切身體會(huì)它們。理論上,如果加密的數(shù)據(jù)在到達(dá)目標(biāo)之前被截取或竊聽,那些數(shù)據(jù)是不可能被破解的。不過,由于計(jì)算機(jī)的變化一年比一年快,而且密碼翻譯方法有了新的發(fā)展,因此,SSL中使用的加密協(xié)議被破解的可能性也在增大。可以將SSL和安全連接用于Internet上任何類型的協(xié)議,不管是HTTP、POP3,還是FTP。還可以用SSL來保護(hù)Telnet會(huì)話。雖然可以用SSL保護(hù)任何連接,但是不必對(duì)每一類連接都使用SSL。如果連接傳輸敏感信息,則應(yīng)使用SS

6、L。4.什么是openssl?openSSL不僅僅是SSL。它可以實(shí)現(xiàn)消息摘要、文件的加密和解密、數(shù)字證書、數(shù)字簽名和隨機(jī)數(shù)字。關(guān)于OpenSSL庫的內(nèi)容非常多,遠(yuǎn)不是一篇文章可以容納的。OpenSSL不只是API,它還是一個(gè)命令行工具。命令行工具可以完成與API同樣的工作,而且更進(jìn)一步,可以測(cè)試SSL服務(wù)器和客戶機(jī)。5.示例程序示例的說明請(qǐng)參見下面這篇周立發(fā)共享的文章。加密通訊協(xié)議SSL編程.pdf2openssl編程入門6.服務(wù)端編寫步驟開始SSL_library_init()SSL_set_fd(ssl,newfd)SSL_accept(ssl)SSL庫初始化so

7、cket加入到SSL建立SSL連接SSL_write(ssl,buf,OpenSSL_add_all_algorithmsSSL_new(ctx)strlen(buf))載入所有SSL算法產(chǎn)生一個(gè)新的SSL發(fā)消息給客戶端SSL_read(ssl,buf,SSL_load_error_strings()newfd=accept(servfd)MAXBUF)載入所有SSL錯(cuò)誤消息接收客戶端的消息SSL_CTX_new(SSLv23_serverSSL_shutdown(ssl)_method())bind(servfd)關(guān)閉SSL連接產(chǎn)生一個(gè)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。