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

Let’s Encrypt 使用吐槽

  •  
  •   Daniel65536 · 2015-12-04 16:34:14 +08:00 · 24153 次点击
    这是一个创建于 3271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Let ’ s Encrypt 公测了,实验了下吐槽如下:

    1. 这个项目由两个部分组成,一个是他们管理的 acme-server ,负责认证与签发证书,另一个是他们提供的 acme-client ,用来申请证书,也就是那个他们要你实际在服务器上安装运行的程序。

    2. 他们提供的 client 很蠢,我只想要一个证书申请工具,却给我来了个全家桶,一堆依赖,占用 80 端口帮你搞认证,还提供个什么鬼自动修改你的 apache/nginx 配置帮你安装证书。支持的认证方式多,然而并没有什么卯月,最实用的还是 http-01 认证,也就是丢个文件到你的网站底下。

    3. https://github.com/diafygi/acme-tiny 这才是你真正需要的 acme-client ,只干申请证书这一件事的脚本, 200 行,无 python 和 openssl 以外的依赖。这个脚本就干了 3 件事:向 acme-server 请求进行认证,把认证文件丢在网站根目录下来证明你拥有这个网站,下载通过认证后签好的证书。

    4. 在使用了这个实用的脚本后,申请 ssl 证书被简化成了 1 分钟就能完成的事情,确实方便。

    57 条回复    2017-09-22 13:31:36 +08:00
    aku
        1
    aku  
       2015-12-04 16:35:23 +08:00 via Android
    感谢
    pupboss
        2
    pupboss  
       2015-12-04 17:04:14 +08:00
    4096 位 RSA 慎用...CPU....别问我怎么知道的
    Daniel65536
        3
    Daniel65536  
    OP
       2015-12-04 17:07:23 +08:00
    @pupboss 明年初出 ecc 证书,到时候就方便了……
    phoenixlzx
        4
    phoenixlzx  
       2015-12-04 17:09:27 +08:00
    现在没必要 RSA4096 吧...
    (而且 Comodo 的 ECC 证书超便宜啊
    pupboss
        5
    pupboss  
       2015-12-04 17:13:29 +08:00
    @Daniel65536 哈哈,话说, ECC 我折腾了快一周了,感觉资源消耗方面,跟安全一样, 384 位的 ECC 和 2048~4096 的 RSA 消耗的 CPU 差不多。而且安卓 2.3.x , Windows XP ,死活不支持

    谷歌一搜关于 ECC 的中文文章,全特么被沃通承包了,沃通一直在说 ECC 如何好,对移动设备友好,关于移动设备的说法,英文文章并没找到。。。
    pupboss
        6
    pupboss  
       2015-12-04 17:14:58 +08:00
    @phoenixlzx 黑五悄悄的屯了几个,白菜价的东西,居然没有黄牛
    GPU
        7
    GPU  
       2015-12-04 17:15:48 +08:00
    @phoenixlzx
    @pupboss
    楼上与楼上上你们说什么。
    pupboss
        8
    pupboss  
       2015-12-04 17:19:34 +08:00
    @GPU SSL 啊😂
    GPU
        9
    GPU  
       2015-12-04 17:22:23 +08:00
    @pupboss

    你们说的是 RSA 4096 太慢并且握手时间长 ,
    然后 ECC 快很多,但支持 ECC 签发的很小,
    之后再说 comodo 的 ecc 白菜价 。还没有黄牛 。

    是这样不。
    Daniel65536
        10
    Daniel65536  
    OP
       2015-12-04 17:22:23 +08:00
    如果希望用 rsa2048 的话, acme-tiny 项目上提到的 openssl genrsa 4096 > domain.key 这一步改成 openssl genrsa 2048 > domain.key 就好……


    @pupboss 给自己 blog 用,我是直接从 css 、 js 上设定兼容标准的,既然某些客户端访问也达不到我希望的效果,那就干脆 ssl 都不让连好了,任性……

    @phoenixlzx Comodo 的 ECC 好像和 Positive SSL 是同一个项目吧?价格也是一样的吧…
    phoenixlzx
        11
    phoenixlzx  
       2015-12-04 17:22:55 +08:00
    @pupboss 毕竟没怎么张扬...
    phoenixlzx
        12
    phoenixlzx  
       2015-12-04 17:23:30 +08:00
    @Daniel65536 是,提交 ecc 的 csr 就可以了
    https://blog.phoenixlzx.com 看证书
    Daniel65536
        13
    Daniel65536  
    OP
       2015-12-04 17:24:38 +08:00
    @GPU 聊的其实是 SSL 的 CPU 消耗啊……相同加密水平的加密方法其实消耗的 CPU 也是差不多的,哪怕长度差很多。

    我倒是不很在意 CPU 消耗, ecc 吸引我的主要是证书短……
    Daniel65536
        14
    Daniel65536  
    OP
       2015-12-04 17:28:16 +08:00
    @phoenixlzx 然而 Comodo 家要配个 4 层证书链,实际上证书文件大小和 2048 串下来的 3 层 rsa 差不多…这样 ecc 证书短的优势就体现不出来了。
    所以我一直比较期待 rapidssl 之流出 ecc 证书或者 let's encrypt 的 ecc ……
    wy315700
        15
    wy315700  
       2015-12-04 17:29:51 +08:00   ❤️ 1
    @pupboss
    @phoenixlzx

    测试结果, ECC 在安卓上超级慢,比 RSA 慢了一个等级,肉眼可见的慢
    GPU
        16
    GPU  
       2015-12-04 17:30:10 +08:00
    @Daniel65536 在 comodo 里面 是不是有说明

    ```Highest strength 2048 bit signatures / 256 bit encryption ```

    这段就是直接 ecc ? 还是怎样的.我看 Free SSL 也有这段啊.
    phoenixlzx
        17
    phoenixlzx  
       2015-12-04 17:33:28 +08:00
    @Daniel65536 ShinoSaki SDV 签 ECC 给的是个 bundle
    PositiveSSL 给的是多张证书

    bundle 里就两层,不知道为啥
    不过串联起来的效果似乎一样

    另外慢大概是网速问题...
    Daniel65536
        18
    Daniel65536  
    OP
       2015-12-04 17:33:29 +08:00
    @GPU 好像就是 ecc , comoda 的 ecc 就支持 256bit 的, 384bit 会被拒签
    GPU
        19
    GPU  
       2015-12-04 17:36:48 +08:00
    你们买的 哪里便宜了?

    我直接官网看 77 刀一年呢。
    phoenixlzx
        20
    phoenixlzx  
       2015-12-04 17:40:50 +08:00
    greenskinmonster
        21
    greenskinmonster  
       2015-12-04 17:54:41 +08:00
    acme-tiny 必须要 80 端口,被运营商屏蔽的话,就只能用官方的 client 了
    Daniel65536
        22
    Daniel65536  
    OP
       2015-12-04 18:08:05 +08:00
    @phoenixlzx 看了一眼你的 ecc 证书长度有 3 层 2891 bytes ,我用的 rsa 证书 2 层 2342 ,如果能有两层的 ecc 证书就能把长度压到 1900 byte 了……
    pupboss
        23
    pupboss  
       2015-12-04 18:08:40 +08:00
    @GPU 黑五的时候, namecheap , 0.88 刀一个证书
    pupboss
        24
    pupboss  
       2015-12-04 18:11:09 +08:00
    @Daniel65536 你还在纠结一个数据包传完证书内容😂
    phoenixlzx
        25
    phoenixlzx  
       2015-12-04 18:13:10 +08:00
    =。= 你们真是 sxbk
    Daniel65536
        26
    Daniel65536  
    OP
       2015-12-04 18:20:35 +08:00
    @pupboss TCP 一个包也就 1460 ,并不可能一个包,然而 2 个包就是 2920 算上其他握手之类的数据, 2891 的 3 层 ecc 很可能就要 3 个包了……

    躺……=。=
    yangyang
        27
    yangyang  
       2015-12-04 18:27:47 +08:00
    继续用 StartSSL 。
    linker
        28
    linker  
       2015-12-04 21:24:12 +08:00 via iPhone
    下午刚从推特看到你讲的!😄
    tokki
        29
    tokki  
       2015-12-04 21:26:53 +08:00
    听不懂啊 到底用还是不用阿。。
    lzhd24
        30
    lzhd24  
       2015-12-04 21:41:50 +08:00 via Android
    BlackGear?
    Daniel65536
        31
    Daniel65536  
    OP
       2015-12-04 21:46:47 +08:00
    @lzhd24 嗯,常用 id 之一。

    @tokki 用吧,看今天签出去的证书比之前内测番了一番,看来很受欢迎的样子,签的过程体验还不错。

    @linker 在推上吐槽感觉不过瘾,所以跑这里再吐槽下……
    shotego
        32
    shotego  
       2015-12-04 23:21:23 +08:00
    看来被那个 Python 依赖弄的烦的不只我一个
    Daniel65536
        33
    Daniel65536  
    OP
       2015-12-05 00:17:22 +08:00
    @shotego 洁癖加强迫症伤不起啊……
    Quaintjade
        34
    Quaintjade  
       2015-12-05 00:35:17 +08:00
    @pupboss
    浏览器支持 ECC 还算好的。记得 AnyConnect 不信任, OpenConnect 不支持,不知道现在版本如何。
    Daniel65536
        35
    Daniel65536  
    OP
       2015-12-05 00:47:03 +08:00 via iPhone
    @Quaintjade OpenConnect 已经支持了, AnyConnect 还是老样子……
    mzer0
        36
    mzer0  
       2015-12-05 03:06:15 +08:00
    @Daniel65536 问一下, AnyConnect 能自己部署吗? 要付费订阅吗? 另外, OpenConnect 和 OpenVPN 比, 怎样?

    ECC 只是安全性比较好, 速度和 RSA 一样慢.
    Daniel65536
        37
    Daniel65536  
    OP
       2015-12-05 04:08:50 +08:00 via iPhone
    @mzer0 see: https://darknode.in/network/setup-debian-ocserv/ 最大的优势是 anyconnect 更加商业,所以哪怕有办法封锁也会更慎重。当然有状态的 VPN 永远在性能与稳定性方面比不上无状态的某工具…

    同等安全性 ECC 更短,这也是优势啊。速度反过来说也是好 RSA 一样快…
    tcdw
        38
    tcdw  
       2015-12-05 09:07:08 +08:00 via Android
    折腾了几个小时来给他家的烂客户端部署环境、解决错误,结果居然有这么简单的途径。
    AstroProfundis
        39
    AstroProfundis  
       2015-12-05 09:09:29 +08:00
    为啥我感觉如果性能敏感到要纠结几个包传完证书了,还不如直接上 RSA 硬件卡...

    我就是路过冒个泡,请无视_(:зゝ∠)_
    HowardMei
        40
    HowardMei  
       2015-12-05 09:37:48 +08:00
    @Daniel65536 Let's Encrypt 几层证书链?比 Comodo 好吗?
    tcdw
        41
    tcdw  
       2015-12-05 10:16:55 +08:00 via Android
    @HowardMei 我注意过,三层,分别是自己的证书、 Let's Encrypt 的中级证书和 DST 的根证书。
    看上去效力跟 Comodo 单域名的差不多。
    Demo: https://tucaoda.wang
    HowardMei
        42
    HowardMei  
       2015-12-05 10:27:46 +08:00
    @tcdw 谢谢,把你的证书和我买的比了一下, Comodo 单域名被秒杀,不免费还多一层 xD
    pupboss
        44
    pupboss  
       2015-12-05 11:19:02 +08:00
    @mengzhuo 受教了,请教一个业余的问题 = =加密 ciphers 和私钥的位数,会分别给哪部分造成压力, 4096 位私钥,会给客户端造成压力吗
    initialdp
        45
    initialdp  
       2015-12-05 11:50:03 +08:00 via Android
    请问像 bluehost 这种虚拟空间方式能用吗?
    wy315700
        46
    wy315700  
       2015-12-05 11:52:23 +08:00
    @mengzhuo 对于签名来说, ECC 比 RSA 快,但是对于验证来说, RSA 比 ECC 快了不止一个数量级,尤其是在手机上, ECC 证书在手机上的验证简直不能忍,
    mudkip
        47
    mudkip  
       2015-12-05 11:54:31 +08:00
    pacman -S letsencrypt
    然后用 certonly + webroot 的方式,几分钟搞定。
    Arch Linux 大法好。
    mzer0
        48
    mzer0  
       2015-12-05 12:08:08 +08:00 via iPhone
    @Daniel65536 也就是说, OpenConnect 破解了 Anyconnect 的协议?
    ygmpkk
        49
    ygmpkk  
       2015-12-05 12:31:45 +08:00
    这时候不应该用 virtualenv 环境安装吗,很轻松的就搞定了。
    Tink
        50
    Tink  
       2015-12-05 12:34:25 +08:00
    这个现在是不是主流浏览器都支持了?移动端呢?
    schemacs
        51
    schemacs  
       2015-12-05 15:16:19 +08:00
    @Daniel65536 "占用 80 端口",如果只是 auth 是不会的,我上周( Beta 公测前)是这样跑只会生成证书,不会去修改 apache/nginx 配置的:`./letsencrypt-auto --agree-dev-preview --server https://acme-v01.api.letsencrypt.org/directory --text auth`
    Actrace
        52
    Actrace  
       2015-12-05 15:49:02 +08:00
    顺路提醒一下,部分商业支付公司的内部系统可能现在还不支持此类 SSL 证书,比如 paypal.
    顶多自己博客玩玩就可以辣.
    Daniel65536
        53
    Daniel65536  
    OP
       2015-12-05 15:57:48 +08:00
    @mudkip @schemacs do one thing and do it well ,装一大堆依赖然后用命令行加一堆参数实现一个 200 行脚本就能实现的事情,太不美观了。

    @Tink 所有浏览器都支持了,因为他们已经拿到别的 CA 的交叉签了。

    @Actrace 这个项目本意也只是给你提供加密,其他 https 的什么保证金之类的是没有的,支付公司不认也正常。
    schemacs
        54
    schemacs  
       2015-12-06 14:00:53 +08:00
    @Daniel65536 这个的确, Python 写的,一堆依赖,不过还好,都是在 virtualenv 里,我是厌烦它还要 apt-get update 后安装什么系统库依赖。
    DennyDai
        55
    DennyDai  
       2015-12-06 14:28:45 +08:00   ❤️ 1
    在 tiny 的基础上写了个自带服务器的证书获取工具。。。
    用 docker 开的,开完就关闭并且删除容器,不影响原有 nginx/apache 配置什么的。。。
    用起来应该比较方便,只需要生成 account.key ,然后执行.sh 文件,去指定目录就能看见生成的证书和 key 了
    https://github.com/dennydai/docker-letsencrypt
    soyet
        56
    soyet  
       2015-12-11 12:53:29 +08:00
    申请证书的时候出现错误
    u'error': {u'type': u'urn:acme:error:connection', u'detail': u'DNS query timed out'}
    为什么会出现 DNS query timed out ?
    cpublic
        57
    cpublic  
       2017-09-22 13:31:36 +08:00
    Let's Encrypt 绝对没有说的那么差,对于中小型网站来说,Let's Encrypt 可以说是一个最具有性价比的 SSL 证书选择了!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5624 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:23 · PVG 16:23 · LAX 00:23 · JFK 03:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.