Handle NIST curve names.
authorjsing <jsing@openbsd.org>
Sat, 20 Jun 2015 14:19:39 +0000 (14:19 +0000)
committerjsing <jsing@openbsd.org>
Sat, 20 Jun 2015 14:19:39 +0000 (14:19 +0000)
From OpenSSL.

ok miod@ (a while ago)

lib/libcrypto/ec/ec_pmeth.c
lib/libssl/src/crypto/ec/ec_pmeth.c

index 07933dc..a52bff1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_pmeth.c,v 1.8 2014/07/12 16:03:37 miod Exp $ */
+/* $OpenBSD: ec_pmeth.c,v 1.9 2015/06/20 14:19:39 jsing Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2006.
  */
@@ -248,7 +248,9 @@ pkey_ec_ctrl_str(EVP_PKEY_CTX * ctx,
 {
        if (!strcmp(type, "ec_paramgen_curve")) {
                int nid;
-               nid = OBJ_sn2nid(value);
+               nid = EC_curve_nist2nid(value);
+               if (nid == NID_undef)
+                       nid = OBJ_sn2nid(value);
                if (nid == NID_undef)
                        nid = OBJ_ln2nid(value);
                if (nid == NID_undef) {
index 07933dc..a52bff1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_pmeth.c,v 1.8 2014/07/12 16:03:37 miod Exp $ */
+/* $OpenBSD: ec_pmeth.c,v 1.9 2015/06/20 14:19:39 jsing Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2006.
  */
@@ -248,7 +248,9 @@ pkey_ec_ctrl_str(EVP_PKEY_CTX * ctx,
 {
        if (!strcmp(type, "ec_paramgen_curve")) {
                int nid;
-               nid = OBJ_sn2nid(value);
+               nid = EC_curve_nist2nid(value);
+               if (nid == NID_undef)
+                       nid = OBJ_sn2nid(value);
                if (nid == NID_undef)
                        nid = OBJ_ln2nid(value);
                if (nid == NID_undef) {