簡介
OpenSSL是一個開放源代碼的軟件庫包,應(yīng)用程序可以使用這個包來進行安全通信,避免竊聽,同時確認另一端連接者的身份。
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用。
SSL是Secure Sockets Layer(安全套接層協(xié)議)的縮寫,可以在Internet上提供秘密性傳輸。Netscape公司在推出第一個Web瀏覽器的同時,提出了SSL協(xié)議標準。其目標是保證兩個應(yīng)用間通信的保密性和可靠性,可在服務(wù)器端和用戶端同時實現(xiàn)支持。已經(jīng)成為Internet上保密通訊的工業(yè)標準。
功能
基本功能
OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協(xié)議庫、應(yīng)用程序以及密碼算法庫。OpenSSL的目錄結(jié)構(gòu)自然也是圍繞這三個功能部分進行規(guī)劃的。
作為一個基于密碼學的安全開發(fā)包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測試或其它目的使用。
輔助功能
BIO機制是OpenSSL提供的一種高層IO接口,該接口封裝了幾乎所有類型的IO接口,如內(nèi)存訪問、文件訪問以及Socket等。這使得代碼的重用性大幅度提高,OpenSSL提供API的復(fù)雜性也降低了很多。
OpenSSL對于隨機數(shù)的生成和管理也提供了一整套的解決方法和支持API函數(shù)。隨機數(shù)的好壞是決定一個密鑰是否安全的重要前提。
OpenSSL還提供了其它的一些輔助功能,如從口令生成密鑰的API,證書簽發(fā)和管理中的配置文件機制等等。
編譯和測試方式
軟件測試
1.選擇操作環(huán)境
本文選用華為鯤鵬云服務(wù)ECS KC1實例做測試
2.測試軟件
執(zhí)行以下命令,查看OpenSSL版本。
openssl version
系統(tǒng)回顯如下:
OpenSSL 1.0.2k-fips 26 Jan 2017