Let’s Encrypt免费证书获取方法

这篇具有很好参考价值的文章主要介绍了Let’s Encrypt免费证书获取方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Let’s Encrypt证书前置需求

  1. 域名所有者:Let’s Encrypt 是一个证书颁发机构(CA), 要从 Let’s Encrypt 获取网站域名的证书,必须证明对域名的实际控制权。
  2. ACME 协议软件 : 在Let’s Encrypt 使用 ACME 协议来验证对给定域名的控制权并颁发证书, 要从Let’s Encrypt 获得证书,需要选择一个要使用的 ACME 客户端 Certbot 、或者使用得最多的 acme.sh。

二、证书兼容性

参考来源:https://letsencrypt.org/zh-cn/docs/certificate-compatibility/

  1. 信任ISRG RootX1的平台
    ● Windows >= XP SP3 (如果自动 Root 证书更新没有手动禁用的话)
    ● macOS >= 10.12.1
    ● iOS >= 10 (不包括 iOS 9)
    ● iPhone 5 及更新的手机可以升级到 iOS 10 ,因此可以信任ISRG Root X1
    ● Android >= 7.1.1 (由于我们的特殊交互签名证书,安卓 >= 2.3.6 默认情况下可信任)
    ● Mozilla Firefox >= 50.0
    ● Ubuntu >= Precise Pangolin / 12.04(安装更新后)
    ● Debian >= jessie / 8 (安装更新后)
    ● Java 8 >= 8u141
    ● Java 7 >= 7u151
    ● NSS >= 3.26
    浏览器(Chrome、Safari、Edge、Opera) 一般都信任他们所运行于的操作系统的根证书。 Firefox 是例外:它有自己的根证书列表。 不久,Chrome的新版本将 也有自己的根证书列表。
  2. 信任DST Root CA X3但不信任ISRG Root X1的平台
    这些平台在2021年9月前可以使用, 但是现在不再验证 Let’s Encrypt 证书。
    ● macOS < 10.12.1
    ● iOS < 10
    ● Mozilla Firefox < 50
    ● Ubuntu >= intrepid / 8.10
    ● Debian >= squeeze / 6, < jessie /8
    ● Java 8 >= 8u101, < 8u141
    ● Java 7 >= 7u111, < 7u151
    ● NSS >= v3.11.9, < 3.26
    ● Amazon FireOS (Silk Browser) (版本范围未知)
    ● Cyanogen > v10 (添加 ISRG Root X1 信任的版本未知)
    ● Jolla Sailfish OS > v1.1.2.16 (添加 ISRG Root X1 信任的版本未知)
    ● Kindle > v3.4.1 (添加 ISRG Root X1 信任的版本未知)
    ● Blackberry >= 10.3.3 (添加 ISRG Root X1 信任的版本未知)
    ● 固件 >= 5.00 的 PS4 游戏机 (添加 ISRG Root X1 信任的版本未知)
  3. 已知不兼容的平台
    ● Blackberry < v10.3.3
    ● Android < v2.3.6
    ● Nintendo 3DS
    ● Windows XP SP3 之前的系统
    ○ 无法处理 SHA-2 签名的证书
    ● Java 7 < 7u111
    ● Java 8 < 8u101
    ● Windows Live Mail(2012 版邮件客户端,而非网页端邮件服务)
    ○ 无法处理不包含CRL的证书
    ● PS3 游戏机
    ● PS4 游戏机(固件版本 < 5.00 )

三、使用acme.sh生成证书

  1. acme.sh说明
    acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书,普通用户和 root 用户都可以安装使用,安装过程不会污染已有的系统任何功能和文件, 所有的修改都限制在安装目录中(acme.sh),自动创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书。
    acme.sh 实现了 acme 协议支持的所有验证协议, 一般有两种方式验证: http 和 dns 验证,dns的方式更契合我们的架构,所以采用dns方式,手动在域名上添加一条 txt 解析记录,验证域名所有权,好处是只需要 dns 的解析记录即可完成验证. 坏处是,如果不同时配置 Automatic DNS API,使用这种方式 acme.sh 将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。
    注意:证书生成后只有三个月的有效期,acme.sh会自动创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书.

  2. 安装acme.sh

#海外服务器
curl https://get.acme.sh | sh -s email=my@example.com
#国内服务器
git clone https://gitee.com/neilpang/acme.sh
#国内需要更改目录名
mv acme.sh .acme.sh

创建一个别名:

