【发布时间】:2020-02-20 23:19:11
【问题描述】:
如何添加由certbot like自动生成的letsencrypt证书来开火
- Letsencrypt 证书没有密码,如果有我不知道,因为它是自动生成的,但我确定它没有密码
- 我有一个可以自动更新它的 cron,因此我也想在 Openfire 上自动更新它
如果我使用证书管理器,则必须有人手动更新它。
【问题讨论】:
标签: openfire
如何添加由certbot like自动生成的letsencrypt证书来开火
如果我使用证书管理器,则必须有人手动更新它。
【问题讨论】:
标签: openfire
检查证书管理器插件的自述文件:
证书管理器插件自述文件 概述
证书管理器插件为 Openfire 添加了与证书存储管理相关的功能。 安装
将 certificatemanager.jar 复制到 Openfire 安装的插件目录中。然后将自动部署该插件。要升级到新版本,请将新的 certificatemanager.jar 文件复制到现有文件上。 配置
插件是通过 Openfire 管理控制台配置的。安装后,会出现一个新的管理控制台页面。该页面可以在“服务器”、“TLS/SSL 证书”选项卡下找到。在那里,这个插件在侧边栏添加了一个新项目,名为“管理”。 使用插件
此插件允许 Openfire 监控特定目录(默认为 /resources/security/hotdeploy/)中的文件更改。每当找到一组由 PEM 编码的私钥和 PEM 编码的证书链组成的文件时,此插件将尝试将它们安装在 Openfire 身份存储中。 让我们加密/Certbot 集成
上述目录观察器机制是利用 Let's Encrypts Certbot 生成的定期更新数据的绝佳方式。 Openfire 可以配置为监视 certbot 放置更新数据的目录。但是,这可能会导致文件权限问题(Openfire 进程通常无法读取 certbot 目录)。另一种解决方案是使用 certbots post-hook 将数据复制到 Openfire 可以使用的目录中。
【讨论】:
为了扩展 Bo Kersey 有用的答案,完成他答案的最后一部分:“使用 certbots post-hook 将数据复制到 Openfire 可以使用的目录中”。这些是完成这部分答案的步骤:
Certbot renew with post-hook documentation,表示可以从/etc/letsencrypt/renewal-hooks/post运行脚本来实现解决方案:
"您还可以通过将文件放置在子目录中来指定挂钩 Certbot 的配置目录。假设您的配置 目录是
/etc/letsencrypt,在/etc/letsencrypt/renewal-hooks/pre,/etc/letsencrypt/renewal-hooks/deploy,和/etc/letsencrypt/renewal-hooks/post将作为 pre、deploy 和 当任何证书通过更新更新时分别发布挂钩 子命令。”
解决方案步骤...
此解决方案依赖于 OpenFire 证书管理器插件 - 如上所述。要安装插件,请从 OpenFire 插件页面下载插件文件:certificatemanager.jar,链接如下:https://www.igniterealtime.org/projects/openfire/plugins.jsp
然后,在 OpenFire consul 的 Plug-in 选项卡上,选择然后上传 certificatemanager.jar 文件。这应该会安装插件 - 请参见下面的屏幕截图。
OpenFire Consul 中应该会出现一个新选项卡:服务器 > TLS/SSL 证书。这表明插件安装正确。
安装插件后,返回终端并运行以下命令:
sudo su
cd /etc/letsencrypt/renewal-hooks/post
nano copykeys.sh
复制粘贴:
#!/bin/bash
cp /etc/letsencrypt/live/MY-DOMAIN/privkey.pem /resources/security/hotdeploy/my-domain-privkey.pem
cp /etc/letsencrypt/live/MY-DOMAIN/fullchain.pem /resources/security/hotdeploy/my-domain-fullchain.pem
保存并退出:
Ctrl,然后是X,然后是Y,然后是Enter
使脚本可执行:
chmod +x copykeys.sh
完成!
【讨论】: