让我们通过DNS优先挑战加密手动证书

时间:2016-10-13 21:40:14

标签: python lets-encrypt certbot

我试图为我无法直接访问的计算机生成letsencrypt证书(除了上传SSL证书之外)。我已经下载了最新的CLI(certbot)并发现了一个标记--preferred-challenge,它似乎允许DNS主机验证而不是标准的HTTP验证。

当我运行以下内容时:

./certbot-auto certonly --manual --preferred-challenge dns --domains domain_to_secure.com

我收到以下消息:

  

自我验证需要安装可选的依赖项dnspython

在网上找到dnspython包很容易,但是如何让certbot将它识别为插件包呢?

1 个答案:

答案 0 :(得分:1)

certbot-auto运行并进行所有初始设置时,您会在系统软件包安装后看到以下几行:

Creating virtual environment...
Installing Python packages...

这是你的暗示。 certbot-auto是一个礼貌的Python公民,并使用 virtualenv 。找到它可能很尴尬,但位置看起来相当标准。以版本v0.9.3为根运行,virtualenv用于Arch,Centos7和Ubuntu 16.04:/root/.local/share/letsencrypt/。现在我们知道了,我们可以使用virtualenv的pip来安装依赖项。

$ /root/.local/share/letsencrypt/bin/pip install dnspython

如果你真的想确认,可以模仿certbot的code

$ /root/.local/share/letsencrypt/bin/python
>>> from acme import util
>>> import acme.dns_resolver
>>> util.activate(acme.dns_resolver.DNS_REQUIREMENT)
相关问题