Apache新增ssl的流程

2022-08-03 01:30:12 字數 4198 閱讀 6091

apache新增

ssl的流程

1. 首先保證安裝了

openssl

,並且能夠在在終端執行它。

2. 為你的

apache

(三倍-des

加密,pem

格式)建立乙個

rsa私鑰。

$   openssl   genrsa   -des3   -out  

server.key   1024    

請將你的

server.key

檔案備份,並且記住你輸入得進入密碼。能夠通過以下的命令察看該檔案:

$   openssl   rsa   -noout   -text   -in  

server.key    

你也可以通過以下的命令建立乙個沒有加密的版本(不建議):

$   openssl   rsa   -in   server.key   -out

server.key.unsecure    

3. 通過

rsa私鑰檔案來建立乙個證書請求檔案(

pem格式,

csr)

$   openssl   req   -new   -key   server.key

-out   server.csr    

同樣,你需要做乙個備份,同時,在

openssl

命令列提示輸入

commonname

的過程中,你必須輸入乙個

fqdn

(乙個完全的有資格的網域名稱),乙個站點生成了乙個

csr請求檔案。可以通過以下的命令來檢視

csr的詳細內容:

$   openssl   req   -noout   -text   -in  

server.csr    

4. 現在,你已經有了乙個證書請求檔案(

csr)了,你可以將此檔案傳送給乙個認證機構來進行認證,當然會等一段時間並且花上一些錢。或者通過自己的

ca認證機構來進行認證。

§ verisign  

§ thawte   consulting  

§ certisign   certificadora   digital   ltda.  

§ iks   gmbh  

§ uptime   commerce   ltd.  

§ belsign   nv/sa  

通過以下的命令來察看經過認證的證書資訊。

$   openssl   x509   -noout   -text   -in

server.crt    

5. 現在,我們有了兩個檔案,

server.key

和server.crt  

,下面就是在

apache

中的httpd.conf

檔案配置:

sslcertificatefile         /path/to/this/server.crt

sslcertificatekeyfile   /path/to/this/server.key  

請求檔案不再需要了。

· 使用自認證機構:

最簡單的就是通過

ca.pl

或者是通過

ca.sh

來對請求檔案簽名。

1. 為你的

ca建立乙個

rsa私鑰(三

des加密並且是

pem格式):

$   openssl   genrsa   -des3   -out   ca.key

1024    

備份並且記住你輸入的訪問密碼。通過以下的命令可以檢視私鑰的詳細資訊:

$   openssl   rsa   -noout   -text   -in  

ca.key    

你也可以建立乙個非加密的

pem格式的私鑰:

$   openssl   rsa   -in   ca.key   -out  

ca.key.unsecure    

2. 建立乙個自簽名的證書檔案(

x.509

結構,輸出為

pem格式):

$   openssl   req   -new   -x509   -days  

365   -key   ca.key   -out   ca.crt    

通過以下的命令查詢:

$   openssl   x509   -noout   -text   -in

ca.crt    

3. 準備乙個指令碼檔案來對請求檔案簽名,

openssl

不允許簡單的通過

openssl   ca

來對請求檔案簽名。所以乙個名為

sign.sh

的指令碼檔案(

mod_ssl

的子目錄

pkg.contrib

下),是用這個來進行簽名,不過還是建議使

用下面的方法進行簽名。

4. 現在可以用這個指令碼來進行簽名了(剛才生成的

ca的私鑰和證書必須在這個指令碼的目錄下):

$   ./sign.sh   server.csr    

得到乙個證書檔案—〉

server.crt.    

· 怎樣更改我的私鑰的

pass-phrase  

密碼?只需要簡單的讀取它並重新寫入,同時指定它的

pass-phrase  

,通過以下的命令完成:

$   openssl   rsa   -des3   -in   server.key

-out   server.key.new  

$   mv   server.key.new   server.key  

這時,你被要求兩次來輸入乙個

pem 

的pass-phrase

,第一次要求輸入舊密碼,第二次要求輸入新密碼。

· 怎樣可以消除

apache

啟動的時候的密碼(

pass-phrase

)提示對話方塊:

原因是儲存在你的私鑰檔案中的

rsa私鑰是乙個一加密格式儲存的。密碼是保證能夠讀取這個金鑰檔案,如果保證你的伺服器足夠的安全的話,可以通過以下的命令消除:

1. 從

rsa私鑰中移除密碼(同時保留原始檔):

$   cp   server.key   server.key.org  

$   openssl   rsa   -in   server.key.org   -out

server.key    

2. 保證私鑰只能被

root

使用者讀取:

$   chmod   400   server.key    

現在這是乙個沒有沒有加密的金鑰拷貝。在使用這個金鑰檔案的時候,將不會再提示你輸入密碼,然而,如果其他任何人的到這個私鑰檔案,他都可以在網路上模仿你。所以一定要保證這個金鑰檔案只能被

root

使用者讀取。

· 怎麼驗證私鑰檔案和我的證書檔案是匹配的?

私鑰檔案包括一系列的數字。這些數字中的兩個是「來自

「公鑰檔案的,其他的是私鑰的一部分。公鑰的一些

bit值被嵌入到你的證書中(我們可以從證書

csr中得到),通過以下的命令來檢視輸出的數字,同時比較這些數字:

$   openssl   x509   -noout   -text   -in

server.crt  

$   openssl   rsa   -noout   -text   -in  

server.key    

他們必須一致,因為它們都是很長的串,所以可以通過下面的方法來檢視:

$   openssl   x509   -noout   -modulus   -in

server.crt   |   openssl   md5  

$   openssl   rsa   -noout   -modulus   -in

server.key   |   openssl   md5    

這時比較兩個短的數字串

$   openssl   req   -noout   -modulus   -in

server.csr   |   openssl   md5    

Windows下Apache新增SSL模組

參考資料 測試環境 windows2003 32位 apache2.4 php5.4 首先cmd命令進入 bin目錄下 1 成 伺服器公鑰檔案server.key openssl genrsa out server.key 1024 2 生成server.csr openssl req new ou...

配置ssl證書 Apache配置SSL證書指引

1 使用yum安裝apache yum install httpd y2 修改測試頁面 vim var www html index.hemlps 修改為測試內容,我這裡修改的是 this is a test page.3 啟動服務 service httpd start4 訪問測試 1 安裝ssl...

ssl 協議流程

最近在看公司的ssl協議實現,現將其流程總結如下 步驟解釋如下 1.client clienthello server。1 clienthello 訊息體 client.version 客戶端協議版本 clienthello.timestamp 客戶端時間戳 clienthello.random 客...