Add EdDSA algorithm OIDs from draft-ietf-curdle-pkix-04
authorDr. Stephen Henson <steve@openssl.org>
Wed, 5 Apr 2017 13:13:48 +0000 (14:13 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 30 May 2017 19:38:19 +0000 (20:38 +0100)
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3503)

crypto/objects/obj_dat.h
crypto/objects/obj_mac.num
crypto/objects/objects.txt
include/openssl/obj_mac.h

index dd8d94f..d6742cb 100644 (file)
@@ -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 */
index ca8dcdb..8edcefd 100644 (file)
@@ -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
index ceb03a3..324b63a 100644 (file)
@@ -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
index 0db6c7d..f888990 100644 (file)
 #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