[進階] 快速自行製作 SSL 證書

有時候,我們可能需要 SSL 證書(SSL Certificate)作 HTTPS 溝通。不過,在研發階段時,我們未必即時獲得由 CA 簽發的 SSL 證書,而自行製作,以作 HTTPS 之用。記下這句指令,以便臨時建立一個與伺服器溝通的渠道。

首先更改目錄至所需位置,然後再執行以下指令:

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

 

若顯示 -bash: openssl: command not found ,即代表伺服器上未安裝 openssl ,需要預先安裝

Debian: apt update; apt install openssl
CentOS: yum update; yum install openssl

 

製作 SSL 證書的過程中,閣下或需輸入以下資料,同時亦可直接漏空:按 Enter 略過。

Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:

完成後,該目錄將會有以下檔案。緊記將檔案妥善保存,不要將他們存放至可被第三方瀏覽的目錄。

公鑰(一般的 SSL Certificate File ): server.crt

私鑰(一般的 SSL Certificate Key File): server.key

注:由於這為自行簽發的 SSL Cert 而非由 CA 簽發,不少瀏覽器將會彈出警告,使用者或需要將該公鑰加入至電腦,以便顯示正確的綠色 https

另外,此措施不建議長時期使用 及 於正常普通使用者的環境使用,因為使用者的裝置或會因安全問題而不能連接,普通使用者亦因不能區分 正常有問題 的連接(見瀏覽器網址列的鎖 或 使用顏色區分 http 與 https)而遭受中間人攻擊(MITM Attack),