什么是自动证书管理环境(ACME)

2023-10-25 16:04
文章标签 环境 管理 自动 证书 acme

本文主要是介绍什么是自动证书管理环境(ACME),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

组织的网站需要 24x7 全天候可用,以建立信任并提供信息,如果网站因证书过期而停机,那么很难恢复失去的客户信任、收入和品牌声誉,手动管理证书基础结构会使组织面临中断、中间人 (MITM) 攻击等的严重风险。

自动证书管理环境 (ACME) 是一种通信协议,无需任何人工干预即可自动颁发、安装、续订和吊销 PKI 证书,ACME 自动执行证书颁发机构 (CA) 与托管 PKI 证书的 Web 服务器或设备之间的交互。

ACME最初由互联网安全研究小组专门为自己的证书服务Let’s Encrypt创建,用于颁发域验证(DV)SSL / TLS证书。现在,多个 CA 越来越多地采用 ACME 协议来颁发不同类型的证书,例如扩展验证 (EV) 和组织验证 (OV)。

使用 ACME 协议的优势

  • 无许可费;开源工具
  • 需要最少的集成时间;易于设置和使用
  • 为组织节省时间、成本和劳动密集型手动工作
  • 防止由于中断而导致的MITM攻击和安全风险
  • 直接联系 CA,消除冗长的等待队列
  • 无需人工干预
  • 由开源社区持续增强
  • 敏捷且可扩展
  • 快速将受损证书替换为新证书
  • 灾难发生时轻松切换到其他 CA

ACME 协议如何工作

ACME 遵循客户端-服务器架构,其中它们使用 JSON 消息通过加密的 HTTPS 连接安全地相互通信。

  • 客户:ACME 客户端(也称为 ACME 代理)在需要部署 PKI 证书的任何 Web 服务器或计算机上运行,它代表安装它的 Web 服务器发送证书颁发、续订和吊销请求。
  • 服务器:ACME 服务器在 CA 上运行,例如 Let’s Encrypt 或 Sectigo,并响应 ACME 客户端发出的请求。

如何设置 ACME 客户端-服务器体系结构

与任何客户端-服务器体系结构一样,ACME 服务器响应并执行 ACME 客户端发出的证书请求(颁发、续订、吊销),用户开始使用的第一步是选择需要安装的客户端。

尽管有大量可用的客户端,但建议开始使用 Certbot,这是一个易于使用且适用于许多操作系统的 ACME 客户端。这是一个免费的开源工具,每 60 天续订一次证书。

在自动化 PKI 证书管理之前,必须彻底设置客户端和服务器,由于 ACME 服务器仅接受来自授权客户端的请求,因此必须确保客户端经过身份验证才能发出请求。因此,为了证明其真实性,ACME 客户端需要完成 ACME 服务器提出的挑战。

ACME挑战

有两种类型的ACME挑战:HTTP和DNS。它们可以在不到 15 秒的时间内快速完成。

  • HTTP:当 ACME 客户端向 CA(ACME 服务器)发送请求时,CA 会发回要安装在客户端上的令牌。客户端使用该令牌创建一个文件,并在该文件后附加授权密钥的指纹。安装文件后,客户端会通知 CA。ACME 服务器检索并验证文件,从而完成质询。
  • 域名解析:DNS 质询与 HTTP 质询类似,但需要额外的验证因素。除了使用令牌安装文件外,ACME 客户端还需要在 DNS 空间的 TXT 记录中放置一个给定值。质询完成后,服务器将执行 DNS 查找并检索 TXT 记录。

配置 ACME 客户端

选择 ACME 客户端后,下一步是在需要由 PKI 证书保护的服务器或计算机上对其进行配置。概述如下:

在这里插入图片描述

  • 确定域后,从支持 ACME 的 CA 列表中选择所需的 CA。
  • ACME 客户端联系 CA(ACME 服务器)并生成授权密钥对。
  • CA 为客户端发出质询(HTTP 或 DNS)以验证其身份,它还发送一个随机数(随机生成的数字)。
  • 客户端使用其生成的私钥对随机数进行签名。
  • 验证域的所有权,并完成客户端-服务器设置。
  • 配置 ACME 客户端应联系 CA 以续订证书的频率。
  • ACME 客户端可以代表域执行自动证书颁发、续订和吊销。

ACME 客户端如何请求证书颁发和续订

  • ACME 客户端为域生成证书签名请求 (CSR)。
  • ACME 客户端对 CSR 和用自己的私钥生成的公钥进行签名。
  • CA 在验证签名后颁发所需的证书。
  • ACME 客户端在域服务器上安装证书。

ACME 客户端如何请求证书吊销

  • ACME 客户端发送使用其私钥签名的撤销请求。
  • CA 验证签名并吊销证书。
  • CA 将信息发送到标准吊销通道,以便浏览器不接受吊销的证书。

使用 Key Manager Plus 进行自动化证书生命周期管理,Key Manager Plus 使用自动证书管理环境 (ACME) 协议直接与第三方 CA 集成,例如 Let’s Encrypt、Bypass Go SSL 和 ZeroSSL。

这篇关于什么是自动证书管理环境(ACME)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/283656

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后