V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  SSL

letsencrypt.sh

  •  
  •   Livid · 2016-02-06 19:47:34 +08:00 · 5617 次点击
    这是一个创建于 3196 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 bash + openssl 实现的 Let's Encrypt 客户端,支持 dns-01 验证:

    https://github.com/lukas2511/letsencrypt.sh

    18 条回复    2016-02-08 14:04:03 +08:00
    ivmm
        1
    ivmm  
       2016-02-06 19:49:43 +08:00
    支持 ecc 的样子,不过不适宜用于生产
    kiritoalex
        2
    kiritoalex  
       2016-02-06 20:02:14 +08:00
    https://github.com/xdtianyu/scripts/tree/master/lets-encrypt 该脚本支持 cloudxns ,至于支持 CloudFlare 和 DNSpod 的可以在 V2EX 上用搜索找到
    Return2legacy
        3
    Return2legacy  
       2016-02-06 21:05:58 +08:00 via Android
    这个有点麻烦,还要写那么多配置。和官方的没什么区别了。
    neilp
        4
    neilp  
       2016-02-06 23:00:28 +08:00
    https://v2ex.com/t/254533#reply8

    我已经支持了 dnspod 的 api 了. cloudxns 马上就来.
    lightening
        5
    lightening  
       2016-02-06 23:00:59 +08:00 via iPhone
    周末我尽量写一篇 blog 来介绍下我的 https://github.com/SteveLTN/https-portal 。这个自动化程度高一点,不过设计思想完全不同。
    DesignerSkyline
        6
    DesignerSkyline  
       2016-02-07 18:11:42 +08:00
    @neilp 没有找到 revoke 证书的选项啊
    DesignerSkyline
        7
    DesignerSkyline  
       2016-02-07 18:17:13 +08:00
    @neilp 除了不能吊销证书,还有一个问题,找不到生成.pem 的选项,只能生成 cer
    neilp
        8
    neilp  
       2016-02-07 18:37:03 +08:00   ❤️ 1
    @DesignerSkyline

    ```
    pem == cer
    ```

    直接重命名
    neilp
        9
    neilp  
       2016-02-07 18:38:16 +08:00   ❤️ 1
    @DesignerSkyline

    revoke 正在做, 但是最近时间比较紧. 你可以看到有个 revoke 的 branch. 现在还有 bug 不能工作.
    DesignerSkyline
        10
    DesignerSkyline  
       2016-02-07 18:44:20 +08:00
    @neilp 过年时间还很紧吗?哈哈
    neilp
        11
    neilp  
       2016-02-07 18:46:07 +08:00
    @DesignerSkyline

    是啊,哈哈, 谁规定的程序员就过年一定要宅在家呢.

    接下来另一个 feature 是要支持 ECDSA 证书. 这个优先级比 revoke 要高.

    其实 revoke 的作用真的不大.
    DesignerSkyline
        12
    DesignerSkyline  
       2016-02-07 22:56:59 +08:00
    @neilp 我现在发现了一个问题

    我使用这个 le.sh 通过 CloudFlare DNS challenge 签发了 storage.xxx.com 的证书,然后我再使用 le.sh 客户端,想 Renew 一下我另外两个 xxx.com 的子域名的证书(这另外两个子域名证书都是用的官方的 Let's Encrypt 签发工具签发的。)但是会提示 blog.xxx.com:Verify error:Invalid response from http://blog.xxx.com/.well-known/acme-challenge/xxxxxxxxxxxxx [104.x.x.x]: 404
    neilp
        13
    neilp  
       2016-02-07 23:07:40 +08:00
    @DesignerSkyline

    renew 只能 renew 自己生成的证书, 不能 renew 别人生成的.

    所以, 你可以直接重新生成一个 blog.xxx.com 的证书.

    即使是对于官方客户端而言, renew 实际上就是重新生成.
    DesignerSkyline
        14
    DesignerSkyline  
       2016-02-07 23:34:05 +08:00
    @neilp 但是我返回去用 Let's Encrypt 官方的工具想 renew 一下自己 VPS 上 blog.xxx.comwww.xxx.com 的证书,却发现

    Failed authorization procedure. blog.xxx.com (tls-sni-01): urn:acme:error:tls :: The server experienced a
    TLS error during domain verification :: Failed to connect to host for DVSNI challenge, www.xxx.com (tls-
    sni-01): urn:acme:error:tls :: The server experienced a TLS error during domain verification :: Failed to connec
    t to host for DVSNI challenge

    感觉好像是服务器把原先 issue 的证书的 challenge 通道也一并改成 DNS-01 challenge 模式了,请问这样怎么解决呢?
    neilp
        15
    neilp  
       2016-02-08 08:46:35 +08:00
    @DesignerSkyline 没有所谓的 什么通道的概念. 可能有缓存. 你多试几次.
    DesignerSkyline
        16
    DesignerSkyline  
       2016-02-08 13:51:51 +08:00
    @neilp 你好,还有个问题,就是我发现通过 DNS-01 challenge 生成的文件里没有证书链,只有 ca.cer , xxx.com.conf , xxx.com.csr , xxx.com.cer , xxx.com.csr , xxx.com.key, 类似于 fullchain.pem 的证书链文件并不存在,求教如何解决这个问题呢?
    neilp
        17
    neilp  
       2016-02-08 14:02:49 +08:00
    @DesignerSkyline

    所谓的证书链: fullchain.pem = xxx.com.cer + ca.cer

    直接把两个文件加在一起.
    DesignerSkyline
        18
    DesignerSkyline  
       2016-02-08 14:04:03 +08:00
    @neilp 好的,非常感谢您的回复!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3584 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:35 · PVG 18:35 · LAX 02:35 · JFK 05:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.