Openfire:如何添加和自动续订 LetsEncrypt 证书?

Lyn*_*nob 3 openfire

如何像这样添加由 certbot自动生成的 LetsEncrypt 证书来开火

  1. Letsencrypt 证书没有密码,如果有的话我不知道,因为它是自动生成的,但我确定它没有密码
  2. 我有一个可以自动续订的 cron,因此我也想在 Openfire 上自动续订它

如果我使用证书管理器,则必须有人手动更新它。

use*_*886 5

为了扩展 Bo Kersey 有用的答案,完成他答案的最后部分:“使用 certbots post-hook 将数据复制到 Openfire 可以使用的目录中”。以下是完成这部分答案的步骤:

\n\n

Certbot使用 post-hook 文档进行更新,表明可以从以下位置运行脚本:/etc/letsencrypt/renewal-hooks/post以实现解决方案:

\n\n
\n

“您还可以通过将文件放置在\n Certbot\xe2\x80\x99s 配置目录的子目录中来指定挂钩。假设您的配置\n 目录为,则在\n 、\n 和\n /etc/letsencrypt中找到的任何可执行文件都 将作为运行当使用 renew\n 子命令续订任何证书时,分别执行 pre、deploy 和 \n post 挂钩。”/etc/letsencrypt/renewal-hooks/pre/etc/letsencrypt/renewal-hooks/deploy/etc/letsencrypt/renewal-hooks/post

\n
\n\n

解决步骤...

\n\n

该解决方案依赖于 OpenFire 证书管理器插件 - 如上所述。要安装该插件,请从 OpenFire 插件页面下载插件文件:certificatemanager.jar,链接如下:https ://www.igniterealtime.org/projects/openfire/plugins.jsp

\n\n

然后,在 OpenFire consul 的“插件”选项卡上,选择并上传certificatemanager.jar 文件。这应该安装插件 - 请参见下面的屏幕截图。

\n\n

在此输入图像描述

\n\n

OpenFire Consul 中应出现一个新选项卡:服务器 > TLS/SSL 证书。这说明插件安装正确。

\n\n

安装插件后,返回终端并运行以下命令:

\n\n
sudo su\ncd /etc/letsencrypt/renewal-hooks/post\nnano copykeys.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

复制和粘贴:

\n\n
#!/bin/bash\ncp /etc/letsencrypt/live/MY-DOMAIN/privkey.pem /resources/security/hotdeploy/my-domain-privkey.pem\ncp /etc/letsencrypt/live/MY-DOMAIN/fullchain.pem /resources/security/hotdeploy/my-domain-fullchain.pem\n
Run Code Online (Sandbox Code Playgroud)\n\n

保存并退出:

\n\n

Ctrl然后X,然后Y,然后Enter

\n\n

使脚本可执行:

\n\n
chmod +x copykeys.sh\n
Run Code Online (Sandbox Code Playgroud)\n\n

完毕!

\n

  • 我必须在 copykeys.sh 上添加以下命令,以便密钥由 openfire 拥有: chown openfire:openfire /resources/security/hotdeploy/my-domain-privkey.pem; chown openfire:openfire /resources/security/hotdeploy/my-domain-fullchain.pem (2认同)