我最近遇到了一个问题,我创建了一个使用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 浏览器兼容,并且最好知道所有这些名称的等价物是什么。