我最近遇到了一个问题,我创建了一个使用sect571k1
曲线的 EC 客户端证书,尝试通过 Mozilla Firefox 将其用作客户端证书时遇到了一些奇怪的错误。事实证明,Firefox 支持secp521r1
但不支持sect571k1
.
我使用 Java 创建了证书keytool
,它将曲线报告为570-bit EC key
,同时openssl x509
告诉我它是ASN1 OID: sect571k1
和NIST CURVE: K-571
。用谷歌搜索一下,我找到了RFC 4492,它列出了几个键及其各种别名,但它没有列出许多流行讨论的曲线,例如 djb 的Curve25519和任何脑池曲线。(Javakeytool
似乎不允许您选择确切的曲线,只能选择密钥的位大小,所以我真的别无选择。)
我的 LibreSSL 支持 ~90 条不同的曲线,而我的 Java 支持 ~50 条不同的曲线。我想确保我使用任何“功能更强大”的工具所做的任何事情都将与 Web 浏览器兼容,并且最好知道所有这些名称的等价物是什么。