From: Dr. Stephen Henson Date: Wed, 5 Apr 2017 13:13:48 +0000 (+0100) Subject: Add EdDSA algorithm OIDs from draft-ietf-curdle-pkix-04 X-Git-Tag: OpenSSL_1_1_1-pre1~1421 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9691a749c8c694fa212bfd8a93ae91786ab463af;p=oweals%2Fopenssl.git Add EdDSA algorithm OIDs from draft-ietf-curdle-pkix-04 Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/3503) --- diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index dd8d94f956..d6742cbe02 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -10,7 +10,7 @@ */ /* Serialized OID's */ -static const unsigned char so[6911] = { +static const unsigned char so[6917] = { 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 0] OBJ_rsadsi */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 6] OBJ_pkcs */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x02, /* [ 13] OBJ_md2 */ @@ -977,9 +977,11 @@ static const unsigned char so[6911] = { 0x2A,0x83,0x1A,0x8C,0x9A,0x6E,0x01,0x01,0x0E, /* [ 6881] OBJ_aria_256_ofb128 */ 0x2A,0x83,0x1A,0x8C,0x9A,0x6E,0x01,0x01,0x0F, /* [ 6890] OBJ_aria_256_ctr */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,0x09,0x10,0x02,0x2F, /* [ 6899] OBJ_id_smime_aa_signingCertificateV2 */ + 0x2B,0x65,0x70, /* [ 6910] OBJ_ED25519 */ + 0x2B,0x65,0x71, /* [ 6913] OBJ_ED448 */ }; -#define NUM_NID 1087 +#define NUM_NID 1089 static const ASN1_OBJECT nid_objs[NUM_NID] = { {"UNDEF", "undefined", NID_undef}, {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]}, @@ -2068,9 +2070,11 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = { {"ARIA-192-CFB8", "aria-192-cfb8", NID_aria_192_cfb8}, {"ARIA-256-CFB8", "aria-256-cfb8", NID_aria_256_cfb8}, {"id-smime-aa-signingCertificateV2", "id-smime-aa-signingCertificateV2", NID_id_smime_aa_signingCertificateV2, 11, &so[6899]}, + {"ED25519", "ED25519", NID_ED25519, 3, &so[6910]}, + {"ED448", "ED448", NID_ED448, 3, &so[6913]}, }; -#define NUM_SN 1078 +#define NUM_SN 1080 static const unsigned int sn_objs[NUM_SN] = { 364, /* "AD_DVCS" */ 419, /* "AES-128-CBC" */ @@ -2209,6 +2213,8 @@ static const unsigned int sn_objs[NUM_SN] = { 70, /* "DSA-SHA1-old" */ 67, /* "DSA-old" */ 297, /* "DVCS" */ + 1087, /* "ED25519" */ + 1088, /* "ED448" */ 99, /* "GN" */ 1036, /* "HKDF" */ 855, /* "HMAC" */ @@ -3152,7 +3158,7 @@ static const unsigned int sn_objs[NUM_SN] = { 160, /* "x509Crl" */ }; -#define NUM_LN 1078 +#define NUM_LN 1080 static const unsigned int ln_objs[NUM_LN] = { 363, /* "AD Time Stamping" */ 405, /* "ANSI X9.62" */ @@ -3175,6 +3181,8 @@ static const unsigned int ln_objs[NUM_LN] = { 382, /* "Directory" */ 392, /* "Domain" */ 132, /* "E-mail Protection" */ + 1087, /* "ED25519" */ + 1088, /* "ED448" */ 389, /* "Enterprises" */ 384, /* "Experimental" */ 372, /* "Extended OCSP Status" */ @@ -4234,7 +4242,7 @@ static const unsigned int ln_objs[NUM_LN] = { 125, /* "zlib compression" */ }; -#define NUM_OBJ 972 +#define NUM_OBJ 974 static const unsigned int obj_objs[NUM_OBJ] = { 0, /* OBJ_undef 0 */ 181, /* OBJ_iso 1 */ @@ -4259,6 +4267,8 @@ static const unsigned int obj_objs[NUM_OBJ] = { 381, /* OBJ_iana 1 3 6 1 */ 1034, /* OBJ_X25519 1 3 101 110 */ 1035, /* OBJ_X448 1 3 101 111 */ + 1087, /* OBJ_ED25519 1 3 101 112 */ + 1088, /* OBJ_ED448 1 3 101 113 */ 677, /* OBJ_certicom_arc 1 3 132 */ 394, /* OBJ_selected_attribute_types 2 5 1 5 */ 13, /* OBJ_commonName 2 5 4 3 */ diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index ca8dcdb7e7..8edcefdda2 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -1084,3 +1084,5 @@ aria_128_cfb8 1083 aria_192_cfb8 1084 aria_256_cfb8 1085 id_smime_aa_signingCertificateV2 1086 +ED25519 1087 +ED448 1088 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index ceb03a36e2..324b63aab5 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -1494,9 +1494,12 @@ secg-scheme 14 3 : dhSinglePass-cofactorDH-sha512kdf-scheme id-pkinit 4 : pkInitClientAuth : PKINIT Client Auth id-pkinit 5 : pkInitKDC : Signing KDC Response -# New curves from draft-ietf-curdle-pkix-00 +# New algorithms from draft-ietf-curdle-pkix-04 1 3 101 110 : X25519 1 3 101 111 : X448 +1 3 101 112 : ED25519 +1 3 101 113 : ED448 + # NIDs for cipher key exchange : KxRSA : kx-rsa diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h index 0db6c7d0a0..f8889901f0 100644 --- a/include/openssl/obj_mac.h +++ b/include/openssl/obj_mac.h @@ -4613,6 +4613,14 @@ #define NID_X448 1035 #define OBJ_X448 1L,3L,101L,111L +#define SN_ED25519 "ED25519" +#define NID_ED25519 1087 +#define OBJ_ED25519 1L,3L,101L,112L + +#define SN_ED448 "ED448" +#define NID_ED448 1088 +#define OBJ_ED448 1L,3L,101L,113L + #define SN_kx_rsa "KxRSA" #define LN_kx_rsa "kx-rsa" #define NID_kx_rsa 1037