如何申請購買HTTPS證書

hdgara1發表於2020-06-24

如何申請購買HTTPS證照

HTTPS 證照 

也稱SSL伺服器證照或者 。,是數字證照中的一種,由受信任的數字證照頒發機構CA在驗證伺服器身份後頒發,具有伺服器身份驗證,資料傳輸加密以及保護資料的完整等功能,配置在伺服器上。所以由合法 頒發的HTTPS證照遵循SSL協議,透過在客戶端瀏覽器和Web伺服器之間建立一條SSL安全通道,對傳送的資料進行加密和隱藏;確保資料在傳送中不被篡改和竊取,保障資料的完整性和安全性,SSL安全協議是由網景(Netscape Communication)公司設計開發主要用來提供對使用者和伺服器的認證,目前已成為該領域中全球化的標準。HTTPS證照廣泛應用於網上銀行,金融系統,購物網站以及政府組織機構等領域,用來保障網站客戶端與伺服器端的資料傳輸安全和網站真實身份認證。

向CA機構購買HTTPS證照

由於HTTPS證照是由合法的CA機構頒發,所以購買HTTPS證照必須向CA機構申請購買。

CA機構:證照授證中心,作為電子商務交易中受信任的第三方,承擔公鑰體系中公鑰的合法性檢驗的責任。 ( )為每個使用 的使用者發放一個 ,數字證照的作用是證明證照中列出的使用者合法擁有證照中列出的公開金鑰。CA機構的 使得攻擊者不能偽造和篡改證照。它負責產生、分配並管理所有參與網上交易的個體所需的數字證照,因此是 的核心環節。

SSL證照沒有所謂的“品質”和“等級”之分,只有三種不同的型別。
SSL證照需要向國際公認的證照證照認證機構(簡稱CA,Certificate Authority)申請。
CA機構頒發的證照有3種型別:
域名型SSL證照(DV SSL):信任等級普通,只需驗證網站的真實性便可頒發證照保護網站;
企業型SSL證照(OV SSL):信任等級強,須要驗證企業的身份,稽核嚴格,安全性更高;
增強型SSL證照(EV SSL):信任等級最高,一般用於銀行證券等金融機構,稽核嚴格,安全性最高,同時可以啟用綠色位址列。

購買HTTPS證照的詳細步驟:

1、首先確定Web Server 的型別

一般來說,除了 Java Tomcat Web Server 之外的其他 Web Server(比如 Apache Httpd)都是使用 OpenSSL 實現其加密層的,所以在購買證照時先選定你的 Web Server 加密程式為 OpenSSL。(注:Tomcat 結合 APR 使用的話也是用 OpenSSL 。)

2、生成私鑰和簽名請求檔案

使用如下命令可以產生一個私鑰以及一個簽名請求檔案

$ openssl req -nodes -newkey rsa:2048 -keyout my.key -out my-request.csr

這條命令的 rsa:2048 用於指定加密演算法的名稱以及金鑰的長度,最終生成的 my.key 為私鑰(要保管好)和一個簽名請求檔案。

執行這個命令時會詢問關你的網站的資訊,如果是個人網站,那麼大部分資料都是可以隨便填的,只要 “Common Name” 這一項準確填寫你的域名即可,比如 abc.com,xyz.org,注意不用加 www 字首,namecheap 代理銷售的 SSL 證照會自動額外簽名你的 www 二級域名,即付一份價錢,可以同時認證 abc.com 和 。

3、檢查一下你域名登記的 email 地址

因為證照服務商會驗證你的域名,而驗證方法則是傳送一封 email 到你域名註冊時所填寫的聯絡 email 地址。

4、把簽名請求檔案傳送給證照服務商

根據購買流程當中的指引,把第 2 步產生的 my-request.csr 傳送給證照服務商。大概等十幾分鍾(也有時要幾個小時)服務商會傳送一封 email 給你,一般來說裡面包含一個驗證碼,把這個驗證碼輸入購買流程的頁面當中就完成域名驗證了。

 

5、獲取簽名證照

上一步完成之後,大概再等幾分鐘,你就會收到一封郵件(或者出現在購買流程當中),裡面包含有你的證照和證照鏈。具體來說可能會有這 3 個證照檔案:

yourDomainName.crt

PositiveSSLCA2.crt

AddTrustExternalCARoot.crt

一般來說我們要把後兩者合併為一個檔案,用記事本開啟然後複製貼上形成一個新檔案即可,需要注意 *Root.crt 這個檔案的內容要放在最後,對於 linux 系統使用者,用這行搞定:

$ cat PositiveSSLCA2.crt AddTrustExternalCARoot.crt > yourDomainName.ca-bundle.crt

6、使用證照

這裡以 Apache Httpd 為例,一般的設定如下:

SSLEngine on

SSLCertificateKeyFile /etc/ssl/ssl.key/my.key

SSLCertificateFile /etc/ssl/ssl.crt/yourDomainName.crt

SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle

如果你的 apache 配置了多個虛擬主機,則配置如下:

# make sure add these lines in somewhere else

#NameVirtualHost *:80

#NameVirtualHost *:443

<VirtualHost *:80>

ServerName

DocumentRoot /var/www/your-domain

ServerAlias your-domain.com

<VirtualHost>

<VirtualHost *:443>

SSLEngine on

SSLCertificateKeyFile /etc/ssl/ssl.key/my.key

SSLCertificateFile /etc/ssl/ssl.crt/yourDomainName.crt

SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle

ServerName

DocumentRoot /var/www/your-domain

ServerName your-domain.com

<VirtualHost>

對於使用了 APR 的 Tomcat 伺服器,配置如下:

<Connector port=”443″ protocol=”HTTP/1.1″

address=”198.74.59.36″

SSLEnabled=”true”

scheme=”https” secure=”true”

enableLookups=”false”

SSLCertificateFile=”/etc/ssl/my/yourDomainName.crt”

SSLCertificateChainFile=”/etc/ssl/my/yourDomainName.ca-bundle.crt”

SSLCertificateKeyFile=”/etc/ssl/my/my.key”/>

證照設定完畢。

 

7、補:SSL 證照的格式轉換

如果你已經根據上面的流程購買了一個 SSL 證照,而碰巧使用的時候要求是 Java Keystore 格式,那麼需要將 OpenSSL 的證照轉換一下:

首先將金鑰和證照轉為 pkcs12 格式:

$ openssl pkcs12 -export -in yourDomainName.crt -inkey my.key > my.p12

然後將 pkcs12 格式轉換為 Java keystore 格式:

$ keytool -importkeystore -srckeystore my.p12 -destkeystore my.jks -srcstoretype pkcs12

 

全球可信CA機構

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31483669/viewspace-2700469/,如需轉載,請註明出處,否則將追究法律責任。

相關文章