Having said that, in practice everyone (well, among TLS
implementors) has
settled on a small number of popular curves and that's it (which is
quite
convenient, you don't even have to worry about extensions, just go
with P256
and everything'll support it). I'd define a few fixed names for the
well-known curves that everyone ends up using (the NIST ones,
basically) and
leave the strange stuff to the usual name@vendor-name mechanism,
which is
exactly what it was meant for.
If the consensus on this mailing list is that using a few fixed names is
fine, then I am willing to make that change.
My preference would be the following:
Method names are ecdh-sha2-[identifier] and ecdsa-sha2-[identifier],
where [identifier] is
nistp256 -- REQUIRED (Suite B)
nistp384 -- REQUIRED (Suite B)
Base64(MD5(DER(OID))) -- OPTIONAL
with the additional proviso that, if the curve in question is in fact
nistp256 (== secp256r1) or nistp384 (== secp384r1), then implementations
MUST use the nistp256/nistp384 naming convention and MUST NOT use the
Base64(MD5(DER(OID))) naming convention.
The rationale for this compromise is as follows. It seems as if we
expect the vast majority of implementations to be aiming for Suite B
which is nistp256 and nistp384. Those implementations need never worry
about the ugly names. For implementations that want to go beyond Suite
B, they can use the ugly (but universal and extensible) names.