Recientemente tuve un problema donde creé un certificado de cliente EC que usaba la curva sect571k1
y obtuve algunos errores extraños al intentar usarlo como certificado de cliente a través de Mozilla Firefox. Resulta que Firefox soporta secp521r1
pero no sect571k1
.
Creé el certificado usando keytool
de Java, que reporta la curva como 570-bit EC key
, mientras que openssl x509
me dice que es tanto ASN1 OID: sect571k1
como NIST CURVE: K-571
. Un poco de googlear me lleva a RFC 4492 que enumera varias claves y sus diversos alias, pero no enumere muchas de las curvas que se discuten popularmente, como Curve25519 de djb y cualquiera de las brainpool curvas. (Parece que keytool
de Java no le permite elegir la curva exacta, solo el tamaño de bits de la clave, por lo que realmente no tenía una opción).
Mi LibreSSL admite ~ 90 curvas diferentes, mientras que mi Java admite ~ 50 curvas diferentes. Me gustaría asegurarme de que cualquier cosa que haga con cualquier herramienta "más capaz" sea compatible con los navegadores web, y sería bueno saber cuáles son los equivalentes para todos estos nombres.