问题标签 [acme]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
519 浏览

lets-encrypt - 无法将 acme.sh 与 tls-alpn-01 一起使用来更新或颁发证书

根据官方 ACME.SH 文档链接,颁发证书就像运行以下命令一样简单:

但是,我收到以下错误

我试过从默认切换ZeroSSL.comBuyPass.com,但这没有帮助。这些提供者似乎不允许tls-alpn-01验证方法,但它可能与我遗漏的东西有关。

PS:抢先回答一些问题:

  1. 我有一个有效域,已替换为“example.com”
  2. 该站点在 443 端口上运行,但port 80被 ISP 阻止,因此tls-alpn-01
  3. 我正在停止 Nginx,然后检查netstat端口 443 是否未绑定到服务。
  4. 当我使用--debug 2参数运行脚本时,我得到以下_authorizations_map变量值

_authorizations_map='example.com,{"identifier":{"type":"dns","value":"example.com"},"status":"pending","expires":"2021-08-18T22 :53:50Z","挑战":[{"type":"http-01","url":"https://acme.zerossl.com/v2/DV90/chall/wYehJ8kQjUDiDadBJ12qKw", "状态": "待定","token":"Sfga2N2KwV-2hg3wo1gYAoyFvqV87dRvG2sHw4I6ups"},{"type":"dns-01","url":"https://acme.zerossl.com/v2/DV90/chall/CkrMQdEJthf-TmWvllW -Bg”,“状态”:“待定”,“令牌”:“_AlgMGzIfSQs7673Su-njnpieba_zLpSYxiUdXDEFnz”}]}'

0 投票
1 回答
39 浏览

tensorflow - 字典观察空间 Acme DQN 代理

我正在尝试使用masked_epsilon_greedy向我的dqn 代理添加非法操作屏蔽。有谁知道我如何更新策略网络以使用而不是“观察”,因为观察空间是一个包含观察和法律行动的字典?observation["your_key_for_observation"]

0 投票
1 回答
608 浏览

https - 为什么不能用acme写certificate.crt?

nginx 状态良好。
我想用 acme 创建和编写 certificate.crt:

CF_Key是我在 cloudflare 中的全局 api 密钥,CF_Email是登录 cloudflare 的注册电子邮件。

输出的内容太长,这里不能发,所以我上传到termbin.com,我们分享下面的链接:

请打开网页,你可以得到完整的输出信息,并检查导致错误的原因,主要有两个问题:
1.我的 nginx 服务器状态良好,acme.sh 检测不到。
2.如何设置配置文件?

将密钥写入指定目录:

它遇到问题:

签入文件/usr/local/etc/certfiles/

没有。certificate.crt _ 那怎么修呢?/usr/local/etc/certfiles/

0 投票
0 回答
131 浏览

kubernetes - 如何使用 getambassador 创建 TLS 证书?

由于某些原因,我正在尝试使用大使 1.13 版本。通过使用 LetsEncrypt 和大使方法创建证书:但它会产生一些错误:

错误-1:

在此处输入图像描述

错误 2:

在此处输入图像描述

我该如何解决这个问题?

下面的代码可以工作,但上面的大使版本不工作:

大使版本不工作:主机 CRD、ACME 支持和外部负载均衡器配置。详细信息: https ://www.getambassador.io/docs/edge-stack/1.13/topics/running/host-crd/

0 投票
1 回答
265 浏览

ssl - 为不同 IP 地址上的资源自动生成 ACME 子域 SSL 证书

我一直在研究迁移到使用Let's Encrypt来维护 SSL 证书的可能性,这些证书用于我们用于操作的各种资源。我们有以下使用 SSL 证书的资源:

  • 主网站 ( www.example.com/ example.com) - 由同样维护 SSL 证书的第三方托管和维护
  • 客户端门户网站 ( client.example.com) - 由我们在位于远程数据中心的服务器上托管和维护的 IIS 站点
  • FTP 服务器 ( ftp.example.com) - 由我们在位于远程数据中心的服务器上托管和维护的 WS_FTP 服务器
  • 硬件防火墙 ( firewall.example.com) - 我们内部网络的本地安全设备
  • 远程桌面网关 ( rd.example.com) - 我们在本地服务器上托管和维护的 RDP 服务器

