標籤:瀏覽器 用戶端 網站伺服器 機構 客戶機
背景:
http方式:用戶端到伺服器採用明文傳輸,任何人可以輕鬆截取或篡改機密資料
https方式:隱私資料採用密文傳輸,即使被截獲也無法解密
環境:
1台伺服器(可以和頒發機構共用一台主機)
1台憑證授權單位
1台客戶機
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/8D/F2/wKiom1iv4g3xQgj9AAA7Q7tMC9w751.png" title="1.png" alt="wKiom1iv4g3xQgj9AAA7Q7tMC9w751.png" />
過程:
第一步:網站伺服器產生秘鑰,將公開金鑰發送給憑證授權單位CA,用來做認證
第二步:CA根據自己的秘鑰演算法,結合公開金鑰產生crt認證檔案,並頒發給網站伺服器
第三步:用戶端向伺服器發送請求後,伺服器將認證相關資訊發送給用戶端瀏覽器
第四步:用戶端檢查收到的認證是否是信任機構的認證,是,則點信任表示授權該認證
一、頒發機構主機,找到openssl工具,先產生根憑證檔案秘鑰cakey.pem
說明:umask用來限制一般使用者訪問;調用到openssl工具;rsa演算法;並產生和輸出cakey .pem檔案;秘鑰長度為2048
命令: ( umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M02/8D/F0/wKioL1iv4umClcUXAAAgbGnN-90130.png" style="float:none;" title="10.png" alt="wKioL1iv4umClcUXAAAgbGnN-90130.png" />
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/8D/F0/wKioL1iv4unx7MfyAAAIdFto6e0570.png" style="float:none;" title="11.png" alt="wKioL1iv4unx7MfyAAAIdFto6e0570.png" />
二、修改openssl設定檔/etc/pki/tls/openssl.cnf,設定產生自簽署認證時的關鍵預設值
說明:國家、省份、城市、組織、組織部門
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8D/F0/wKioL1iv4w_T5Jd1AABc70rl_l0592.png" title="2.png" alt="wKioL1iv4w_T5Jd1AABc70rl_l0592.png" />
三、建立根憑證檔案cacert.pem
說明:採用req格式;建立申請檔案;國際標準509;由cakey.pem秘鑰產生;輸出名cacert.pem;有效期間為365天;設定檔預設,填寫網域名稱和管理員郵箱
命令 openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8D/F0/wKioL1iv43rwWjHIAABcq7qP1r4465.png" style="float:none;" title="30.png" alt="wKioL1iv43rwWjHIAABcq7qP1r4465.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/8D/F2/wKiom1iv43uje_UcAAAKE9r50gM074.png" style="float:none;" title="31.png" alt="wKiom1iv43uje_UcAAAKE9r50gM074.png" />
四、網站伺服器主機
說明:伺服器需啟用的一些模組(如已安裝apache,需yum 安裝mod_ssl和openssl,採用動態模式載入模組)
--with-included-apr--enable-so--enable-deflate=shared--enable-expires=share--enable-rewrite=shared--enable-ssl
1、產生一個秘鑰httpd.key
命令 (umask 077;/usr/bin/openssl genrsa 1024 >httpd.key)
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M02/8D/F2/wKiom1iv453hjoh0AAA8B2SiaIQ776.png" title="41.png" alt="wKiom1iv453hjoh0AAA8B2SiaIQ776.png" />
2. 用httpd.key秘鑰,建立一個認證申請檔案httpd.crq
說明:填寫頒發機構資訊;網域名稱只能選擇一個有效(如果有多個);無需額外加密提高安全性,直接斷行符號即可
命令 /usr/bin/openssl req -new -key httpd.key -out httpd.crq
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/F2/wKiom1iv48-zRzKQAABtvztxGwQ604.png" style="float:none;" title="420.png" alt="wKiom1iv48-zRzKQAABtvztxGwQ604.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/F0/wKioL1iv48_TP254AAAGcZdGt-Q555.png" style="float:none;" title="421.png" alt="wKioL1iv48_TP254AAAGcZdGt-Q555.png" />
3. 將認證申請檔案交給憑證授權單位
650) this.width=650;" src="https://s1.51cto.com/wyfs02/M02/8D/F0/wKioL1iv4_SyMKriAAAUV0kcjJ8123.png" title="43.png" alt="wKioL1iv4_SyMKriAAAUV0kcjJ8123.png" />
五、頒發機構主機建立: index.txt,用於存放頒發了認證存放的記錄,serial用於說明認證序號
說明:需在openssl設定檔中指明/etc/pki/tls/openssl.cnf
命令touch index.txt
命令echo "00">>serial
650) this.width=650;" src="https://s5.51cto.com/wyfs02/M00/8D/F0/wKioL1iv5AiCJeSvAAAZqAOYNUY939.png" style="float:none;" title="50.png" alt="wKioL1iv5AiCJeSvAAAZqAOYNUY939.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/8D/F2/wKiom1iv5AmypgvFAAARdamOACs852.png" style="float:none;" title="51.png" alt="wKiom1iv5AmypgvFAAARdamOACs852.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/8D/F0/wKioL1iv5AmzwNAKAABA8Rmel_E143.png" style="float:none;" title="52.png" alt="wKioL1iv5AmzwNAKAABA8Rmel_E143.png" />
六、產生認證檔案http.crt
說明:用ca命令;指定申請檔案;輸出;有效期間;檢查網站伺服器申請資訊是否和頒發機構一致,如審核沒問題,就回複y簽署;成功產生認證之後,serial和index.txt會自動記錄值
命令 /usr/bin/openssl ca -in /tmp/httpd.crq -out /tmp/http.crt -days 365
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8D/F2/wKiom1iv5DTwuENQAACVXLtSeYM192.png" style="float:none;" title="60.png" alt="wKiom1iv5DTwuENQAACVXLtSeYM192.png" />
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M00/8D/F0/wKioL1iv5DSTD8JlAAAdbine38I253.png" style="float:none;" title="61.png" alt="wKioL1iv5DSTD8JlAAAdbine38I253.png" />
七、將產生的認證http.crt傳給網站伺服器
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/F2/wKiom1iv5FySFZuoAAAwZYLzqVA172.png" title="7.png" alt="wKiom1iv5FySFZuoAAAwZYLzqVA172.png" />
八、網站伺服器修改設定檔
1. 如apache,主設定檔/usr/local/apache2/conf/httpd.conf
說明:啟用ssl加密,載入ssl模組
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/F2/wKiom1iv5HGTFMPmAAAJjugbc0o957.png" style="float:none;" title="810.png" alt="wKiom1iv5HGTFMPmAAAJjugbc0o957.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M01/8D/F0/wKioL1iv5HHwoiVDAAAgzl0GUO0082.png" style="float:none;" title="811.png" alt="wKioL1iv5HHwoiVDAAAgzl0GUO0082.png" />
2. 繼續修改設定檔/usr/local/apache2/conf/extra/httpd-ssl.conf
說明:連接埠號碼預設443;設定根目錄,網域名稱;開啟引擎;指定認證檔案和秘鑰檔案目錄
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M00/8D/F2/wKiom1iv5I_Cw6oBAAAqcyuldbw063.png" style="float:none;" title="820.png" alt="wKiom1iv5I_Cw6oBAAAqcyuldbw063.png" />
650) this.width=650;" src="https://s2.51cto.com/wyfs02/M00/8D/F2/wKiom1iv5JDxPzaGAAA7WsJyvVY372.png" style="float:none;" title="821.png" alt="wKiom1iv5JDxPzaGAAA7WsJyvVY372.png" />
九、客戶機測試
650) this.width=650;" src="https://s3.51cto.com/wyfs02/M01/8D/F0/wKioL1iv5Lri7lFBAAAK8UINKqc326.png" title="9.png" alt="wKioL1iv5Lri7lFBAAAK8UINKqc326.png" />
本文出自 “一馬踏平川” 部落格,請務必保留此出處http://huangzp.blog.51cto.com/12434999/1900957
https服務搭建