add SECG OIDs
authorBodo Möller <bodo@openssl.org>
Wed, 6 Mar 2002 13:47:32 +0000 (13:47 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 6 Mar 2002 13:47:32 +0000 (13:47 +0000)
Submitted by: Nils Larsch

CHANGES
apps/ecdsaparam.c
crypto/ec/ec.h
crypto/objects/obj_dat.h
crypto/objects/obj_mac.h
crypto/objects/obj_mac.num
crypto/objects/objects.txt

diff --git a/CHANGES b/CHANGES
index 1b3bcb54b52dd48fb2a3a4980e6cb6ab2cc5f59d..054106296f5e45125406681c849a141cadd4552e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,7 +4,7 @@
 
  Changes between 0.9.7 and 0.9.8  [xx XXX 2002]
 
-  *) Add more X9.62 OIDs.
+  *) Add OIDs from X9.62 and SECG.
      [Nils Larsch <nla@trustcenter.de>]
 
   *) Add ECDSA in new directory crypto/ecdsa/.
index cf293eae2056b00dc23a1132f47c16e41b178fce..4b171c4f6740cac282729bde0cf29f5bddd14e1c 100644 (file)
@@ -257,6 +257,36 @@ int MAIN(int argc, char **argv)
                        curve_type = EC_GROUP_X9_62_PRIME_239V3;
                else if (strcmp(*argv, "-X9_62_256v1") == 0)
                        curve_type = EC_GROUP_X9_62_PRIME_256V1;
+               else if (strcmp(*argv, "-SECG_PRIME_112R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_112R1;
+               else if (strcmp(*argv, "-SECG_PRIME_112R2") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_112R2;
+               else if (strcmp(*argv, "-SECG_PRIME_128R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_128R1;
+               else if (strcmp(*argv, "-SECG_PRIME_128R2") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_128R2;
+               else if (strcmp(*argv, "-SECG_PRIME_160K1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_160K1;
+               else if (strcmp(*argv, "-SECG_PRIME_160R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_160R1;
+               else if (strcmp(*argv, "-SECG_PRIME_160R2") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_160R2;
+               else if (strcmp(*argv, "-SECG_PRIME_192K1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_192K1;
+               else if (strcmp(*argv, "-SECG_PRIME_192R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_192R1;
+               else if (strcmp(*argv, "-SECG_PRIME_224K1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_224K1;
+               else if (strcmp(*argv, "-SECG_PRIME_224R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_224R1;
+               else if (strcmp(*argv, "-SECG_PRIME_256K1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_256K1;
+               else if (strcmp(*argv, "-SECG_PRIME_256R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_256R1;
+               else if (strcmp(*argv, "-SECG_PRIME_384R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_384R1;
+               else if (strcmp(*argv, "-SECG_PRIME_521R1") == 0)
+                       curve_type = EC_GROUP_SECG_PRIME_521R1;
                else if (strcmp(*argv, "-noout") == 0)
                        noout=1;
                else
index 1a4569311e61a9f3a915565ba4acf1cae74895c1..de831e2ce7b2b7df872db1fbf4d3fcff55d19ee1 100644 (file)
@@ -134,14 +134,13 @@ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM
  * generator and order */
 EC_GROUP *EC_GROUP_new_by_nid(const int nid);
 EC_GROUP *EC_GROUP_new_by_name(int name);
-/* Currently valid arguments to EC_GROUP_new_by_name()
- * (unfortunately some curves have no OIDs [and no NIDs]): */
+/* Currently valid arguments to EC_GROUP_new_by_name() */
 #define EC_GROUP_NO_CURVE              0
-#define EC_GROUP_NIST_PRIME_192                1
-#define EC_GROUP_NIST_PRIME_224                2
-#define EC_GROUP_NIST_PRIME_256                3
-#define EC_GROUP_NIST_PRIME_384                4
-#define EC_GROUP_NIST_PRIME_521                5
+#define EC_GROUP_NIST_PRIME_192                NID_secp192r1
+#define EC_GROUP_NIST_PRIME_224                NID_secp224r1
+#define EC_GROUP_NIST_PRIME_256                NID_secp256r1
+#define EC_GROUP_NIST_PRIME_384                NID_secp384r1
+#define EC_GROUP_NIST_PRIME_521                NID_secp521r1
 #define EC_GROUP_X9_62_PRIME_192V1     NID_X9_62_prime192v1
 #define EC_GROUP_X9_62_PRIME_192V2     NID_X9_62_prime192v2
 #define EC_GROUP_X9_62_PRIME_192V3     NID_X9_62_prime192v3
@@ -149,8 +148,21 @@ EC_GROUP *EC_GROUP_new_by_name(int name);
 #define EC_GROUP_X9_62_PRIME_239V2     NID_X9_62_prime239v2
 #define EC_GROUP_X9_62_PRIME_239V3     NID_X9_62_prime239v3
 #define EC_GROUP_X9_62_PRIME_256V1     NID_X9_62_prime256v1
-
-
+#define EC_GROUP_SECG_PRIME_112R1      NID_secp112r1
+#define EC_GROUP_SECG_PRIME_112R2      NID_secp112r2
+#define EC_GROUP_SECG_PRIME_128R1      NID_secp128r1
+#define EC_GROUP_SECG_PRIME_128R2      NID_secp128r2
+#define EC_GROUP_SECG_PRIME_160K1      NID_secp160k1
+#define EC_GROUP_SECG_PRIME_160R1      NID_secp160r1
+#define EC_GROUP_SECG_PRIME_160R2      NID_secp160r2
+#define EC_GROUP_SECG_PRIME_192K1      NID_secp192k1
+#define EC_GROUP_SECG_PRIME_192R1      NID_secp192r1
+#define EC_GROUP_SECG_PRIME_224K1      NID_secp224k1
+#define EC_GROUP_SECG_PRIME_224R1      NID_secp224r1
+#define EC_GROUP_SECG_PRIME_256K1      NID_secp256k1
+#define EC_GROUP_SECG_PRIME_256R1      NID_secp256r1
+#define EC_GROUP_SECG_PRIME_384R1      NID_secp384r1
+#define EC_GROUP_SECG_PRIME_521R1      NID_secp521r1
 
 EC_POINT *EC_POINT_new(const EC_GROUP *);
 void EC_POINT_free(EC_POINT *);
index 81a5845d0280369459987dd70b9319e9042255de..1aeeb763ca662c33c53af8594da270a53083eb2e 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-#define NUM_NID 527
-#define NUM_SN 525
-#define NUM_LN 525
-#define NUM_OBJ 499
+#define NUM_NID 562
+#define NUM_SN 560
+#define NUM_LN 560
+#define NUM_OBJ 534
 
-static unsigned char lvalues[4032]={
+static unsigned char lvalues[4193]={
 0x00,                                        /* [  0] OBJ_undef */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,               /* [  1] OBJ_rsadsi */
 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01,          /* [  7] OBJ_pkcs */
@@ -567,6 +567,41 @@ static unsigned char lvalues[4032]={
 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x12,     /* [4007] OBJ_X9_62_c2tnb359v1 */
 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x13,     /* [4015] OBJ_X9_62_c2pnb368w1 */
 0x2A,0x86,0x48,0xCE,0x3D,0x03,0x00,0x14,     /* [4023] OBJ_X9_62_c2tnb431r1 */
+0x2B,                                        /* [4031] OBJ_identified_organization */
+0x2B,0x81,0x04,                              /* [4032] OBJ_certicom_arc */
+0x2B,0x81,0x04,0x00,0x06,                    /* [4035] OBJ_secp112r1 */
+0x2B,0x81,0x04,0x00,0x07,                    /* [4040] OBJ_secp112r2 */
+0x2B,0x81,0x04,0x00,0x1C,                    /* [4045] OBJ_secp128r1 */
+0x2B,0x81,0x04,0x00,0x1D,                    /* [4050] OBJ_secp128r2 */
+0x2B,0x81,0x04,0x00,0x09,                    /* [4055] OBJ_secp160k1 */
+0x2B,0x81,0x04,0x00,0x08,                    /* [4060] OBJ_secp160r1 */
+0x2B,0x81,0x04,0x00,0x1E,                    /* [4065] OBJ_secp160r2 */
+0x2B,0x81,0x04,0x00,0x1F,                    /* [4070] OBJ_secp192k1 */
+0x00,                                        /* [4075] OBJ_secp192r1 */
+0x2B,0x81,0x04,0x00,0x20,                    /* [4076] OBJ_secp224k1 */
+0x2B,0x81,0x04,0x00,0x21,                    /* [4081] OBJ_secp224r1 */
+0x2B,0x81,0x04,0x00,0x0A,                    /* [4086] OBJ_secp256k1 */
+0x00,                                        /* [4091] OBJ_secp256r1 */
+0x2B,0x81,0x04,0x00,0x22,                    /* [4092] OBJ_secp384r1 */
+0x2B,0x81,0x04,0x00,0x23,                    /* [4097] OBJ_secp521r1 */
+0x2B,0x81,0x04,0x00,0x04,                    /* [4102] OBJ_sect113r1 */
+0x2B,0x81,0x04,0x00,0x05,                    /* [4107] OBJ_sect113r2 */
+0x2B,0x81,0x04,0x00,0x16,                    /* [4112] OBJ_sect131r1 */
+0x2B,0x81,0x04,0x00,0x17,                    /* [4117] OBJ_sect131r2 */
+0x2B,0x81,0x04,0x00,0x01,                    /* [4122] OBJ_sect163k1 */
+0x2B,0x81,0x04,0x00,0x02,                    /* [4127] OBJ_sect163r1 */
+0x2B,0x81,0x04,0x00,0x0F,                    /* [4132] OBJ_sect163r2 */
+0x2B,0x81,0x04,0x00,0x18,                    /* [4137] OBJ_sect193r1 */
+0x2B,0x81,0x04,0x00,0x19,                    /* [4142] OBJ_sect193r2 */
+0x2B,0x81,0x04,0x00,0x1A,                    /* [4147] OBJ_sect233k1 */
+0x2B,0x81,0x04,0x00,0x1B,                    /* [4152] OBJ_sect233r1 */
+0x2B,0x81,0x04,0x00,0x03,                    /* [4157] OBJ_sect239k1 */
+0x2B,0x81,0x04,0x00,0x10,                    /* [4162] OBJ_sect283k1 */
+0x2B,0x81,0x04,0x00,0x11,                    /* [4167] OBJ_sect283r1 */
+0x2B,0x81,0x04,0x00,0x24,                    /* [4172] OBJ_sect409k1 */
+0x2B,0x81,0x04,0x00,0x25,                    /* [4177] OBJ_sect409r1 */
+0x2B,0x81,0x04,0x00,0x26,                    /* [4182] OBJ_sect571k1 */
+0x2B,0x81,0x04,0x00,0x27,                    /* [4187] OBJ_sect571r1 */
 };
 
 static ASN1_OBJECT nid_objs[NUM_NID]={
@@ -1364,6 +1399,42 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
 {"c2tnb359v1","c2tnb359v1",NID_X9_62_c2tnb359v1,8,&(lvalues[4007]),0},
 {"c2pnb368w1","c2pnb368w1",NID_X9_62_c2pnb368w1,8,&(lvalues[4015]),0},
 {"c2tnb431r1","c2tnb431r1",NID_X9_62_c2tnb431r1,8,&(lvalues[4023]),0},
+{"identified-organization","identified-organization",
+       NID_identified_organization,1,&(lvalues[4031]),0},
+{"certicom-arc","certicom-arc",NID_certicom_arc,3,&(lvalues[4032]),0},
+{"secp112r1","secp112r1",NID_secp112r1,5,&(lvalues[4035]),0},
+{"secp112r2","secp112r2",NID_secp112r2,5,&(lvalues[4040]),0},
+{"secp128r1","secp128r1",NID_secp128r1,5,&(lvalues[4045]),0},
+{"secp128r2","secp128r2",NID_secp128r2,5,&(lvalues[4050]),0},
+{"secp160k1","secp160k1",NID_secp160k1,5,&(lvalues[4055]),0},
+{"secp160r1","secp160r1",NID_secp160r1,5,&(lvalues[4060]),0},
+{"secp160r2","secp160r2",NID_secp160r2,5,&(lvalues[4065]),0},
+{"secp192k1","secp192k1",NID_secp192k1,5,&(lvalues[4070]),0},
+{"secp192r1","secp192r1",NID_secp192r1,1,&(lvalues[4075]),0},
+{"secp224k1","secp224k1",NID_secp224k1,5,&(lvalues[4076]),0},
+{"secp224r1","secp224r1",NID_secp224r1,5,&(lvalues[4081]),0},
+{"secp256k1","secp256k1",NID_secp256k1,5,&(lvalues[4086]),0},
+{"secp256r1","secp256r1",NID_secp256r1,1,&(lvalues[4091]),0},
+{"secp384r1","secp384r1",NID_secp384r1,5,&(lvalues[4092]),0},
+{"secp521r1","secp521r1",NID_secp521r1,5,&(lvalues[4097]),0},
+{"sect113r1","sect113r1",NID_sect113r1,5,&(lvalues[4102]),0},
+{"sect113r2","sect113r2",NID_sect113r2,5,&(lvalues[4107]),0},
+{"sect131r1","sect131r1",NID_sect131r1,5,&(lvalues[4112]),0},
+{"sect131r2","sect131r2",NID_sect131r2,5,&(lvalues[4117]),0},
+{"sect163k1","sect163k1",NID_sect163k1,5,&(lvalues[4122]),0},
+{"sect163r1","sect163r1",NID_sect163r1,5,&(lvalues[4127]),0},
+{"sect163r2","sect163r2",NID_sect163r2,5,&(lvalues[4132]),0},
+{"sect193r1","sect193r1",NID_sect193r1,5,&(lvalues[4137]),0},
+{"sect193r2","sect193r2",NID_sect193r2,5,&(lvalues[4142]),0},
+{"sect233k1","sect233k1",NID_sect233k1,5,&(lvalues[4147]),0},
+{"sect233r1","sect233r1",NID_sect233r1,5,&(lvalues[4152]),0},
+{"sect239k1","sect239k1",NID_sect239k1,5,&(lvalues[4157]),0},
+{"sect283k1","sect283k1",NID_sect283k1,5,&(lvalues[4162]),0},
+{"sect283r1","sect283r1",NID_sect283r1,5,&(lvalues[4167]),0},
+{"sect409k1","sect409k1",NID_sect409k1,5,&(lvalues[4172]),0},
+{"sect409r1","sect409r1",NID_sect409r1,5,&(lvalues[4177]),0},
+{"sect571k1","sect571k1",NID_sect571k1,5,&(lvalues[4182]),0},
+{"sect571r1","sect571r1",NID_sect571r1,5,&(lvalues[4187]),0},
 };
 
 static ASN1_OBJECT *sn_objs[NUM_SN]={
@@ -1541,6 +1612,7 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
 &(nid_objs[179]),/* "caIssuers" */
 &(nid_objs[443]),/* "caseIgnoreIA5StringSyntax" */
 &(nid_objs[152]),/* "certBag" */
+&(nid_objs[528]),/* "certicom-arc" */
 &(nid_objs[89]),/* "certificatePolicies" */
 &(nid_objs[54]),/* "challengePassword" */
 &(nid_objs[407]),/* "characteristic-two-field" */
@@ -1760,6 +1832,7 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
 &(nid_objs[194]),/* "id-smime-spq" */
 &(nid_objs[250]),/* "id-smime-spq-ets-sqt-unotice" */
 &(nid_objs[249]),/* "id-smime-spq-ets-sqt-uri" */
+&(nid_objs[527]),/* "identified-organization" */
 &(nid_objs[461]),/* "info" */
 &(nid_objs[142]),/* "invalidityDate" */
 &(nid_objs[294]),/* "ipsecEndSystem" */
@@ -1863,8 +1936,41 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
 &(nid_objs[290]),/* "sbqp-ipAddrBlock" */
 &(nid_objs[292]),/* "sbqp-routerIdentifier" */
 &(nid_objs[159]),/* "sdsiCertificate" */
+&(nid_objs[529]),/* "secp112r1" */
+&(nid_objs[530]),/* "secp112r2" */
+&(nid_objs[531]),/* "secp128r1" */
+&(nid_objs[532]),/* "secp128r2" */
+&(nid_objs[533]),/* "secp160k1" */
+&(nid_objs[534]),/* "secp160r1" */
+&(nid_objs[535]),/* "secp160r2" */
+&(nid_objs[536]),/* "secp192k1" */
+&(nid_objs[537]),/* "secp192r1" */
+&(nid_objs[538]),/* "secp224k1" */
+&(nid_objs[539]),/* "secp224r1" */
+&(nid_objs[540]),/* "secp256k1" */
+&(nid_objs[541]),/* "secp256r1" */
+&(nid_objs[542]),/* "secp384r1" */
+&(nid_objs[543]),/* "secp521r1" */
 &(nid_objs[154]),/* "secretBag" */
 &(nid_objs[474]),/* "secretary" */
+&(nid_objs[544]),/* "sect113r1" */
+&(nid_objs[545]),/* "sect113r2" */
+&(nid_objs[546]),/* "sect131r1" */
+&(nid_objs[547]),/* "sect131r2" */
+&(nid_objs[548]),/* "sect163k1" */
+&(nid_objs[549]),/* "sect163r1" */
+&(nid_objs[550]),/* "sect163r2" */
+&(nid_objs[551]),/* "sect193r1" */
+&(nid_objs[552]),/* "sect193r2" */
+&(nid_objs[553]),/* "sect233k1" */
+&(nid_objs[554]),/* "sect233r1" */
+&(nid_objs[555]),/* "sect239k1" */
+&(nid_objs[556]),/* "sect283k1" */
+&(nid_objs[557]),/* "sect283r1" */
+&(nid_objs[558]),/* "sect409k1" */
+&(nid_objs[559]),/* "sect409r1" */
+&(nid_objs[560]),/* "sect571k1" */
+&(nid_objs[561]),/* "sect571r1" */
 &(nid_objs[386]),/* "security" */
 &(nid_objs[394]),/* "selected-attribute-types" */
 &(nid_objs[129]),/* "serverAuth" */
@@ -2044,6 +2150,7 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 &(nid_objs[111]),/* "cast5-ofb" */
 &(nid_objs[404]),/* "ccitt" */
 &(nid_objs[152]),/* "certBag" */
+&(nid_objs[528]),/* "certicom-arc" */
 &(nid_objs[54]),/* "challengePassword" */
 &(nid_objs[407]),/* "characteristic-two-field" */
 &(nid_objs[395]),/* "clearance" */
@@ -2276,6 +2383,7 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 &(nid_objs[35]),/* "idea-cfb" */
 &(nid_objs[36]),/* "idea-ecb" */
 &(nid_objs[46]),/* "idea-ofb" */
+&(nid_objs[527]),/* "identified-organization" */
 &(nid_objs[461]),/* "info" */
 &(nid_objs[101]),/* "initials" */
 &(nid_objs[181]),/* "iso" */
@@ -2390,8 +2498,41 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 &(nid_objs[290]),/* "sbqp-ipAddrBlock" */
 &(nid_objs[292]),/* "sbqp-routerIdentifier" */
 &(nid_objs[159]),/* "sdsiCertificate" */
+&(nid_objs[529]),/* "secp112r1" */
+&(nid_objs[530]),/* "secp112r2" */
+&(nid_objs[531]),/* "secp128r1" */
+&(nid_objs[532]),/* "secp128r2" */
+&(nid_objs[533]),/* "secp160k1" */
+&(nid_objs[534]),/* "secp160r1" */
+&(nid_objs[535]),/* "secp160r2" */
+&(nid_objs[536]),/* "secp192k1" */
+&(nid_objs[537]),/* "secp192r1" */
+&(nid_objs[538]),/* "secp224k1" */
+&(nid_objs[539]),/* "secp224r1" */
+&(nid_objs[540]),/* "secp256k1" */
+&(nid_objs[541]),/* "secp256r1" */
+&(nid_objs[542]),/* "secp384r1" */
+&(nid_objs[543]),/* "secp521r1" */
 &(nid_objs[154]),/* "secretBag" */
 &(nid_objs[474]),/* "secretary" */
+&(nid_objs[544]),/* "sect113r1" */
+&(nid_objs[545]),/* "sect113r2" */
+&(nid_objs[546]),/* "sect131r1" */
+&(nid_objs[547]),/* "sect131r2" */
+&(nid_objs[548]),/* "sect163k1" */
+&(nid_objs[549]),/* "sect163r1" */
+&(nid_objs[550]),/* "sect163r2" */
+&(nid_objs[551]),/* "sect193r1" */
+&(nid_objs[552]),/* "sect193r2" */
+&(nid_objs[553]),/* "sect233k1" */
+&(nid_objs[554]),/* "sect233r1" */
+&(nid_objs[555]),/* "sect239k1" */
+&(nid_objs[556]),/* "sect283k1" */
+&(nid_objs[557]),/* "sect283r1" */
+&(nid_objs[558]),/* "sect409k1" */
+&(nid_objs[559]),/* "sect409r1" */
+&(nid_objs[560]),/* "sect571k1" */
+&(nid_objs[561]),/* "sect571r1" */
 &(nid_objs[105]),/* "serialNumber" */
 &(nid_objs[41]),/* "sha" */
 &(nid_objs[64]),/* "sha1" */
@@ -2425,11 +2566,14 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
 static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 &(nid_objs[ 0]),/* OBJ_undef                        0 */
 &(nid_objs[404]),/* OBJ_ccitt                        0 */
+&(nid_objs[541]),/* OBJ_secp256r1                    OBJ_X9_62_prime256v1 */
+&(nid_objs[537]),/* OBJ_secp192r1                    OBJ_X9_62_prime192v1 */
 &(nid_objs[389]),/* OBJ_Enterprises                   1 */
 &(nid_objs[434]),/* OBJ_data                         0 9 */
 &(nid_objs[181]),/* OBJ_iso                          1 */
 &(nid_objs[182]),/* OBJ_member_body                  1 2 */
 &(nid_objs[379]),/* OBJ_org                          1 3 */
+&(nid_objs[527]),/* OBJ_identified_organization      1 3 */
 &(nid_objs[393]),/* OBJ_joint_iso_ccitt              2 */
 &(nid_objs[11]),/* OBJ_X500                         2 5 */
 &(nid_objs[380]),/* OBJ_dod                          1 3 6 */
@@ -2439,6 +2583,7 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 &(nid_objs[435]),/* OBJ_pss                          0 9 2342 */
 &(nid_objs[183]),/* OBJ_ISO_US                       1 2 840 */
 &(nid_objs[381]),/* OBJ_iana                         1 3 6 1 */
+&(nid_objs[528]),/* OBJ_certicom_arc                 1 3 132 */
 &(nid_objs[394]),/* OBJ_selected_attribute_types     2 5 1 5 */
 &(nid_objs[13]),/* OBJ_commonName                   2 5 4 3 */
 &(nid_objs[100]),/* OBJ_surname                      2 5 4 4 */
@@ -2505,6 +2650,37 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={
 &(nid_objs[115]),/* OBJ_sha1WithRSA                  1 3 14 3 2 29 */
 &(nid_objs[117]),/* OBJ_ripemd160                    1 3 36 3 2 1 */
 &(nid_objs[143]),/* OBJ_sxnet                        1 3 101 1 4 1 */
+&(nid_objs[548]),/* OBJ_sect163k1                    1 3 132 0 1 */
+&(nid_objs[549]),/* OBJ_sect163r1                    1 3 132 0 2 */
+&(nid_objs[555]),/* OBJ_sect239k1                    1 3 132 0 3 */
+&(nid_objs[544]),/* OBJ_sect113r1                    1 3 132 0 4 */
+&(nid_objs[545]),/* OBJ_sect113r2                    1 3 132 0 5 */
+&(nid_objs[529]),/* OBJ_secp112r1                    1 3 132 0 6 */
+&(nid_objs[530]),/* OBJ_secp112r2                    1 3 132 0 7 */
+&(nid_objs[534]),/* OBJ_secp160r1                    1 3 132 0 8 */
+&(nid_objs[533]),/* OBJ_secp160k1                    1 3 132 0 9 */
+&(nid_objs[540]),/* OBJ_secp256k1                    1 3 132 0 10 */
+&(nid_objs[550]),/* OBJ_sect163r2                    1 3 132 0 15 */
+&(nid_objs[556]),/* OBJ_sect283k1                    1 3 132 0 16 */
+&(nid_objs[557]),/* OBJ_sect283r1                    1 3 132 0 17 */
+&(nid_objs[546]),/* OBJ_sect131r1                    1 3 132 0 22 */
+&(nid_objs[547]),/* OBJ_sect131r2                    1 3 132 0 23 */
+&(nid_objs[551]),/* OBJ_sect193r1                    1 3 132 0 24 */
+&(nid_objs[552]),/* OBJ_sect193r2                    1 3 132 0 25 */
+&(nid_objs[553]),/* OBJ_sect233k1                    1 3 132 0 26 */
+&(nid_objs[554]),/* OBJ_sect233r1                    1 3 132 0 27 */
+&(nid_objs[531]),/* OBJ_secp128r1                    1 3 132 0 28 */
+&(nid_objs[532]),/* OBJ_secp128r2                    1 3 132 0 29 */
+&(nid_objs[535]),/* OBJ_secp160r2                    1 3 132 0 30 */
+&(nid_objs[536]),/* OBJ_secp192k1                    1 3 132 0 31 */
+&(nid_objs[538]),/* OBJ_secp224k1                    1 3 132 0 32 */
+&(nid_objs[539]),/* OBJ_secp224r1                    1 3 132 0 33 */
+&(nid_objs[542]),/* OBJ_secp384r1                    1 3 132 0 34 */
+&(nid_objs[543]),/* OBJ_secp521r1                    1 3 132 0 35 */
+&(nid_objs[558]),/* OBJ_sect409k1                    1 3 132 0 36 */
+&(nid_objs[559]),/* OBJ_sect409r1                    1 3 132 0 37 */
+&(nid_objs[560]),/* OBJ_sect571k1                    1 3 132 0 38 */
+&(nid_objs[561]),/* OBJ_sect571r1                    1 3 132 0 39 */
 &(nid_objs[124]),/* OBJ_rle_compression              1 1 1 1 666 1 */
 &(nid_objs[125]),/* OBJ_zlib_compression             1 1 1 1 666 2 */
 &(nid_objs[ 1]),/* OBJ_rsadsi                       1 2 840 113549 */
index ba506b1b2a7e9210bc6515f48099ca1a9d488e41..dc3a4ce3b9d55fff11fd0fe03c630ec1243bc96b 100644 (file)
 #define NID_member_body                182
 #define OBJ_member_body                OBJ_iso,2L
 
+#define SN_identified_organization             "identified-organization"
+#define NID_identified_organization            527
+#define OBJ_identified_organization            OBJ_iso,3L
+
+#define SN_certicom_arc                "certicom-arc"
+#define NID_certicom_arc               528
+#define OBJ_certicom_arc               OBJ_identified_organization,132L
+
 #define SN_selected_attribute_types            "selected-attribute-types"
 #define LN_selected_attribute_types            "Selected Attribute Types"
 #define NID_selected_attribute_types           394
 #define NID_ecdsa_with_SHA1            416
 #define OBJ_ecdsa_with_SHA1            OBJ_X9_62_id_ecSigType,1L
 
+#define OBJ_secg_ellipticCurve         OBJ_certicom_arc,0L
+
+#define SN_secp112r1           "secp112r1"
+#define NID_secp112r1          529
+#define OBJ_secp112r1          OBJ_secg_ellipticCurve,6L
+
+#define SN_secp112r2           "secp112r2"
+#define NID_secp112r2          530
+#define OBJ_secp112r2          OBJ_secg_ellipticCurve,7L
+
+#define SN_secp128r1           "secp128r1"
+#define NID_secp128r1          531
+#define OBJ_secp128r1          OBJ_secg_ellipticCurve,28L
+
+#define SN_secp128r2           "secp128r2"
+#define NID_secp128r2          532
+#define OBJ_secp128r2          OBJ_secg_ellipticCurve,29L
+
+#define SN_secp160k1           "secp160k1"
+#define NID_secp160k1          533
+#define OBJ_secp160k1          OBJ_secg_ellipticCurve,9L
+
+#define SN_secp160r1           "secp160r1"
+#define NID_secp160r1          534
+#define OBJ_secp160r1          OBJ_secg_ellipticCurve,8L
+
+#define SN_secp160r2           "secp160r2"
+#define NID_secp160r2          535
+#define OBJ_secp160r2          OBJ_secg_ellipticCurve,30L
+
+#define SN_secp192k1           "secp192k1"
+#define NID_secp192k1          536
+#define OBJ_secp192k1          OBJ_secg_ellipticCurve,31L
+
+#define SN_secp192r1           "secp192r1"
+#define NID_secp192r1          537
+#define OBJ_secp192r1          OBJ_X9_62_prime192v1
+
+#define SN_secp224k1           "secp224k1"
+#define NID_secp224k1          538
+#define OBJ_secp224k1          OBJ_secg_ellipticCurve,32L
+
+#define SN_secp224r1           "secp224r1"
+#define NID_secp224r1          539
+#define OBJ_secp224r1          OBJ_secg_ellipticCurve,33L
+
+#define SN_secp256k1           "secp256k1"
+#define NID_secp256k1          540
+#define OBJ_secp256k1          OBJ_secg_ellipticCurve,10L
+
+#define SN_secp256r1           "secp256r1"
+#define NID_secp256r1          541
+#define OBJ_secp256r1          OBJ_X9_62_prime256v1
+
+#define SN_secp384r1           "secp384r1"
+#define NID_secp384r1          542
+#define OBJ_secp384r1          OBJ_secg_ellipticCurve,34L
+
+#define SN_secp521r1           "secp521r1"
+#define NID_secp521r1          543
+#define OBJ_secp521r1          OBJ_secg_ellipticCurve,35L
+
+#define SN_sect113r1           "sect113r1"
+#define NID_sect113r1          544
+#define OBJ_sect113r1          OBJ_secg_ellipticCurve,4L
+
+#define SN_sect113r2           "sect113r2"
+#define NID_sect113r2          545
+#define OBJ_sect113r2          OBJ_secg_ellipticCurve,5L
+
+#define SN_sect131r1           "sect131r1"
+#define NID_sect131r1          546
+#define OBJ_sect131r1          OBJ_secg_ellipticCurve,22L
+
+#define SN_sect131r2           "sect131r2"
+#define NID_sect131r2          547
+#define OBJ_sect131r2          OBJ_secg_ellipticCurve,23L
+
+#define SN_sect163k1           "sect163k1"
+#define NID_sect163k1          548
+#define OBJ_sect163k1          OBJ_secg_ellipticCurve,1L
+
+#define SN_sect163r1           "sect163r1"
+#define NID_sect163r1          549
+#define OBJ_sect163r1          OBJ_secg_ellipticCurve,2L
+
+#define SN_sect163r2           "sect163r2"
+#define NID_sect163r2          550
+#define OBJ_sect163r2          OBJ_secg_ellipticCurve,15L
+
+#define SN_sect193r1           "sect193r1"
+#define NID_sect193r1          551
+#define OBJ_sect193r1          OBJ_secg_ellipticCurve,24L
+
+#define SN_sect193r2           "sect193r2"
+#define NID_sect193r2          552
+#define OBJ_sect193r2          OBJ_secg_ellipticCurve,25L
+
+#define SN_sect233k1           "sect233k1"
+#define NID_sect233k1          553
+#define OBJ_sect233k1          OBJ_secg_ellipticCurve,26L
+
+#define SN_sect233r1           "sect233r1"
+#define NID_sect233r1          554
+#define OBJ_sect233r1          OBJ_secg_ellipticCurve,27L
+
+#define SN_sect239k1           "sect239k1"
+#define NID_sect239k1          555
+#define OBJ_sect239k1          OBJ_secg_ellipticCurve,3L
+
+#define SN_sect283k1           "sect283k1"
+#define NID_sect283k1          556
+#define OBJ_sect283k1          OBJ_secg_ellipticCurve,16L
+
+#define SN_sect283r1           "sect283r1"
+#define NID_sect283r1          557
+#define OBJ_sect283r1          OBJ_secg_ellipticCurve,17L
+
+#define SN_sect409k1           "sect409k1"
+#define NID_sect409k1          558
+#define OBJ_sect409k1          OBJ_secg_ellipticCurve,36L
+
+#define SN_sect409r1           "sect409r1"
+#define NID_sect409r1          559
+#define OBJ_sect409r1          OBJ_secg_ellipticCurve,37L
+
+#define SN_sect571k1           "sect571k1"
+#define NID_sect571k1          560
+#define OBJ_sect571k1          OBJ_secg_ellipticCurve,38L
+
+#define SN_sect571r1           "sect571r1"
+#define NID_sect571r1          561
+#define OBJ_sect571r1          OBJ_secg_ellipticCurve,39L
+
 #define SN_cast5_cbc           "CAST5-CBC"
 #define LN_cast5_cbc           "cast5-cbc"
 #define NID_cast5_cbc          108
index 1d1fee06837714c3f414766d55645dc7bc8fb8f4..8bad61f26da4c3f29347aa26db6c93c6e174db48 100644 (file)
@@ -524,3 +524,38 @@ X9_62_c2pnb304w1           523
 X9_62_c2tnb359v1               524
 X9_62_c2pnb368w1               525
 X9_62_c2tnb431r1               526
+identified_organization                527
+certicom_arc           528
+secp112r1              529
+secp112r2              530
+secp128r1              531
+secp128r2              532
+secp160k1              533
+secp160r1              534
+secp160r2              535
+secp192k1              536
+secp192r1              537
+secp224k1              538
+secp224r1              539
+secp256k1              540
+secp256r1              541
+secp384r1              542
+secp521r1              543
+sect113r1              544
+sect113r2              545
+sect131r1              546
+sect131r2              547
+sect163k1              548
+sect163r1              549
+sect163r2              550
+sect193r1              551
+sect193r2              552
+sect233k1              553
+sect233r1              554
+sect239k1              555
+sect283k1              556
+sect283r1              557
+sect409k1              558
+sect409r1              559
+sect571k1              560
+sect571r1              561
index f116c0af1b288d895c18c0dd524ca5d0aac98d19..05c4d29afcaec6827b9271829afbd60f71f77e56 100644 (file)
@@ -6,6 +6,10 @@
 
 iso 2                  : member-body           : ISO Member Body
 
+iso 3                  : identified-organization
+
+identified-organization 132    : certicom-arc
+
 joint-iso-ccitt 5 1 5  : selected-attribute-types      : Selected Attribute Types
 
 selected-attribute-types 55    : clearance
@@ -64,7 +68,46 @@ X9-62_primeCurve 7           : prime256v1
 !global
 X9-62_id-ecSigType 1           : ecdsa-with-SHA1
 
-
+# the following AsnOId are from the document 
+# "SEC 2: Recommended Elliptic Curve Domain Parameters"
+# from the Standarts for Efficient Cryptography Group
+# ( for more informations see : http://www.secg.org )
+!Alias secg_ellipticCurve certicom-arc 0
+# secg prime curves oids
+secg-ellipticCurve 6           : secp112r1
+secg-ellipticCurve 7           : secp112r2
+secg-ellipticCurve 28          : secp128r1
+secg-ellipticCurve 29          : secp128r2
+secg-ellipticCurve 9           : secp160k1
+secg-ellipticCurve 8           : secp160r1
+secg-ellipticCurve 30          : secp160r2
+secg-ellipticCurve 31          : secp192k1
+X9_62_prime192v1               : secp192r1
+secg-ellipticCurve 32          : secp224k1
+secg-ellipticCurve 33          : secp224r1
+secg-ellipticCurve 10          : secp256k1
+X9_62_prime256v1               : secp256r1
+secg-ellipticCurve 34          : secp384r1
+secg-ellipticCurve 35          : secp521r1
+# secg characteristic two curves oids
+secg-ellipticCurve 4           : sect113r1
+secg-ellipticCurve 5           : sect113r2
+secg-ellipticCurve 22          : sect131r1
+secg-ellipticCurve 23          : sect131r2
+secg-ellipticCurve 1           : sect163k1
+secg-ellipticCurve 2           : sect163r1
+secg-ellipticCurve 15          : sect163r2
+secg-ellipticCurve 24          : sect193r1
+secg-ellipticCurve 25          : sect193r2
+secg-ellipticCurve 26          : sect233k1
+secg-ellipticCurve 27          : sect233r1
+secg-ellipticCurve 3           : sect239k1
+secg-ellipticCurve 16          : sect283k1
+secg-ellipticCurve 17          : sect283r1
+secg-ellipticCurve 36          : sect409k1
+secg-ellipticCurve 37          : sect409r1
+secg-ellipticCurve 38          : sect571k1
+secg-ellipticCurve 39          : sect571r1
 
 ISO-US 113533 7 66 10  : CAST5-CBC             : cast5-cbc
                        : CAST5-ECB             : cast5-ecb