免费三级片

2647 0
2017-12-21 Dodu 網絡技術

Let’s Encrypt 項目是由互聯網安全研究小組ISRG,Internet Security Research Group主導并開發的一個新型數字證書認證機構CA,Certificate Authority。該項目旨在開發一個自由且開放的自動化 CA 套件,并向公眾提供相關的證書免費簽發服務以降低安全通訊的財務、技術和教育成本。在過去的一年中,互聯網安全研究小組擬定了 ACME 協議草案,并首次實現了使用該協議的應用套件:服務端 Boulder 和客戶端 letsencrypt。

免费三级片 目前網絡上大部分的申請教程都是基于linux的,我們這篇就是講述如何在Windows服務器申請LE證書并安裝到Nginx上的,如果想在windows服務器中安裝LE的證書我們先需要利用:

ACMESharp:https://github.com/ebekker/ACMESharp

安裝ACMESharp之前,我們必須保證服務器PowerShell版本是5.0以上,如果不是,請先升級PowerShell (版本查看命令是:$PSVersionTable.PSVersion)。

免费三级片 然后以管理員權限運行打開PowerShell執行:

PS> Install-Module -Name ACMESharp

免费三级片 來安裝ACMESharp,安裝過程需要看網絡情況,服務器有條件的用vpn安裝,沒條件的多嘗試幾次。

免费三级片 ACMESharp安裝完成后我們來開始申請LE證書:

第一步:導入ACMESharp模塊

PS> Import-Module ACMESharp

第二步:初始化ACMEVault來保存和管理證書信息

PS> Initialize-ACMEVault

第三步:在LE填寫注冊信息,接受注冊協議(注意替換命令中的郵箱地址)

PS> New-ACMERegistration -Contacts mailto:somebody@example.org -AcceptTos

免费三级片 第四步:創建一個你要申請域名身份(注意替換命令中的網址地址,下文不再繼續提示)

PS> New-ACMEIdentifier -Dns myserver.example.com -Alias dns1

免费三级片 第五步:認證域名所有權

如果是IIS web服務器執行:

PS> Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler iis -HandlerParameters @{ WebSiteRef = '此處填IIS上的網站名' }

免费三级片 如果是其它web服務器,比如nginx需要自己配置的執行:

