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

news2024/9/23 5:28:46

组织的网站需要 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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1131907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新上线游戏产品需不需要防御?

游戏运营免不了遭受恶意DDoS和CC攻击,且攻击常达百G以上,攻击流量过大,超过一般服务器的基础防护能力,不少企业面对大流量攻击显得束手无策,只能选择被迫停机,其次游戏行业利润高,很容易被黑客盯…

智慧矿山:如何快速识别带式运输机空载状态!

带式运输机作为一种常见的物料输送设备,广泛应用于矿山、建筑、化工等行业。但在使用过程中,经常会出现空载运行的情况,即带式运输机无物料传送时仍不停工作,导致能源和设备的浪费。因此,对带式运输机进行空载识别并采…

【期刊】IEEE系列指定期刊模版下载(LaTeX或者Word)全网最细教程

IEEE旗下有很多期刊,例如: IEEE Transactions on Pattern Analysis and Machine Intelligence IEEE Transactions on Cybernetics IEEE Transactions on Neural Networks and Learning Systems IEEE Transactions on Industrial Informatics IEEE Tra…

代理服务器可能有问题,或地址不正确的解决办法

问题: 解决办法: 1.找到代理服务器设置 2.代理服务器,设置关闭

基于springboot实现在线考试平台管理系统【项目源码+论文说明】计算机毕业设计

基于Springboot实现在线考试平台管理系统演示 摘要 网络的广泛应用给生活带来了十分的便利。所以把在线考试管理与现在网络相结合,利用java技术建设在线考试系统,实现在线考试的信息化管理。则对于进一步提高在线考试管理发展,丰富在线考试管…

[笔记] Windows 审计《一》判断是否SACL系统记录权限、DACL管理权限是否继承

文章目录 前言代码总结 前言 安全对象:由微软定义为可以具有安全描述符的对象,包括诸如文件,线程,远程注册表,Active Directory对象等许多东西。 安全描述符:包含许多字段的二进制结构,包括对…

K-Means和KNN

主要区别 从无序 —> 有序 从K-Means —> KNN KNN:监督学习,类别是已知的,对已知分类的数据进行训练和学习,找到不同类的特征,再对未分类的数据进行分类。K-Means:无监督学习,事先不知道…

一套成熟的ERP系统,应具备哪些能力?

随着制造业数字化、智能化的不断升级,企业的金字塔静态管理模式也在向扁平化动态管理模式转变,而企业管理系统则是推动这一趋势发展的重要载体。 为了更好地实现企业管理信息化,越来越多的企业在应用ERP系统。ERP对企业经营起着至关重要的辅…

Kafka-Java一:Spring实现kafka消息的简单发送

目录 写在前面 一、创建maven项目 二、引入依赖 2.1、maven项目创建完成后,需要引入以下依赖 2.2、创建工程目录 三、创建生产者 3.1、创建生产者,同步发送消息 3.2、创建生产者,异步发送消息 四、同步发送消息和异步发送消息的区别…

ChinaSoft 论坛巡礼 | 开源软件生态健康度量论坛

2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…

京东销量(销额)数据分析:2023年9月京东奶粉行业品牌销售排行榜

鲸参谋监测的京东平台9月份奶粉市场销售数据已出炉! 根据鲸参谋平台的数据显示,今年9月份,京东平台奶粉(包括婴幼儿奶粉、孕妈奶粉、婴幼儿液态奶)市场的销量约730万,环比降低约6%,同比降低约19…

【C语言】指针那些事(上)

C语言系列 文章目录 文章目录 一. 字符指针 一.(1 ) 数组创建空间的地址和指针指向的地址 二. 指针数组 二.(1)指针数组模拟一个二维数组 ​ 三. 数组指针 三.(1)数组指针到底有什么用 对一维数组没有什么用 二.(…

VC++程序崩溃时,使用Visual Studio静态分析dump文件

1、通过Visual Studio直接把Dump文件打开 2、点击【仅限本机进行调试】,启动Dump 3.1、本机调试启动后,如果程序运行模块和pdb文件在同一个目录的,直接定位到异常代码行 3.2、如果显示找不到pdb文件,则需要通过【新建路径】设置…

Python-列表、元组和字典

目录 一、列表概述 二、列表的循环遍历 1、使用for循环遍历列表 2、使用while循环遍历列表 三、列表的常见操作 1、在列表中增加元素 (1)使用append方法 (2)使用extend方法 (3)使用insert方法 2、…

温馨提示!小心不法分子的隐藏陷阱

《绝地求生》国服的”老兵回归”活动一经推出就受到广大玩家欢迎,因此也有不法分子想趁虚而入。就在近日,我们接到玩家举报,发现一些不法分子通过伪基站邮件群发的形式,以“第XXXX位老兵奖励”为主题,向用户推荐一个非…

【薅羊毛】免费领取6个月语雀会员-关于语雀 23 日故障的公告

关于语雀 23 日故障的公告 关于语雀 23 日故障的公告 语雀团队 语雀 2023-10-24 21:11 发表于浙江 各位语雀的用户: 10 月 23 日语雀出现重大服务故障,且持续 7 个多小时才完全恢复,给用户使用造成极大不便,对此我们深感抱歉。…

Go 包操作之如何拉取私有的Go Module

Go 包操作之如何拉取私有的Go Module 在前面,我们已经了解了GO 项目依赖包管理与Go Module常规操作,Go Module 构建模式已经成为了 Go 语言的依赖管理与构建的标准。 在平时使用Go Module 时候,可能会遇到以下问题: 在某 modul…

关于报错java.util.ConcurrentModificationException: null的源码分析和解决

一般有这种问题,方法中至少会有List或者Map下的至少两个子类,有可能参数类型相同,也有可能不同都有可能触发这个问题!其主要原因是使用了ArrayList进行删除操作或者使用iterator遍历集合的同时对集合进行修改都有可能会出现这个问题 ArrayList属于List下的子类 需要区分的是Li…

AI小百科 - 什么是生成式AI中的提示语 “Prompt“

定义 "Prompt" 是指在生成式AI中用于指导模型生成输出的输入文本或问题。它是一种方法,通过提供特定的信息或指示,引导AI生成与所需任务相关的响应。 让我们用一个小学生可以理解的方式来解释提示语。想象一下,你是一名小学生&am…

深入剖析Java反射机制:解锁高级编程技巧,事半功倍

前言 在 Java中,反射机制(Reflection)非常重要,但对于很多开发者来说,这并不容易理解,甚至觉得有点神秘 目录 1. 简介 定义:Java语言中 一种 动态(运行时)访问、检测 …