alias acme.sh=~/.acme.sh/acme.sh
  1. 更新acme.sh
    目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步。
    升级 acme.sh 到最新版 :
./acme.sh --upgrade

开启自动升级:

./acme.sh --upgrade --auto-upgrade

关闭自动更新:

./acme.sh --upgrade --auto-upgrade  0
  1. 生成证书(以GoDaddy为例)

参考来源:https://github.com/acmesh-official/acme.sh/wiki/dnsapi
先登录到使用DNS解析的账号, 生成api key和secret ,然后:

export GD_Key=""
export GD_Secret=""

设置let’s encrypt为默认ssl证书

./acme.sh --set-default-ca --server letsencrypt

生成证书:

./acme.sh --issue --dns dns_gd -d test.com -d www.test.com 

若使用阿里云,将以下红框内容替换即可:
Let’s Encrypt免费证书获取方法

四、安装证书

默认生成的证书都放在安装目录下: .acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件。 这里面的文件都是内部使用, 而且目录结构可能会变化。
正确的使用方法是使用 --install-cert 命令,并指定目标位置, 然后证书文件会被copy到相应的位置,例如:

Apache example:

acme.sh --install-cert -d visbodyfit.com \
--cert-file      /path/to/certfile/in/apache/cert.pem  \
--key-file       /path/to/keyfile/in/apache/key.pem  \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd     "service apache2 force-reload"

Nginx example:

mkdir -p /etc/nginx/acme.sh/visbod/
#实际执行时使用命令:
./acme.sh --install-cert -d visbody.com \
--cert-file      /etc/nginx/acme.sh/visbod/cert.pem \ 
--key-file       /etc/nginx/acme.sh/visbod/key.pem  \
--fullchain-file /etc/nginx/acme.sh/visbod/fullchain.pem \
--reloadcmd  "service nginx force-reload"
#官网给的命令:
acme.sh --install-cert -d visbodyfit.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

注意:Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/.cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误。
指定的所有参数都会被自动记录下来, 并在将来证书自动更新以后, 被再次自动调用.

acme.sh --info -d visbodyfit.com
 会输出如下内容:
DOMAIN_CONF=/root/.acme.sh/visbodyfit.com/visbodyfit.com.conf
Le_Domain=visbodyfit.com
Le_Alt=no
Le_Webroot=dns_ali
Le_PreHook=
Le_PostHook=
Le_RenewHook=
Le_API=https://acme-v02.api.letsencrypt.org/directory
Le_Keylength=
Le_OrderFinalize=https://acme-v02.api.letsencrypt.org/acme/finalize/23xxxx150/781xxxx4310
Le_LinkOrder=https://acme-v02.api.letsencrypt.org/acme/order/233xxx150/781xxxx4310
Le_LinkCert=https://acme-v02.api.letsencrypt.org/acme/cert/04cbd28xxxxxx349ecaea8d07
Le_CertCreateTime=1649358725
Le_CertCreateTimeStr=Thu Apr  7 19:12:05 UTC 2022
Le_NextRenewTimeStr=Mon Jun  6 19:12:05 UTC 2022
Le_NextRenewTime=1654456325
Le_RealCertPath=
Le_RealCACertPath=
Le_RealKeyPath=/etc/acme/example.com/privkey.pem
Le_ReloadCmd=service nginx force-reload
Le_RealFullChainPath=/etc/acme/example.com/chain.pem

查看上传证书是否存在,然后点击“HTTPS配置”即可看到该证书能配置的域名:

五、更新证书

acme.sh在生成证书后会自动添加定时任务,目前证书在60天后会自动更新。
查看定时任务:

crontab  -l
 输出内容大致如下:
56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

六、排错

参考文档:https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.sh
使用acme.sh过程中如果出现错误,可以添加debug log分析:文章来源地址https://www.toymoban.com/news/detail-453973.html

acme.sh --issue  .....  --debug

