国产亚洲欧美人成在线,免费视频爱爱太爽了无码,日本免费一区二区三区高清视频 ,国产真实伦对白精彩视频

歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
電話圖標(biāo) 余先生:13699882642

網(wǎng)站百科

為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

SSL和 HTTPS

發(fā)表日期:2017-06 文章編輯:小燈 瀏覽次數(shù):3990

SSL是什么?

SSL的全稱是Secure Sockets Layer,是網(wǎng)景公司創(chuàng)造的一種協(xié)議。它在TCP協(xié)議之上,應(yīng)用層之下運(yùn)作,是用來(lái)傳輸敏感信息的,比如在網(wǎng)上傳輸信用卡的一些細(xì)節(jié)。SSL通過(guò)使用一個(gè)私鑰來(lái)加密信息,加密后的信息會(huì)在一個(gè)激活了SSL功能的連接中進(jìn)行傳輸,從而阻止了對(duì)信息的竊取。

最流行的SSL的使用方法是,與瀏覽器結(jié)合(使用HTTP協(xié)議),但事實(shí)上很多網(wǎng)絡(luò)的應(yīng)用都可以從使用SSL中受益。按照約定,使用SSL連接的URL地址以https開(kāi)頭,而不是http。

SSL可以做什么?

1. 可以讓服務(wù)器證明自己的身份

2. 可以讓用戶證明自己的身份(可選擇的)

3.可以建立加密的連接

SSL協(xié)議

目的:

為兩個(gè)交互的應(yīng)用提供可靠性和私密性

組成:

SSL協(xié)議由兩層組成,分別是SSL記錄層和SSL握手層。記錄層用來(lái)傳輸大量數(shù)據(jù),而握手層是為數(shù)據(jù)傳輸建立安全的連接。

握手的流程:

1. 對(duì)“ciper suite”進(jìn)行協(xié)商

2.驗(yàn)證服務(wù)器

3.驗(yàn)證客戶端(可選擇)

4.生成 session keys

5.建立一個(gè)安全連接

兩個(gè)有用的術(shù)語(yǔ)

1. 證書

包含的內(nèi)容:證書發(fā)布者的名稱,證書發(fā)布的對(duì)象,公鑰,時(shí)間戳

2.電子簽名

是從上一個(gè)消息中制造出的一種消息產(chǎn)物,消息產(chǎn)物有以下重要的特性:1. 這種制造是很難被反向恢復(fù)的 2. 很難用一條不同的消息,卻計(jì)算出具有相同的值的消息產(chǎn)物

SSL證書

在服務(wù)器端使用的SSL證書

只要你已經(jīng)正確地生成一個(gè)滿足X.509的SSL證書,你可以通過(guò)生成一個(gè)CA(證書機(jī)構(gòu)),從而自簽名,也可以讓一個(gè)具有全球認(rèn)可度的證書機(jī)構(gòu)來(lái)對(duì)此證書進(jìn)行簽名。

在這個(gè)證書簽名的過(guò)程中,它就已經(jīng)使用了OpenSSL的工具集,或是用來(lái)觸發(fā)LDAP或是HTTP協(xié)議的服務(wù)器SSL連接的庫(kù)。

生成和對(duì)自簽名的證書進(jìn)行簽名

自簽名的證書有一個(gè)最大的優(yōu)勢(shì),那就是它完全是免費(fèi)的,并且它可能完全符合需要。自簽名的證書在封閉的實(shí)驗(yàn)室環(huán)境中,或是用作測(cè)試需要是極好的。

自簽名證書的一個(gè)缺點(diǎn)是,當(dāng)訪問(wèn)一個(gè)使用自簽名證書的服務(wù)器時(shí),用戶的瀏覽器或是其他應(yīng)用程序會(huì)有警告產(chǎn)生。通過(guò)將服務(wù)器端的證書移植到客戶端應(yīng)用中,警告可能可以被消除。在一個(gè)面向公眾和生產(chǎn)額環(huán)境中,不建議使用自簽名證書,因?yàn)橛捎谶@些警告帶來(lái)的不信任問(wèn)題和對(duì)用戶造成的可能的困惑情緒。

注意:如果你想要成立一個(gè)商業(yè)網(wǎng)站,那么你必須要獲得一個(gè)被認(rèn)可的CA簽名的證書。


SSL是如何工作的?

進(jìn)行驗(yàn)證:這個(gè)網(wǎng)站必須有一個(gè)證書,服務(wù)器必須要向CA提交證書申請(qǐng)。

連接建立過(guò)程

進(jìn)行加密:必須分享keys

證書獲取流程

X.509是什么?

X.509是ITU-T(國(guó)際電信委員會(huì))發(fā)布的電子證書的一個(gè)具體化。它將驗(yàn)證用戶或電腦系統(tǒng)所需要的信息和屬性具體化,從而被廣泛地用于安全控制和在網(wǎng)上進(jìn)行電子簽名證書的分發(fā)。OpenSSL經(jīng)常使用X.509證書

OpenSSL

什么是OpenSSL?

OpenSSL課題致力于開(kāi)發(fā)一個(gè)強(qiáng)健的、商業(yè)檔次、功能健全的開(kāi)源工具集,實(shí)現(xiàn)的是第二版和第三版SSL協(xié)議規(guī)范,和第一版的TLS協(xié)議規(guī)范,并且也是一個(gè)功能全大的通用密碼庫(kù)。

OpenSSL課題由一個(gè)全球性的公益組織管理,利用網(wǎng)絡(luò)來(lái)交流、計(jì)劃和開(kāi)發(fā)這個(gè)工具及其文檔。OpenSSL基于一個(gè)由 Eric A. Young和Tim J.Hudon開(kāi)發(fā)的SSLeay庫(kù)。

特點(diǎn):

1. 開(kāi)源

2. 全功能的實(shí)現(xiàn)

3. 跨平臺(tái)(Windows和Unix)

4. 命令行界面

5. 應(yīng)用編程界面(針對(duì)C/C++, Perl, PHP, Python)

功能:

1. 創(chuàng)造出RSA, DSA和DH的秘鑰對(duì)

2. 創(chuàng)造出X509的證書,CSRs和CRLs

3. 計(jì)算出消息產(chǎn)物

4. 利用密碼進(jìn)行編碼和解碼工作

5. 對(duì)?SSL/TLS客戶端和服務(wù)器進(jìn)行測(cè)試

6. 處理S/MIME簽名和加密過(guò)的郵件

利用OpenSSL進(jìn)行實(shí)驗(yàn)

建立CA

為了實(shí)現(xiàn)自簽名的證書,你必須首先建立一個(gè)CA,步驟如下:

1. 建立一個(gè)初始的工作環(huán)境

比如在你的主目錄下,在命令行中敲以下的代碼:

cd && mkdir -p myCA/signedcerts && mkdir myCA/private && cd myCA

這行代碼會(huì)在你的主目錄下建立一個(gè)名叫myCA的新的子目錄,并且在myCA的文件夾中有兩個(gè)叫做“signedcerts”和“private”的子目錄。

myCA中包含CA證書,證書數(shù)據(jù)庫(kù),生成的證書,鑰匙和請(qǐng)求。

myCA/signedcerts中包含被簽名的證書的拷貝。

myCA/private中包含私鑰。

2. 建立初始證書數(shù)據(jù)庫(kù)

在myCA的子目錄下建立初始證書數(shù)據(jù)庫(kù)。在命令行中敲下如下命令:

echo '01' > serial? && touch index.txt

3. 建立初始caconfig.cnf文件

為創(chuàng)建CA證書而創(chuàng)建一個(gè)初始的caconfig.cnf文件。使用你所喜愛(ài)的文本編輯器,編輯caconfig.cnf文件,將以下的內(nèi)容插入文件:

caconfig.cnf內(nèi)容

注意:確保把此文件中特定的信息進(jìn)行了修改,比如在[ local_ca ]和[ req ]里的/home/<username>,同時(shí)在[root_ca_distinguished_name]中的commonName, stateOrProvinceName, countryName也需要改動(dòng)。

當(dāng)此文件編輯完畢后,將其保存為caconfig.cnf

