HTTPS簽名證書流程及多域名證書請求方式

一、證書申請流程

HTTPS使用簽名證書流程如下:

    1、服務器生成一對公鑰和私鑰(不對稱加密方式,此處的公鑰簡稱<服公鑰>,密鑰簡稱<服密鑰>)
    2、服務器向CA機構進行通信,將<服公鑰>交給CA機構
    3、CA對<服公鑰>進行數字簽名,生成一個<數字簽名>,將兩者綁定在一起<公鑰證書>
    4、<公鑰證書>返回並且存在服務器,在paas平臺的Nginx上導入簽名的證書

二、簽名過程

使用OpenSSL工具,命令如下:

1、創建私鑰

使用openssl工具生成一個RSA私鑰

openssl genrsa -des3 -out server.key 2048

注意:生成私鑰,需要提供一個至少4位,最多1023位的密碼。

2、生成CSR(證書籤名請求CSR文件)

openssl req -new -key server.key -out server.csr

說明:需要依次輸入國家,地區,城市,組織,組織單位,Common Name和Email。其中Common Name,可以寫自己的名字或者域名,如果要支持https,Common Name應該與域名保持一致(對應要簽名的域名),否則會引起瀏覽器警告。

3、刪除密鑰中的密碼

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

說明:如果不刪除密碼,在應用加載的時候會出現輸入密碼進行驗證的情況,不方便自動化部署。

-------------------------------------------------------------------------------------------------------------------------------------

CA機構簽名

可以將上面的證書發server.csr送給證書頒發機構(CA),CA驗證過請求者的身份之後,會出具簽名證書,需要花錢。另外,如果只是內部或者測試需求,也可以使用OpenSSL實現自簽名。

------------------------------------------------------------------------------------------------------------------------------------------

自簽名方法

4、生成自簽名證書

內部或者測試使用,只要忽略證書提醒就可以了。

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

5、生成pem格式的公鑰

有些服務,需要有pem格式的證書才能正常加載,可以用下面的命令:

openssl x509 -in server.crt -out server.pem -outform PEM

6、CER格式轉CRT格式

# openssl x509 -inform DER -in server.cer -out server.crt

三、多域名SSL證書請求

一般默認是針對一個域名進行簽名,也可以在一個證書裏設置多個域名,來實現多個域名使用一個證書的目的。

經過多次實驗,只發現下面一個命令能夠實現:

# openssl req -new -sha256 -key server.key -subj "/" -reqexts SAN -config <(cat /etc/pki/tls/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:yoursite1.com,DNS:www.yoursite2.com")) > server.csr

使用下面的命令來查看csr文件裏的包含信息:

# openssl req -text -noout -in server.csr

如果顯示下面標紅的文字,說明設置成功:

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject:
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus: ..........              
                Exponent: 65537 (0x10001)
        Attributes:
        Requested Extensions:
           
X509v3 Subject Alternative Name:
                DNS:yoursite1.com, DNS:www.yoursite3.com

    Signature Algorithm: sha256WithRSAEncryption
        ........

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章