Linux 自簽名 CA 本地主機 IP,安全 SSL 證書 for HTTPS

Linux

在 Linux 伺服器主機,自簽名 SSL 成為憑證證書頒發機構 CA,設定伺服器及 Chrome 瀏覽器匯入憑證,使本地主機 IP 能夠在 HTTPS 安全瀏覽。

存放證書目錄

新建存放證書目錄,並進入:

mkdir certs
cd certs

成為證書頒發機構 CA

產生根私鑰:

openssl genrsa -des3 -out ftCA.key 2048

產生根簽名證書:

openssl req -x509 -new -nodes -key ftCA.key -sha256 -days 36500 -out ftCA.pem

產生 CA 簽名證書

產生私鑰:

penssl genrsa -out ft.com.key 2048

產生簽名證書請求:

openssl req -new -key ft.com.key -out ft.com.csr

產生擴展設定檔案:

vim ft.com.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = ft.com # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
DNS.2 = bar.ft.com # Optionally, add additional domains (I've added a subdomain here)
IP.1 = 192.168.1.233 # Optionally, add an IP address (if the connection which you have planned requires it)

產生簽名證書:

openssl x509 -req -in ft.com.csr -CA ftCA.pem -CAkey ftCA.key -CAcreateserial -out ft.com.crt -days 36500 -sha256 -extfile ft.com.ext

移除私鑰密碼

須移除私鑰密碼,否則使用的伺服器,如網頁伺服器 Nginx,使用時則須輸入密碼,否則將無法使用。

變更檔案名稱:

mv ft.com.key ft.com.key.raw

去除私鑰密碼:

openssl rsa -in ft.com.key.raw -out ft.com.key

刪除變更的檔案:

rm ./ft.com.key.raw

如何使用憑證

Chrome 設定

匯入根簽名證書:

伺服器使用

在伺服器使用這兩個檔案:

  • ft.com.crt
  • ft.com.key

參考

發表留言