4. 生成CA根證書和秘鑰

通過(guò)以下的命令生成CA根證書和秘鑰。

1.?export OPENSSL_CONF=~/myCA/caconfig.cnf

這條命令設(shè)置了一個(gè)環(huán)境變量,OPENSSL_CONF,這個(gè)變量會(huì)強(qiáng)制openssl工具去你指定的目錄中尋找配置文件。

2. openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 1825

通過(guò)這條命令來(lái)CA證書和秘鑰。輸入以上命令后,得到的結(jié)果如下:

生成CA后的反饋

你會(huì)被強(qiáng)制要求輸入一個(gè)密碼。請(qǐng)記住這個(gè)密碼,因?yàn)橐院竺恳淮文阆胍眠@個(gè)CA為新的服務(wù)器或者客戶端證書簽名時(shí)都需要用到。

以上的命令會(huì)生成一個(gè)使用PEM格式和RSA公/私鑰密碼自簽名的證書。這個(gè)證書的有效期為1825天。

生成的文件存放的位置,以及內(nèi)容如下:

~/myCA/cacert.pem: CA的公證書

~/myCA/private/cakey.pem: CA的私鑰

創(chuàng)建一個(gè)自簽名的服務(wù)器證書

我們現(xiàn)在已經(jīng)配置好CA的證書,我們可以用它來(lái)為自簽名的證書簽名。在開(kāi)始下面的步驟之前,你可能希望能為證書的私鑰加密。為私鑰加密的好處是,可以防止它被竊取。

這個(gè)開(kāi)啟SSL功能的應(yīng)用每一次啟動(dòng),都需要輸入密碼,否則這個(gè)證書就沒(méi)有辦法被使用。在這樣的情況下,雖然非常安全,但也可能帶來(lái)一些問(wèn)題,比如如果電腦重啟,服務(wù)必須開(kāi)啟但是知道密碼的人又不在場(chǎng)。

一種解決這個(gè)問(wèn)題的辦法是需要用一些安全的代價(jià)來(lái)交換。密碼可以被解析,這樣啟用了SSL的應(yīng)用就可以自動(dòng)啟動(dòng),而不用必須輸入密碼。

想要生成一個(gè)啟用SSL服務(wù)的自簽名證書,遵循如下幾步:

1. 創(chuàng)建一個(gè)服務(wù)器配置文件

使用你喜愛(ài)的編輯器,在myCA文件下新建一個(gè)exampleserver.cnf文件,內(nèi)容如下:

注意:

1. 確保要將server_distinguished_name中的commonName的值改為與CA配置文件中的值相一致,否則會(huì)出現(xiàn)不匹配的錯(cuò)誤。

2. 將[ server_distinguished_name]下的commonName改為localhost,同時(shí)將[ alt_name ]下的DNS.0和DNS.1都改成localhost。

編輯完畢之后,將文件保存。

2. 生成服務(wù)器證書和秘鑰

首先輸入以下命令:

export OPENSSL_CONF=~/myCA/exampleserver.cnf

與之前生成CA中的一樣,這行命令也是通過(guò)設(shè)置環(huán)境變量OPENSSL_CONF的值,強(qiáng)制openssl到我們指定的地方尋找配置文件。

接著通過(guò)下面的代碼生成服務(wù)器證書和秘鑰:

openssl req -newkey rsa:1024 -keyout tempkey.pem -keyform PEM -out tempreq.pem -outform PEM

我們會(huì)看到反饋結(jié)果如下:

生成服務(wù)器證書和秘鑰的反饋信息

我們也會(huì)被要求輸入密碼。請(qǐng)記住這個(gè)密碼。

將私鑰轉(zhuǎn)換成不加密的形式

使用如下的命令將私鑰轉(zhuǎn)換成不加密的形式:

openssl rsa < tempkey.pem > server_key.pem

我們會(huì)被要求輸入密碼,反饋結(jié)果如下:

秘鑰轉(zhuǎn)換的反饋結(jié)果

如果你希望保持秘鑰為加密狀態(tài)的話,輸入以下的命令,而不要進(jìn)行上面的步驟:

mv tempkey.pem server_key.pem

使用CA的秘鑰對(duì)服務(wù)器證書進(jìn)行簽名

使用如下的命令:

export OPENSSL_CONF=~/myCA/caconfig.cnf

這條命令將OpenSSL的配置文件位置又重新變回CA的配置文件位置。

使用如下命令對(duì)證書進(jìn)行簽名:

openssl ca -in tempreq.pem -out server_crt.pem

你會(huì)被要求輸入我們?cè)趧?chuàng)立CA時(shí)設(shè)置的密碼。在命令行中輸入密碼,你會(huì)被要求確認(rèn)服務(wù)器證書的信息,最后確認(rèn)是否對(duì)該證書進(jìn)行簽名。命令行的反饋結(jié)果如下:

對(duì)服務(wù)器證書進(jìn)行簽名過(guò)程中的反饋信息

使用以下的命令行移除這個(gè)暫時(shí)的證書,以及秘鑰文件:

rm -f tempkey.pem && rm -f tempreq.pem

恭喜你!到目前為止,你已經(jīng)擁有了一個(gè)自簽名的服務(wù)器證書和秘鑰對(duì):

server_crt.pem:服務(wù)器應(yīng)用證書文件

server_key.pem:服務(wù)器應(yīng)用秘鑰文件

你可以在你需要的服務(wù)器應(yīng)用軟件上使用這個(gè)證書和秘鑰。

瀏覽器配置

使用PEM證書進(jìn)行SSL連接,需要將CA證書引入到火狐web瀏覽器中。

將該服務(wù)器的根證書引入到瀏覽器中可以保證客戶端可以與該服務(wù)器端建立一個(gè)安全的SSL連接,而不會(huì)被警告自簽名的問(wèn)題。

將證書引入火狐瀏覽器

在火狐瀏覽器中選擇首選項(xiàng)

在左側(cè)欄目中選擇高級(jí) - > 證書 - > 查看證書

在火狐瀏覽器中導(dǎo)入證書

選擇證書機(jī)構(gòu) - > 導(dǎo)入?

選擇之前生成的cacert.pem文件導(dǎo)入

修改Apache文件里的內(nèi)容

修改/etc/apache2/sites-available中default-ssl文件的SSLCertificateFile以及

SSLCertificateKeyFile,前者改為給服務(wù)器頒發(fā)的證書文件,server_crt.pem或

01.pem都可,后者是服務(wù)器私鑰server_key.pem,不是CA的私鑰cacert.pem。

修改Apache的配置文件

開(kāi)啟SSL服務(wù)

執(zhí)行a2enmod ssl和a2ensite default-ssl啟動(dòng)SSL模塊,

執(zhí)行service apache2 restart重啟服務(wù)器

啟動(dòng)SSL模塊

最終的結(jié)果

我們?cè)赨RL欄目中輸入http://localhost,顯示出如下頁(yè)面,并且地址欄前面出現(xiàn)一鎖的形狀,將鼠標(biāo)浮在鎖上可以看到我們之前編輯CA配置文件中指定的機(jī)構(gòu)名稱。

https實(shí)驗(yàn)結(jié)果截圖
本頁(yè)內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過(guò)網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁(yè)中由涉嫌抄襲的內(nèi)容,請(qǐng)及時(shí)與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會(huì)在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://jstctz.cn/20532.html
相關(guān)開(kāi)發(fā)語(yǔ)言
 八年  行業(yè)經(jīng)驗(yàn)

多一份參考,總有益處

聯(lián)系深圳網(wǎng)站公司塔燈網(wǎng)絡(luò),免費(fèi)獲得網(wǎng)站建設(shè)方案及報(bào)價(jià)

咨詢相關(guān)問(wèn)題或預(yù)約面談,可以通過(guò)以下方式與我們聯(lián)系

業(yè)務(wù)熱線:余經(jīng)理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨詢
  • 在線咨詢
  • 官方微信
  • 聯(lián)系電話
    座機(jī)0755-29185426
    手機(jī)13699882642
  • 預(yù)約上門
  • 返回頂部