PS> Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler manual == Manual Challenge Handler - HTTP ==  * Handle Time:      [1/12/2016 1:16:34 PM]  * Challenge Token:  [2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0] To complete this Challenge please create a new file under the server that is responding to the hostname and path given with the following characteristics:  * HTTP URL:     [http://myserver.example.com/.well-known/acme-challenge/2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0]  * File Path:    [.well-known/acme-challenge/2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0]  * File Content: [2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0.H3URk7qFUvhyYzqJySfc9eM25RTDN7bN4pwil37Rgms]  * MIME Type:    [text/plain] ------------------------------------

執行完畢之后看返回結果LE的服務器在執行下一步時會訪問你的這個地址: http://myserver.example.com/.well-known/acme-challenge/2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0

免费三级片 返回的文本內容是:

免费三级片 2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0.H3URk7qFUvhyYzqJySfc9eM25RTDN7bN4pwil37Rgms

在IIS中,執行以上命令后,會自動在指定的網站目錄下創建.well-known文件夾與相關文件,只要直接查看就行。(2yRd04TwqiZTh6TWLZ1azL15QIOGaiRmx8MjAoA5QH0這串字符串在實際中請替換成自己的)

免费三级片 如果準備好了,我們繼續下一步。

第六步:提交認證

PS> Submit-ACMEChallenge dns1 -ChallengeType http-01

提交之后我們接下來就需要等待LE服務器來驗證了,我們可以通過命令:

PS> update-ACMEIdentifier dns1 ... Status         : valid ...

來檢查驗證狀態:

pedding 正在等待驗證

valid 驗證通過

invalid 驗證失敗,如果驗證失敗需要重新申請一次,也就是我們的第四步開始重新做一次,當然alias名稱需要更換,因為已經存在記錄了。

免费三级片 如果返回valid表示驗證成功后我們繼續下一步。

免费三级片 第七步:創建證書申請

PS> New-ACMECertificate dns1 -Generate -Alias cert1PS> Submit-ACMECertificate cert1

我們通過以下來檢查證書的狀態:

PS> Update-ACMECertificate cert1 Id                  : 9182eb22-cd57-468e-946e-e0b0d8843906 Alias               : cert2 Label               : Memo                : IdentifierRef       : 198488a7-c778-488c-978b-606a0181deb9 KeyPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-key.pem CsrPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-csr.pem GenerateDetailsFile : 9182eb22-cd57-468e-946e-e0b0d8843906-gen.json CertificateRequest  : ACMESharp.CertificateRequest CrtPemFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-crt.pem CrtDerFile          : 9182eb22-cd57-468e-946e-e0b0d8843906-crt.der IssuerSerialNumber  : SerialNumber        : 00FAFC7F409C770B76EB9BA7445EC27B24494A Thumbprint          : 9A59B855EA79B3E9DE1C14307E6A21851B3C0CE8 Signature           : 9A59B855EA79B3E9DE1C14307E6A21851B3C0CE8 SignatureAlgorithm  : sha256RSA

如果結果像以上情況則表示申請完畢,我們來下載證書文件吧。

第八步:下載證書文件

下載私鑰:

PS> Get-ACMECertificate cert1 -ExportKeyPEM "C:\inetpub\wwwroot\網站目錄\cert1.key.pem"

下載LE證書:

PS> Get-ACMECertificate cert1 -ExportCertificatePEM "C:\inetpub\wwwroot\網站目錄\cert1.crt.pem" -ExportCertificateDER "C:\inetpub\wwwroot\網站目錄\cert1.crt"

下載CA中間證書:

PS> Get-ACMECertificate cert1 -ExportIssuerPEM "C:\inetpub\wwwroot\網站目錄\cert1-issuer.crt.pem" -ExportIssuerDER "C:\inetpub\wwwroot\網站目錄\cert1-issuer.crt"

執行以上命令如果提示 Issuer certificate hasn't been resolved異常的話,按以下方式操作:

1.打開https://letsencrypt.org/certificates/,在服務器下載一下:Active ->ISRG Root X1.pem 保存到C:\inetpub\wwwroot\網站目錄(這個目錄是你網站的實際目錄,請根據具體情況替換)

免费三级片 2.然后:Update-ACMECertificate cert1

3.重復執行 “下載CA中間證書”的命令即可。

免费三级片 下載IIS用的PFX文件:

PS> Get-ACMECertificate cert1 -ExportPkcs12 "C:\inetpub\wwwroot\網站目錄\cert1.pfx" PS> Get-ACMECertificate cert1 -ExportPkcs12 "C:\inetpub\wwwroot\網站目錄\cert2.pfx" -CertificatePassword '你的密碼'

如果是nginx的話只需要利用到上面三個證書文件,這里有一個特殊的地方,在nginx中ssl證書是在server中加入ssl信息:

免费三级片 server {    server_name www.xxx.com;    listen 443;    ssl on;    ssl_certificate D://full.pem;    ssl_certificate_key D://key.pem; }

免费三级片 其中full.pem是由LE證書文件和CA中間證書合并的來的,把CA中間證書內容添加到LE證書中合并為一個full.pem文件,作為公鑰,另一個就是私鑰key.pem。

免费三级片 配置好之后啟動nginx直接在瀏覽器加上https訪問你的域名吧!

免费三级片 LE證書默認有三個月的有效期,我們可以每個月通過自動腳本來定是續訂一個證書,續訂證書的步驟就是重復第七部和第八步然后應用新證書。

免费三级片 注意:在https站點中所有的外部資源都需要通過https訪問,否則會報安全錯誤(圖片、視頻等資源可以通過http訪問但是控制臺會出現警告)


發表評論: