Windows申请免费SSL证书-Let's Encrypt(2)

第七步:创建证书申请

PS> New-ACMECertificate dns1 -Generate -Alias cert1 PS> 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 "path\to\cert1.key.pem"

下载LE证书:

PS> Get-ACMECertificate cert1 -ExportCertificatePEM "path\to\cert1.crt.pem" -ExportCertificateDER "path\to\cert1.crt"

下载CA中间证书:

PS> Get-ACMECertificate cert1 -ExportIssuerPEM "path\to\cert1-issuer.crt.pem" -ExportIssuerDER "path\to\cert1-issuer.crt"

下载IIS用的PFX文件:

PS> Get-ACMECertificate cert1 -ExportPkcs12 "path\to\cert1.pfx"
PS> Get-ACMECertificate cert1 -ExportPkcs12 "path\to\cert1.pfx" -CertificatePassword 'g1Bb3Ri$h'

如果是nginx的话只需要利用到上面三个证书文件,这里有一个特殊的地方,在nginx中ssl证书是在server中加入ssl信息:

server { server_name ; 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证书默认有三个月的有效期,我们可以每个月通过自动脚本来定是续订一个证书,续订证书的步骤就是命令行Import-Module ACMESharp导入模块后重复第七部和第八步然后应用新证书。

注意:在https站点中所有的外部资源都需要通过https访问,否则会抱安全错误(图片、视频等资源可以通过http访问但是控制台会出现警告)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9c4a9c58034eb39dfb32086b6ef964de.html