【问题标题】:Let's encrypt csr with ECC (P-521)让我们用 ECC 加密 csr (P-521)
【发布时间】:2017-10-01 13:34:22
【问题描述】:

我正在尝试使用 Let's Encrypt 为我的 Web 服务器生成证书。我想用openssl手动生成key和csr,然后用letsencrypt/certbot获取证书。我特别希望证书使用sha256withecdsa。特别是我想使用曲线secp521r1(又名P-521)。

密钥生成和 csr 生成工作正常,但是,当我输入命令时

certbot certonly --apache -d [censored] --csr mycsr.csr --agree-tos

我收到以下错误:

请求消息格式不正确 :: 证书请求中的密钥无效 :: ECDSA 曲线 P-521 不允许

ECDSA 仍然不受支持,还是我做错了什么?

【问题讨论】:

    标签: apache ssl encryption lets-encrypt certbot


    【解决方案1】:

    虽然 P-521 是用于 X.509 证书的 valid,但大多数浏览器都放弃了对它的支持,因为它不是 Suite B 的一部分并且不是很受欢迎。结果,Certbot doesn't allow 证书将使用 P-521 生成,因为浏览器无论如何都会拒绝它。您仍然可以使用 P-256 和 P-384 曲线生成证书。有关详细信息,请参阅 MozillaGoogle 错误报告。

    【讨论】:

    • 另外根据letsencrypt.org/upcoming-features,Let's Encrypt 自 2016 年 2 月以来签署了基于 ECDSA 的证书,尽管使用了基于 RSA 的根证书和中间证书,并计划在 2018 年第三季度拥有基于 ECDSA 的根证书和中间证书。跨度>
    • 您引用的 2 个错误报告并没有真正显示从浏览器中删除 P-521,事实上恰恰相反。基于boringssl-review.googlesource.com/c/boringssl/+/2860,P-521 已从 BoringSSL 中删除,但在boringssl-review.googlesource.com/c/boringssl/+/10923 中似乎有点相反“这故意让 P-521 暂时处于连接状态。完全分离它是一个更激进的变化(因为它有点捆绑使用 SHA-512)应该等到删除 ECDSA+SHA512 卡在 Chrome 中。”因此它可能会从“默认”列表中删除,但仍会实施。
    • 主要的一点是,由于我上面提到的原因,certbot 工具特别不支持 P521。 Letsencrypt 中的一般 ECDSA 支持已经存在了一段时间,而这些 ECDSA 根不能很快到来。
    【解决方案2】:

    除了我在@AfroThundr 回复中的 cmets 之外,事实上这方面的最终信息来源是 https://letsencrypt.org/docs/integration-guide/,它说:

    支持的关键算法

    Let's Encrypt 接受长度为 2048 到 4096 位的 RSA 密钥,以及 P-256 和 P-384 ECDSA 密钥。帐户密钥和证书密钥都是如此。您不能重复使用帐户密钥作为证书密钥。

    我们的建议是提供双证书配置,默认情况下提供 RSA 证书,并为那些表示支持的客户提供(小得多的)ECDSA 证书。

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      • 2016-08-30
      • 1970-01-01
      相关资源
      最近更新 更多