本文共 3730 字,大约阅读时间需要 12 分钟。
git clone https://github.com/letsencrypt/letsencryptcd letsencrypt./certbot-auto --help all./certbot-auto certonly --standalone --email admin@laozuo.org -d laozuo.org -d www.laozuo.org
可以看到,这个仓库就包含一个let'sEncrypt配置完毕的certbot客户端。certbot使用python写的,所以你需要提前准备好certbot运行环境。
"/etc/letsencrypt/live/laozuo.org/"域名目录下有4个文件就是生成的密钥证书文件。 cert.pem - Apache服务器端证书 chain.pem - Apache根证书和中继证书 fullchain.pem - Nginx所需要ssl_certificate文件 privkey.pem - 安全证书KEY文件 免费的证书可以使用90天,3个月,如果逾期测需要重新手动生成一次,执行上面的最后一行命令。有一些虚拟机服务商的用户面板上,提供了let's encrypt自动续期的功能,其实也是自动运行脚本,每过一段时间运行一次,把产生的证书替换到server指定的位置上。
//Power Shell 5.0 版本PS> Install-Module -Name ACMESharp//Power Shell 3.0/4.0等先安装 chocoPS> choco install acmesharp-posh-all//申请LE证书PS> Import-Module ACMESharpPS> Initialize-ACMEVault//注册信息PS> New-ACMERegistration -Contacts mailto:somebody@example.org -AcceptTos//域名信息PS> New-ACMEIdentifier -Dns myserver.example.com -Alias dns1//IIS 执行PS> Complete-ACMEChallenge dns1 -ChallengeType http-01 -Handler iis -HandlerParameters @{ WebSiteRef = 'Default Web Site' }//其他执行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 fileunder the server that is responding to the hostnameand 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]------------------------------------
执行结束后,LLE服务器会自动按照你配置的域名,访问/.well-known/下的一临时产生的文件,并且会返回一个字符串。
//提交认证PS> Submit-ACMEChallenge dns1 -ChallengeType http-01//验证PS> Update-ACMEIdentifier dns1//创建证书申请PS> New-ACMECertificate dns1 -Generate -Alias cert1PS> Submit-ACMECertificate cert1//下载证书//私钥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'
既然是windows,图形界面肯定最简单的。大家可以搜索 Let's Encrypt For Windows。有exe执行文件,需要的信息和上面一样。需要说明一下,新版本的for window在cmd界面的选型和旧版本是不同的,需要自己分辨命令行的各种配置,包含在windows下IIS的自动工具,非IIS的模式,手动模式等,提示你输入信息,然后同样,需要完成一个域名和控件的验证。这里有一个问题,windows里面,不能之间创建 .wellknow 文件夹,这个时候,你需要想想办法绕过这个问题。。。还有,在初始化 forWind应用的时候,需要翻墙才可以。
祝你成功。
转载地址:http://hjegi.baihongyu.com/