




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、前言一、什么是OpenSSL OpenSSL是一個開放源代碼的SSL協(xié)議的產(chǎn)品實現(xiàn),它采用C語言作為開發(fā)語言,具備了跨系統(tǒng)的性能,支持Linux、Unix、Windows、Mac和VMS等多種平臺。 OpenSSL最早的版本在1995年發(fā)布,1998年后開始由OpenSSL項目組維護(hù)和開發(fā)。當(dāng)前最新的版本是0.9.7b版本,完全實現(xiàn)了對SSLv1、SSLv2、SSLv3和TLS的支持。目前,OpenSSL已經(jīng)得到了廣泛的應(yīng)用,許多類型的軟件中的安全部分都使用了OpenSSL的庫,如VOIP的OpenH323協(xié)議、Apache服務(wù)器、Linux安全模塊等等。二、OpenSSL的組成 雖然Open
2、SSL使用SSL作為其名字的重要組成部分,但其實現(xiàn)的功能確遠(yuǎn)遠(yuǎn)超出了SSL協(xié)議本身。OpenSSL事實上包括了三部分:SSL協(xié)議、密碼算法庫和應(yīng)用程序庫。 SSL協(xié)議部分完全實現(xiàn)和封裝了SSL協(xié)議的三個版本和TLS協(xié)議,SSL協(xié)議庫的實現(xiàn)是在密碼算法庫的基礎(chǔ)上實現(xiàn)的。使用該庫,你完全可以建立一個SSL服務(wù)器和SSL客戶端。 密碼算法庫是一個強大完整的密碼算法庫,它是OpenSSL的基礎(chǔ)部分,也是很值得一般密碼安全技術(shù)人員研究的部分,它實現(xiàn)了目前大部分主流的密碼算法和標(biāo)準(zhǔn)。主要包括公開密鑰算法、對稱加密算法、散列函數(shù)算法、X509數(shù)字證書標(biāo)準(zhǔn)、PKCS12、PKCS7等標(biāo)準(zhǔn)。事實上,OpenSS
3、L的SSL協(xié)議部分和應(yīng)用程序部分都是基于這個庫開發(fā)的。 目前,這個庫除了可以使用本身的缺省算法外,在0.9.6版本之后,還提供了Engine機制,用于將如加密卡這樣外部的加密算法實現(xiàn)集成到OpenSSL中。 應(yīng)用程序部分是OpenSSL最生動的部分,也是OpenSSL使用入門部分。該部分基于上述的密碼算法庫和SSL協(xié)議庫實現(xiàn)了很多實用和范例性的應(yīng)用程序,覆蓋了眾多的密碼學(xué)應(yīng)用。主要包括了各種算法的加密程序和各種類型密鑰的產(chǎn)生程序(如RSA、Md5、Enc等等)、證書簽發(fā)和驗證程序(如Ca、X509、Crl等)、SSL連接測試程序(如S_client和S_server等)以及其它的標(biāo)準(zhǔn)應(yīng)用程序(
4、如Pkcs12和Smime等)。在某些時候,不需要做二次開發(fā),僅僅使用這些應(yīng)用程序便能得到我們的應(yīng)用要求,比如采用Ca程序就能基本上實現(xiàn)一個小型的CA功能。三、基于OpenSSL的應(yīng)用基于OpenSSL指令的應(yīng)用基于OpenSSL加密庫和協(xié)議庫的應(yīng)用 基于OpenSSL指令的應(yīng)用很容易,只要安裝好了OpenSSL,就可以開始使用了。 最簡單的應(yīng)用就是使用Req、CA以及X509指令來簽發(fā)一個證書了,該證書可以用于各種目的,比如很多Apache服務(wù)器就是使用OpenSSL的指令生成的證書作為服務(wù)器證書。 基于OpenSSL函數(shù)庫的應(yīng)用相比與基于OpenSSL指令的應(yīng)用開發(fā)的工作量會大很多,但這并
5、不意味著其應(yīng)用會更少。事實上,基于OpenSSL的應(yīng)用大部分是這種方式的,這種方式使得開發(fā)者能夠根據(jù)自己的需求靈活地進(jìn)行選擇,而不必受OpenSSL有限的指令的限制。certs目錄:存放的是有效的用戶證書,里面的文件格式是.cert格式,每一個用戶對應(yīng)一個證書。這些證書已經(jīng)被CA簽名了,是有效的。證書的具體格式在后面會有敘述和實例。Crl目錄:在這個目錄中存放的是證書撤銷列表,里面的文件格式是.crl格式。一個.crl文件記錄了一段時期內(nèi)被撤銷的證書的序列號。所有這些撤銷列表合起來記錄了所有的被撤銷的用戶證書。證書撤銷列表的具體格式見后面的分析。newcerts:在這個目錄中存放的是那些等待被
6、CA簽名的用戶證書,這些證書還是沒有被簽名的,暫時無效。不過這些用戶的申請信息已經(jīng)告知了CA系統(tǒng),系統(tǒng)管理員可以通過對這些信息的分析,決定是否對這個證書簽名,使其生效。private:這個目錄中存放的是所有用戶包括CA的私鑰,里面的文件格式是.key格式的。每一個證書對應(yīng)一個.key文件。這個目錄起到一個簡單的密鑰歸檔作用。1、創(chuàng)建一個數(shù)據(jù)庫(index.txt文件)2、創(chuàng)建一個序列號(serial)文件記錄根CA創(chuàng)建證書或者撤銷證書的事件;記錄下次即將創(chuàng)建的用戶證書的序列號;每次創(chuàng)建一個新證書時,將其中的序列號賦給證書;證書創(chuàng)建完成后,自動將序列號加1;根證書的序列號默認(rèn)為 00;每次創(chuàng)建或
7、者撤銷證書事件發(fā)生時,它是自動更新的; 1.1 1.1 創(chuàng)建創(chuàng)建CACA的準(zhǔn)備工作的準(zhǔn)備工作1.2 創(chuàng)建CA證書的基本步驟1、在原來創(chuàng)建的. rnd文件中輸入一個數(shù)做為偽隨機數(shù)發(fā)生器的種子; 2、利用1中的種子和RSA算法為CA生成一個CA密鑰對;3、申請創(chuàng)建CA證書,輸入系統(tǒng)要求的必要的注冊信息;系統(tǒng)會用2中生成的CA密鑰對對這個證書進(jìn)行自簽名;4、安裝生成的CA證書,即讓本機信任這個CA證書;1.3 生成CA密鑰對命令: genrsa out privateca.key rand private.rnd 2048 生成的密鑰對存放在ca.key中。生成密鑰對命令的詳細(xì)解釋:genrsa:用
8、RSA算法產(chǎn)生(gen)密鑰對;out privateca.key:生成的密鑰對存放(out)在private目錄下的ca.key文件中;rand private.rnd:在RSA算法中,偽隨機數(shù)產(chǎn)生器用的種子是放在private.rnd中的;里面的種子管理員可以手動修改;2048:表示生成的密鑰長度是2048位的。 顯然,上面的.key文件是明文保存的,是很不安全的。而密鑰一旦泄漏,響應(yīng)的證書也就失效。所以CA提供了一個可選配置,通過配置,使得每次生成一個新的密鑰對的時候,必須用一個口令對響應(yīng)的.key文件進(jìn)行加密(加密算法是DES)。這在一定程度上提高了系統(tǒng)的可靠性。1.4 創(chuàng)建CA證書(
9、自簽名)命令格式: C:CARootreq -new -x509 days 3650 -key privateca.key -out privateca.crt -config f 命令詳細(xì)解釋:req -new -x509:申請申請(req)(req)一個新的一個新的(new)(new)的的x509x509證書;證書;days 3650:證書的有效期是證書的有效期是36503650天。一般天。一般CACA證書的有效期證書的有效期較長,而用戶證書的有效期相對來說較短;較長,而用戶證書的有效期相對來說較短;-key privateca.key:對這個證書進(jìn)行簽名的對這個證書進(jìn)行簽名的CACA密鑰
10、存放在密鑰存放在privateca.keyprivateca.key中(我們上一步產(chǎn)生中(我們上一步產(chǎn)生CACA密鑰對的時候就是放密鑰對的時候就是放在這里的);在這里的);-out privateca.crt:生成的證書放在生成的證書放在(-out)private(-out)private目錄目錄下,證書的名字是下,證書的名字是ca.crt;ca.crt;-config f:產(chǎn)生證書的時候采用的配置策略,里產(chǎn)生證書的時候采用的配置策略,里面可能包括證書的版本信息、擴展信息等。面可能包括證書的版本信息、擴展信息等。1.5 CA證書的詳細(xì)內(nèi)容版本(V3)序列號(00)加密算法(RSA、MD5)有效
11、期(2005年5月24日 至 2015年5月22日) 公鑰 自簽名 (2048位)頒發(fā)者 證書申請者信息 (注冊過程中的全部信息) 完整證書如下:證書形式:二、 生成用戶證書2.1 生成用戶證書的基本步驟1、在原來創(chuàng)建的. rnd文件中輸入隨機數(shù); 2、利用1中的隨機數(shù)和RSA算法為CA生成一個CA密鑰對;3、向CA系統(tǒng)提出證書申請,輸入系統(tǒng)要求的個人信息;系統(tǒng)根據(jù)用戶的注冊信息生成一個未簽名的用戶證書;4、CA對用戶的信息進(jìn)行檢查,對用戶證書進(jìn)行簽名或不響應(yīng)用戶請求。 生成用戶證書的步驟和生成CA證書大致上是一樣的,用戶證書和CA證書的格式大致上也是相同的。其區(qū)別主要如下: 首先,用戶證書必
12、須要被CA簽名才會有效。因為,兩個用戶相互信任的基礎(chǔ)是都信任同一個CA;具體到證書格式上,x509證書的v3版本中,有一個選項表示證書的類型是否是CA證書(具體的內(nèi)容見證書實例);另外,在一個根CA證書中是沒有證書鏈的,因為它不需要別的更高級別的機構(gòu)來保證它的有效性;而用戶證書中是有一個證書鏈的,用戶之間的相互認(rèn)證是需要對這個證書鏈進(jìn)行查找的。下面我們來看看CA對用戶證書簽名的命令。 2.2 對用戶的證書進(jìn)行簽名命令:ca ss_cert cert_new.crt key privateca.key config f policy policy_anything out signedcert.
13、crt 生成的用戶證書:如下三、撤銷用戶證書命令: ca revoke signedcert.crt config f 四、發(fā)布證書撤銷列表命令: ca -gencrl -crldays 7 -config f -out crlca.crl證書列表的主要內(nèi)容:證書列表的有效期下次發(fā)布證書列表的時間被撤銷的證書的序列號證書撤銷列表的具體形式:命令解釋:由CA產(chǎn)生(gen)一個crl列表,有效期是7天(crldays 7),產(chǎn)生的撤銷列表是crl/ca.crl。五、數(shù)據(jù)庫的更新 創(chuàng)建兩個用戶證書(序列號分別為01和02),然后撤銷其中一個之(02)后,數(shù)據(jù)庫(index.txt)里的數(shù)據(jù):V060524084846Z01unknown/C=US/ST=WDC/L=WDC/O=Haverd/OU=CS/CN=Bear/Email=R060524091852Z050524092357Z02unknown/C=Us/ST=NY/L=MH/O=CS/OU=CS/CN=xio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 分享成功人士的工作習(xí)慣計劃
- 《貴州圖南礦業(yè)(集團(tuán))有限公司興仁市下山鎮(zhèn)四海煤礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》評審意見
- 《福泉市鵬盛礦業(yè)有限責(zé)任公司貴州省福泉市陸坪鎮(zhèn)大沙壩鋁土礦(變更)礦產(chǎn)資源綠色開發(fā)利用方案(三合一)》專家組評審意見
- 人教版初中七年級下冊歷史與社會 5.1.1遼闊的疆域 教學(xué)設(shè)計
- 財政與金融基礎(chǔ)知識課件
- 第二十五教時小結(jié)本單元內(nèi)容-俗稱“加法定理”教學(xué)實錄
- 2025年沈陽道路貨運駕駛員從業(yè)資格證考試題庫
- 2025年長治a2貨運從業(yè)資格證考試
- 2025年淮南從業(yè)資格證應(yīng)用能力考些啥
- 2025年常德貨運從業(yè)資格證考試模擬考試
- XX省血液調(diào)配管理辦法
- 科創(chuàng)板問題測試題庫300題試題及答案
- 微信開放平臺網(wǎng)站信息登記表
- 商業(yè)銀行員工輕微違規(guī)行為積分管理辦法
- JJG 700 -2016氣相色譜儀檢定規(guī)程-(高清現(xiàn)行)
- 壓力容器安全檢查表
- 供應(yīng)商反向評估表
- 曲線帶式輸送機的設(shè)計
- 《國際關(guān)系學(xué)入門》課件第三章 國際關(guān)系理論
- 五金公司績效考核(共22頁)
- 體育課(軍體拳)教案(共43頁)
評論
0/150
提交評論