close

現場(環境)CentOS 7.3 套件: openssl

 

 


原因:

 

雖然現在用let’s encrypt驗證方式,

 

相當快就可以拿到可以用的SSL憑證。

 

 

但總會有特定狀況沒法成功申請let’s encrypt憑證。

 

在沒有要添購外部驗證憑證的狀況下,

 

要使用SSL憑證該怎麼處理?

 

 

 


處理方式:

 

如果遇到以上的狀況,申請私有憑證會是比較好的解套方式。

 

參考網址理由談到SSL 採用 X.509 由上至下的憑證制度。

 

(RootCA → CA → 憑證)

 

 

一般來說我們要申請憑證都會去找CA

 

再由CA去向最高中心RootCA申請核發。

 

最後會取得一層又一層認證過的憑證。

 

 

而這邊我們要自己做私有憑證。

 

就代表以上所有角色都是由我們執行!

 

所以要先了解上面的運作流程。

 

* 私有憑證做出來外面絕對都不會承認它,這點要記住。

 

* 做私有憑證的原因,基本上只是會了符合內部的需求使用。

 

 


Step1. 自己製作RootCA 的私有金鑰(Key)

 

[RootCA 伺服器]

 

切換一個要放私有金鑰(key)的地方

#cd /etc/ssl

 

 

製作私有金鑰

 

# openssl genrsa -des3 -out rootca.key 2048

 

 

這邊的密碼是RootCA的私鑰用的。

 

 

 


Step2. 填寫憑證申請書

 

[RootCA 伺服器]

 

 

有了這把私鑰,就可以用他來填寫申請書(rootca.req)

 

#openssl req -new -key rootca.key -out rootca.req

 

 

 

 


Step3. 簽發憑證

 

[RootCA 伺服器]

 

這邊參考網址有說,這邊自己是RootCA

 

所以是自己簽給自己的狀況。

 

建議別把過期時間設得太短,不然到時候這邊過期,

 

他簽發出去的所有憑證都會一起過期,就演變成全部都要重簽。

 

// -days 後面帶的是日子。這邊設36500表示10年。

 

 

#這邊要先找一下本機的openssl.cnf檔案在哪裡。

 

#find / -name openssl.cnf

 

 

找到路徑後帶進簽發憑證的指令

 

#openssl x509 -req -days 36500 -sha1 -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -signkey rootca.key -in rootca.req -out rootca.crt

 

 

這邊可以看到憑證的申請資料都被帶出來了。

 

而這邊輸入完金鑰密碼就算是核發完成。

 

RootCA方面已經製作完成 )

 

接續到有需求的伺服器端去製作。

 

 


Step4. 製作伺服器使用的私有金鑰

 

[要申請憑證的伺服器]

 

這邊由申請憑證的機器至做出私有金鑰(Private Key)

 

參考網址有說: 這邊做私有金鑰,不要設定密碼。

 

不然服務端在使用憑證時會跳出輸入密碼的訊息。

 

 #openssl genrsa -out [網址].key 2048

 

 

 


Step5. 製作伺服器的憑證申請書

 

[要申請憑證的伺服器]

 

#openssl req -new -key [網址].key -out [網址].req

 

 

 

 


Step 6. RootCA接收到請求。準備簽發憑證

 

[RootCA 伺服器]

 

簽發伺服器端送上來的申請書

 

因為是我們要核發出去的憑證,

 

時間方面就依我們的需求,像本例設定為10年(-days 3650)。

 

// -out 後面出來的 [網址].crt 就是我們要的憑證。

 

#openssl x509 -req -days 3650 -sha1 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req -CA rootca.crt -CAkey rootca.key -CAserial rootca.srl -CAcreateserial -in [網址].req -out [網址].crt

 

 

這步驟完成就會產生 [網址].crt 檔案。

 

將這個憑證檔回傳給申請的伺服器端,就完成憑證核發的作業。

 

 


Step 7. 伺服器端有什麼?

 

申請書交至RootCA後,經過簽核流程,

 

會傳回一個[網址].crt檔案。 這個就是我們要用的SSL憑證。

 

另外我們一開始有用[網址].key去包裝申請單,這個key就是私有金鑰。

 

所以伺服器端要設定SSL憑證的話,需要的檔案有兩隻。

 

1) SSL憑證( [網址].crt )

 

2) 伺服器的私有金鑰 ([網址].key

 

 

要設定相關服務也都是用這兩個檔案就可以完成。

 

關於自己申請憑證的方式介紹到這邊,大家可以自己試試看。

 

套用到服務方面就請大家依各自需求,到google查詢了。

 

<本篇完>

 

參考網址:

不自量力のWeithenn: SSL Certificate-自行產生SSL 憑證

 

arrow
arrow
    全站熱搜

    IT001 發表在 痞客邦 留言(3) 人氣()