On Sun, Mar 02, 2014 at 11:36:34PM -0500, Jeffrey Walton wrote:

> Or better, is there a function like EC_CURVE_by_name that returns a
> nid given a curve like "P-521".

    nid = OBJ_sn2nid(curve);

The name for "P-512" is "secp521r1".  A (partial) list of curves
names found in openssl/obj_mac.h is:

    #define SN_X9_62_c2pnb163v1             "c2pnb163v1"
    #define SN_X9_62_c2pnb163v2             "c2pnb163v2"
    #define SN_X9_62_c2pnb163v3             "c2pnb163v3"
    #define SN_X9_62_c2pnb176v1             "c2pnb176v1"
    #define SN_X9_62_c2tnb191v1             "c2tnb191v1"
    #define SN_X9_62_c2tnb191v2             "c2tnb191v2"
    #define SN_X9_62_c2tnb191v3             "c2tnb191v3"
    #define SN_X9_62_c2onb191v4             "c2onb191v4"
    #define SN_X9_62_c2onb191v5             "c2onb191v5"
    #define SN_X9_62_c2pnb208w1             "c2pnb208w1"
    #define SN_X9_62_c2tnb239v1             "c2tnb239v1"
    #define SN_X9_62_c2tnb239v2             "c2tnb239v2"
    #define SN_X9_62_c2tnb239v3             "c2tnb239v3"
    #define SN_X9_62_c2onb239v4             "c2onb239v4"
    #define SN_X9_62_c2onb239v5             "c2onb239v5"
    #define SN_X9_62_c2pnb272w1             "c2pnb272w1"
    #define SN_X9_62_c2pnb304w1             "c2pnb304w1"
    #define SN_X9_62_c2tnb359v1             "c2tnb359v1"
    #define SN_X9_62_c2pnb368w1             "c2pnb368w1"
    #define SN_X9_62_c2tnb431r1             "c2tnb431r1"
    #define SN_X9_62_prime192v1             "prime192v1"
    #define SN_X9_62_prime192v2             "prime192v2"
    #define SN_X9_62_prime192v3             "prime192v3"
    #define SN_X9_62_prime239v1             "prime239v1"
    #define SN_X9_62_prime239v2             "prime239v2"
    #define SN_X9_62_prime239v3             "prime239v3"
    #define SN_X9_62_prime256v1             "prime256v1"
    #define SN_secp112r1            "secp112r1"
    #define SN_secp112r2            "secp112r2"
    #define SN_secp128r1            "secp128r1"
    #define SN_secp128r2            "secp128r2"
    #define SN_secp160k1            "secp160k1"
    #define SN_secp160r1            "secp160r1"
    #define SN_secp160r2            "secp160r2"
    #define SN_secp192k1            "secp192k1"
    #define SN_secp224k1            "secp224k1"
    #define SN_secp224r1            "secp224r1"
    #define SN_secp256k1            "secp256k1"
    #define SN_secp384r1            "secp384r1"
    #define SN_secp521r1            "secp521r1"
    #define SN_sect113r1            "sect113r1"
    #define SN_sect113r2            "sect113r2"
    #define SN_sect131r1            "sect131r1"
    #define SN_sect131r2            "sect131r2"
    #define SN_sect163k1            "sect163k1"
    #define SN_sect163r1            "sect163r1"
    #define SN_sect163r2            "sect163r2"
    #define SN_sect193r1            "sect193r1"
    #define SN_sect193r2            "sect193r2"
    #define SN_sect233k1            "sect233k1"
    #define SN_sect233r1            "sect233r1"
    #define SN_sect239k1            "sect239k1"
    #define SN_sect283k1            "sect283k1"
    #define SN_sect283r1            "sect283r1"
    #define SN_sect409k1            "sect409k1"
    #define SN_sect409r1            "sect409r1"
    #define SN_sect571k1            "sect571k1"
    #define SN_sect571r1            "sect571r1"

-- 
        Viktor.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [email protected]
Automated List Manager                           [email protected]

Reply via email to