如上所述,主网站 ( www) 的 SSL 证书由第 3 方主机维护,所以我一般不会弄乱那个。但是,正如您所知,每个端点的 DNS 记录都指向各种不同的 IP 地址。这就是我对颁发和部署 SSL 证书的整个过程缺乏经验让我有点困惑的地方。

首先,由于我不管理或维护主网站,因此我目前正在从提供端点的服务器/服务中手动为每个端点生成 CSR——一个来自 IIS 服务器,另一个来自RDP 服务器,另一个来自 WS_FTP 服务器,一个来自硬件防火墙。手动过程虽然不是很耗时,但仍然需要我通过几个步骤来处理需要不同过程的不同服务器系统。

我考虑过使用 Let's Encrypt 的免费通配符 SSL 证书之一来覆盖所有这四个端点 ( *.example.com),但我不想“干涉”我们的主要网站主机在这方面所做的事情。我意识到实际的证书本身是由客户端连接到的服务器提供的,所以这无关紧要(对吗?),但我可能仍然对每个子域端点的单独 SSL 证书更满意。

因此,我一直致力于使用Certes ACME 客户端库构建应用程序,以尝试自动处理从 CSR 到部署的整个 SSL 流程。但是,我遇到了一些障碍:

  • 防火墙针对端口 80 上的连接进行了保护,因此我无法HTTP-01在设备本身上提供该子域 (fw.example.com) 的验证文件。FTP 服务器的子域 (ftp.example.com) 也是如此。
  • 我的 DNS 由当前不提供 API 的提供商托管(他们说他们正在开发 API),因此我无法DNS-01通过将 TXT 记录写入区域文件来自动化验证过程。
  • 我找到了TLS-ALPN-01验证方法,但我不确定这是否适合我尝试实现的用例。根据Let's encrypt(强调我的)中对该方法的描述:

这个挑战并不适合大多数人。它最适合希望执行基于主机的验证(如 HTTP-01)但希望完全在 TLS 层执行以分离关注点的 TLS 终止反向代理的作者。目前,这主要意味着大型托管服务提供商,但像 Apache 和 Nginx 这样的主流 Web 服务器有朝一日可以实现这一点(Caddy 已经这样做了)。

优点:

  • 如果您无法使用端口 80,它会起作用。
  • 它可以纯粹在 TLS 层执行。

缺点:

  • Apache、Nginx 或 Certbot 不支持它,并且可能不会很快支持。
  • 与 HTTP-01 一样,如果您有多个服务器,它们都需要使用相同的内容来回答。
  • 此方法不能用于验证通配符域。

所以,根据我目前的研究和我的环境,我最大的三个问题是:

  1. TLS-ALPN-01验证方法是否是为每个子域生成单独的 SSL 证书的有效(甚至可用)选项?由于防火墙和 FTP 服务器目前无法在端口 80 上提供适当的文件,因此我看不到任何方法可以HTTP-01对这些子域使用验证。无法使用 API 来自动化DNS-01验证会使该方法通常比它的价值更麻烦。虽然我可能可以HTTP-01对客户端门户进行验证 - 可能还有 RDP 服务器(我的研究还没有那么深入) - 我仍然需要手动处理其他两个子域。
  2. 尝试为子域做通配符证书会更好吗?除了通过减少需要颁发的 SSL 证书的数量来“简化”流程之外,与为每个子域使用单独的证书相比,走这条路线是否有任何内在的好处?由于主站点由第 3 方托管/管理,并且(再次)我目前无法使用 API 来自动化DNS-01验证,我想我需要使用HTTP-01验证。根据我的理解,这意味着我需要获得访问/权限才能创建响应文件,以及该服务器上的相应目录。
  3. 可以肯定的是,如果我要生成/部署通配符证书到子域,而主网站仍然使用自己的 SSL 证书,是否有可能引起某种“冲突” www?同样,我不认为是这种情况,但我想尽我所能避免在这种情况下引入更多的复杂性和/或问题。
0 投票
0 回答
445 浏览

elasticsearch - SSL 证书问题:无法获取本地颁发者证书(仅当证书由 Terraform 管理时)

