关于 apache:让我们用 ECC 加密 csr (P-521)

Let's encrypt csr with ECC (P-521)

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

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

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

我收到以下错误:

The request message was malformed :: Invalid key in certificate request :: ECDSA curve P-521 not allowed

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


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


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

Supported Key Algorithms

Let’s Encrypt accepts RSA keys from 2048 to 4096 bits in length, and P-256 and P-384 ECDSA keys. That’s true for both account keys and certificate keys. You can’t reuse an account key as a certificate key.

Our recommendation is to serve a dual-cert config, offering an RSA certificate by default, and a (much smaller) ECDSA certificate to those clients that indicate support.