到了这里,关于Let’s Encrypt免费证书获取方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSL证书系列--又拍云Let’s Encrypt免费DV SSL证书使用教程

    原文网址:SSL证书系列--又拍云Let’s Encrypt免费DV SSL证书使用教程_IT利刃出鞘的博客-CSDN博客 本文介绍如何使用又拍云部署Let’s Encrypt免费DV SSL证书。 了解和关注SSL证书的朋友,似乎没有理由不知道 Let’s Encrypt 这个免费、自动化、开放的证书签发服务。         它由 I

    2024年02月09日
    浏览(44)
  • Let’s Encrypt SSL 证书的申请与使用

    Let’s Encrypt 是免费、开放和自动化的证书颁发机构。由非盈利组织互联网安全研究小组(ISRG)运营。 SSL应用开发者可以免费从 Let’s Encrypt 申请到有效期90天的SSL证书,当然在到期之前也可以更新证书,延长有效期。 Let’s Encrypt 支持 ACME 协议,可以自动化的完成SSL证书的申

    2024年02月03日
    浏览(35)
  • 宝塔面板站点SSL,Let‘s Encrypt 证书申请报错:Invalid version. The only valid version for X509Req is 0.

    Linux正式版 7.9.10 CentOS 7.3.1611 x86_64(Py3.7.9) 新服务器 , 新装宝塔 , 新增站点 ,ssl选择Let’s Encrypt,点击申请证书 报错: 文件验证和DNS验证都报这个错。 试过修复面板(无效),试过回退到7.9.8版本(无效) 您好,您这个报错是因为面板依赖的不兼容导致的证书申请失败,

    2024年02月09日
    浏览(44)
  • Let‘s Encrypt

            Let\\\'s Encrypt —— 是一个由非营利性组织互联网安全研究小组(ISRG)提供的免费、自动化和开放的证书颁发机构(CA),简单的说,就是为网站提供免费的 SSL/TLS 证书。互联网安全研究小组(ISRG):ISRG是美国加利福尼亚州的一家公益公司,成立于2013年5月,第一个

    2024年02月09日
    浏览(29)
  • 轻松配置 https:Let‘s Encrypt 介绍及 Nginx Proxy Manager 实用操作教程

    一般我们在本地进行 web 开发时用的都是 http 协议,而部署到服务器上之后为了安全都要配置 https,以保证客户端和服务器之间的通信内容得到加密,不会被泄露或篡改。 本文将介绍 https 协议的基本知识(如果有基础可以跳过),以及如何使用 Let’s Encrypt 给你的服务优雅地

    2024年03月11日
    浏览(44)
  • 11种免费获取SSL证书的方式

    从2018年7月1日开始,Chrome将显示所有未使用SSL证书的网站标记为“不安全”,而拥有SSL证书的网站的权重排名都会获得提升。 随着企业与网民网络安全意识的增加,全网正在走向全面https的时代,加密将无处不在,无论是网站、APP、软件、小程序等都在大规模应用SSL进行加密

    2023年04月09日
    浏览(33)
  • [HTTPS] 免费获取安全证书并配置HTTPS

    目录 前言 一、HTTPS是什么? 二、配置步骤 三、配置过程 1.获取证书     FreeSSL首页 - FreeSSL.cn一个提供免费HTTPS证书申请的网站 2.安装证书 (I).安装 SSL 证书的具体步骤因所使用的服务器和操作系统而异,一般而言需要进行以下步骤 (II).将 keystore.p12 文件配置到 Nginx 和

    2024年02月04日
    浏览(41)
  • 手把手教你获取一年免费通配符泛域名SSL证书

    (前排提示:想白嫖OV,EV SSL 的朋友们还是放弃吧,目前不存在此类服务) 众所周知,SSL现已成为各种网站必不可少的配置了,但是主流的Let\\\'s Encrypt(Let\\\'s Encrypt),ZeroSSL(Free SSL Certificates and SSL Tools - ZeroSSL)等只能提供90天的免费SSL,而阿里云,华为云提供的每年20张一年

    2024年02月07日
    浏览(64)
  • App备案与iOS云管理式证书 ,公钥及证书SHA-1指纹的获取方法

    引言 在iOS应用程序开发过程中,进行App备案并获取公钥及证书SHA-1指纹是至关重要的步骤。本文将介绍如何通过appuploader工具获取iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹,帮助开发者更好地理解和应用该过程。 正文 iOS应用程序的备案和证书SHA-1指纹获取是确保应

    2024年01月15日
    浏览(49)
  • App备案-iOS云管理式证书 Distribution Managed 公钥及证书SHA-1指纹的获取方法

    根据近日工业和信息化部发布的《工业和信息化部关于开展移动互联网应用程序备案工作的通知》,相信不少要进行IOS平台App备案的朋友遇到了一个问题,就是apple不提供云管理式证书的下载,也就无法获取公钥及证书SHA-1指纹。  已经上架的应用不想重新打包发布的话。可以

    2024年02月08日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包