我正在尝试在 Elasticsearch 集群上为客户端设置 HTTPS。当我通过以下命令使用 certbot 从集群生成 SSL 证书时,它工作正常:

我的 Elasticsearch 集群配置如下:

因此,我设法使用我的登录名和密码在我的 elasticsearch 上通过以下命令在 HTTPS 中进行身份验证:

我的问题是我现在想做同样的操作,但是通过 Terraform 使用ACME 提供程序生成 SSL 证书 ,更准确地说是使用资源 "acme_certificate"。这是我的 Terraform 代码:

从 Terraform 资源“acme_certificate”我得到以下输出:

  • “certificate_pem”将成为我的“cert.pem”文件(但我没有在我的 Elasticsearch 设置中使用它)
  • “发行人_pem”
  • “private_key_pem”将成为我的“privkey.pem”文件

因此,我错过了通过将“certificate_pem”和“issuer_pem”关联起来构建的“fullchain.pem”文件,如下所示(我的错误可能在那里):

我的“fullchain.pem”文件如下所示:

以与使用相同的方式cerbot,我使用 Terraform 将我的证书注入 Elasticsearch 并验证 Elastic 用户是否具有正确的权限(使用chmodandchown命令) elasticsearch 服务重新启动正常,但是当我尝试连接时它给了我以下错误:

我不明白问题是什么,我的印象是 Terraform 返回的证书不正确。但是当我用 cerbot 测试它们的有效性时,一切似乎都很好:

谢谢你的帮助 !

0 投票
1 回答
91 浏览

docker - 从 traefik 到 PowerDNS 的 DNS 挑战

尝试设置 DNS 质询以获取通配符证书。

这是我们的环境变量的样子:

这是它输出的日志:

已经尝试增加DELAYBEFORECHECK和设置一个RESOLVER没有成功。

在 PowerDNS 中正确创建了 ACME 挑战:

PowerDNS TXT 挑战

可能有人可以提供帮助或对如何完成这项工作有想法?

0 投票
1 回答
604 浏览

kubernetes - 在 k8s 中使用 LetsEncrypt 和集群颁发者的证书始终处于“假”状态

我无法在 k8s 中为我的入口主机颁发工作证书。我使用 ClusterIssuer 来颁发证书,并且同一个 ClusterIssuer 过去曾为我的域名 *xyz.com 下的入口主机颁发证书。但是突然之间,我既不能为我的主机名颁发状态为“True”的新证书,也不能创建正确的证书机密(kubernetes.io/tls)(而是创建了一个不透明的机密)。

我检查了证书请求,它不包含任何事件。我也看不到任何挑战。我在下面添加了日志。任何帮助,将不胜感激

这是 ingress.yaml

这是集群发行者:

0 投票
1 回答
86 浏览

kubernetes - 带有证书管理器的 K8s 内部 ACME 服务器,仅用于发布内部 k8s 证书-htttp 挑战问题

是否可以使用 cert-manager 仅在一个命名空间中具有 ACME 服务器的集群中为有效负载生成证书?据我了解,cert-manager 尝试通过退出集群和进入集群来访问 dns 名称以进行 http chalange,但是如果我不想离开集群怎么办?我不希望 cert-manager 创建 Ingress 资源。让整个挑战发生在集群内部。

我的情况:

  • 我的一个命名空间中有 ACME 服务器(step-ca)
  • 我需要在另一个命名空间中为我的 POD 创建证书,例如通用名称“${app}.${namespace}”

备注:在我的情况下,由于板上的 istio,问题更加复杂。对于入口流量,cert-manager 可以与内部 ACME 服务器正常工作,但对于出口流量,我需要通过 stunnel(在每个 POD 中)才能到达外面的 Squid,我需要这些证书用于 stunnel。

0 投票
1 回答
80 浏览

django - 如何使用 Traefik 的 dnsChallange 获得“www.*.example.org”的证书?

使用下面的配置,颁发的证书适用于www.example.orgabc.example.org.but 不适用于www.abc.example.org.

在 DNS 中,我有和的A记录。example.org*.example.org

是否有可能同时获得适用的www.*.example.org证书*.example.org