From 1631d5f9b9959e63443ccac4cc2e6af62ef6c41f Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Wed, 17 May 2006 12:27:45 +0000 Subject: [PATCH] HMAC OIDs from RFC4231. --- apps/privkey.pem | 26 ++++++++------------------ crypto/evp/evp_pbe.c | 4 ++++ crypto/objects/obj_dat.h | 34 +++++++++++++++++++++++++++++----- crypto/objects/obj_mac.h | 16 ++++++++++++++++ crypto/objects/obj_mac.num | 4 ++++ crypto/objects/objects.txt | 7 +++++++ 6 files changed, 68 insertions(+), 23 deletions(-) diff --git a/apps/privkey.pem b/apps/privkey.pem index 0af46474a7..b5935ec171 100644 --- a/apps/privkey.pem +++ b/apps/privkey.pem @@ -1,18 +1,8 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,BA26229A1653B7FF - -6nhWG8PKhTPO/s3ZvjUa6226NlKdvPDZFsNXOOoSUs9ejxpb/aj5huhs6qRYzsz9 -Year47uaAZYhGD0vAagnNiBnYmjWEpN9G/wQxG7pgZThK1ZxDi63qn8aQ8UjuGHo -F6RpnnBQIAnWTWqr/Qsybtc5EoNkrj/Cpx0OfbSr6gZsFBCxwX1R1hT3/mhJ45f3 -XMofY32Vdfx9/vtw1O7HmlHXQnXaqnbd9/nn1EpvFJG9+UjPoW7gV4jCOLuR4deE -jS8hm+cpkwXmFtk3VGjT9tQXPpMv3JpYfBqgGQoMAJ5Toq0DWcHi6Wg08PsD8lgy -vmTioPsRg+JGkJkJ8GnusgLpQdlQJbjzd7wGE6ElUFLfOxLo8bLlRHoriHNdWYhh -JjY0LyeTkovcmWxVjImc6ZyBz5Ly4t0BYf1gq3OkjsV91Q1taBxnhiavfizqMCAf -PPB3sLQnlXG77TOXkNxpqbZfEYrVZW2Nsqqdn8s07Uj4IMONZyq2odYKWFPMJBiM -POYwXjMAOcmFMTHYsVlhcUJuV6LOuipw/FEbTtPH/MYMxLe4zx65dYo1rb4iLKLS -gMtB0o/Wl4Xno3ZXh1ucicYnV2J7NpVcjVq+3SFiCRu2SrSkZHZ23EPS13Ec6fcz -8X/YGA2vTJ8MAOozAzQUwHQYvLk7bIoQVekqDq4p0AZQbhdspHpArCk0Ifqqzg/v -Uyky/zZiQYanzDenTSRVI/8wac3olxpU8QvbySxYqmbkgq6bTpXJfYFQfnAttEsC -dA4S5UFgyOPZluxCAM4yaJF3Ft6neutNwftuJQMbgCUi9vYg2tGdSw== ------END RSA PRIVATE KEY----- +-----BEGIN DSA PRIVATE KEY----- +MIH5AgEAAkEAnRtpjibb8isRcBmG9hnI+BnyGFOURgbQYlAzSwI8UjADizv5X9Ek +Bk97TLqqQJv9luQ3M7stWtdaEUBmonZ9MQIVAPtT71C0QJIxVoZTeuiLIppJ+3GP +AkEAgz6I5cWJc847bAFJv7PHnwrqRJHlMKrZvltftxDXibeOdPvPKR7rqCxUUbgQ +3qDOL8wka5B33qJoplISogOdIAJAGeAm6McQ96seylT7o0IbK7sP3okCzBA5S8Q7 +sU2SGxxSDMR8qkCCJ/2rCiwr0z6UYb/of9KyRrVgukPMJuWaCAIVAMChoypscBK7 +QN7yptZ+yR78iVRZ +-----END DSA PRIVATE KEY----- diff --git a/crypto/evp/evp_pbe.c b/crypto/evp/evp_pbe.c index 82115acf64..2d63636888 100644 --- a/crypto/evp/evp_pbe.c +++ b/crypto/evp/evp_pbe.c @@ -113,6 +113,10 @@ EVP_PBE_CTL builtin_pbe[] = {EVP_PBE_TYPE_PRF, NID_hmacWithSHA1, -1, NID_sha1, 0}, {EVP_PBE_TYPE_PRF, NID_id_HMACGostR3411_94, -1, NID_id_GostR3411_94, 0}, {EVP_PBE_TYPE_PRF, NID_hmacWithMD5, -1, NID_md5, 0}, + {EVP_PBE_TYPE_PRF, NID_hmacWithSHA224, -1, NID_sha224, 0}, + {EVP_PBE_TYPE_PRF, NID_hmacWithSHA256, -1, NID_sha256, 0}, + {EVP_PBE_TYPE_PRF, NID_hmacWithSHA384, -1, NID_sha384, 0}, + {EVP_PBE_TYPE_PRF, NID_hmacWithSHA512, -1, NID_sha512, 0}, }; #ifdef TEST diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h index 48bcb25248..ef976518ee 100644 --- a/crypto/objects/obj_dat.h +++ b/crypto/objects/obj_dat.h @@ -62,12 +62,12 @@ * [including the GNU Public Licence.] */ -#define NUM_NID 803 -#define NUM_SN 799 -#define NUM_LN 799 -#define NUM_OBJ 761 +#define NUM_NID 807 +#define NUM_SN 803 +#define NUM_LN 803 +#define NUM_OBJ 765 -static unsigned char lvalues[5353]={ +static unsigned char lvalues[5385]={ 0x00, /* [ 0] OBJ_undef */ 0x2A,0x86,0x48,0x86,0xF7,0x0D, /* [ 1] OBJ_rsadsi */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x01, /* [ 7] OBJ_pkcs */ @@ -829,6 +829,10 @@ static unsigned char lvalues[5353]={ 0x2A,0x85,0x03,0x02,0x09,0x01,0x03,0x04, /* [5328] OBJ_id_GostR3411_94_with_GostR3410_2001_cc */ 0x2A,0x85,0x03,0x02,0x09,0x01,0x08,0x01, /* [5336] OBJ_id_GostR3410_2001_ParamSet_cc */ 0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x06, /* [5344] OBJ_hmacWithMD5 */ +0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x08, /* [5352] OBJ_hmacWithSHA224 */ +0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x09, /* [5360] OBJ_hmacWithSHA256 */ +0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0A, /* [5368] OBJ_hmacWithSHA384 */ +0x2A,0x86,0x48,0x86,0xF7,0x0D,0x02,0x0B, /* [5376] OBJ_hmacWithSHA512 */ }; static ASN1_OBJECT nid_objs[NUM_NID]={ @@ -2124,6 +2128,14 @@ static ASN1_OBJECT nid_objs[NUM_NID]={ "GOST R 3410-2001 Parameter Set Cryptocom", NID_id_GostR3410_2001_ParamSet_cc,8,&(lvalues[5336]),0}, {"hmacWithMD5","hmacWithMD5",NID_hmacWithMD5,8,&(lvalues[5344]),0}, +{"hmacWithSHA224","hmacWithSHA224",NID_hmacWithSHA224,8, + &(lvalues[5352]),0}, +{"hmacWithSHA256","hmacWithSHA256",NID_hmacWithSHA256,8, + &(lvalues[5360]),0}, +{"hmacWithSHA384","hmacWithSHA384",NID_hmacWithSHA384,8, + &(lvalues[5368]),0}, +{"hmacWithSHA512","hmacWithSHA512",NID_hmacWithSHA512,8, + &(lvalues[5376]),0}, }; static ASN1_OBJECT *sn_objs[NUM_SN]={ @@ -2376,6 +2388,10 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={ &(nid_objs[797]),/* "gost94cc" */ &(nid_objs[802]),/* "hmacWithMD5" */ &(nid_objs[163]),/* "hmacWithSHA1" */ +&(nid_objs[803]),/* "hmacWithSHA224" */ +&(nid_objs[804]),/* "hmacWithSHA256" */ +&(nid_objs[805]),/* "hmacWithSHA384" */ +&(nid_objs[806]),/* "hmacWithSHA512" */ &(nid_objs[432]),/* "holdInstructionCallIssuer" */ &(nid_objs[430]),/* "holdInstructionCode" */ &(nid_objs[431]),/* "holdInstructionNone" */ @@ -3191,6 +3207,10 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={ &(nid_objs[99]),/* "givenName" */ &(nid_objs[802]),/* "hmacWithMD5" */ &(nid_objs[163]),/* "hmacWithSHA1" */ +&(nid_objs[803]),/* "hmacWithSHA224" */ +&(nid_objs[804]),/* "hmacWithSHA256" */ +&(nid_objs[805]),/* "hmacWithSHA384" */ +&(nid_objs[806]),/* "hmacWithSHA512" */ &(nid_objs[486]),/* "homePostalAddress" */ &(nid_objs[473]),/* "homeTelephoneNumber" */ &(nid_objs[466]),/* "host" */ @@ -4100,6 +4120,10 @@ static ASN1_OBJECT *obj_objs[NUM_OBJ]={ &(nid_objs[ 4]),/* OBJ_md5 1 2 840 113549 2 5 */ &(nid_objs[802]),/* OBJ_hmacWithMD5 1 2 840 113549 2 6 */ &(nid_objs[163]),/* OBJ_hmacWithSHA1 1 2 840 113549 2 7 */ +&(nid_objs[803]),/* OBJ_hmacWithSHA224 1 2 840 113549 2 8 */ +&(nid_objs[804]),/* OBJ_hmacWithSHA256 1 2 840 113549 2 9 */ +&(nid_objs[805]),/* OBJ_hmacWithSHA384 1 2 840 113549 2 10 */ +&(nid_objs[806]),/* OBJ_hmacWithSHA512 1 2 840 113549 2 11 */ &(nid_objs[37]),/* OBJ_rc2_cbc 1 2 840 113549 3 2 */ &(nid_objs[ 5]),/* OBJ_rc4 1 2 840 113549 3 4 */ &(nid_objs[44]),/* OBJ_des_ede3_cbc 1 2 840 113549 3 7 */ diff --git a/crypto/objects/obj_mac.h b/crypto/objects/obj_mac.h index 93ca25323b..42b12db351 100644 --- a/crypto/objects/obj_mac.h +++ b/crypto/objects/obj_mac.h @@ -1083,6 +1083,22 @@ #define NID_hmacWithSHA1 163 #define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L +#define LN_hmacWithSHA224 "hmacWithSHA224" +#define NID_hmacWithSHA224 803 +#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L + +#define LN_hmacWithSHA256 "hmacWithSHA256" +#define NID_hmacWithSHA256 804 +#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L + +#define LN_hmacWithSHA384 "hmacWithSHA384" +#define NID_hmacWithSHA384 805 +#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L + +#define LN_hmacWithSHA512 "hmacWithSHA512" +#define NID_hmacWithSHA512 806 +#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L + #define SN_rc2_cbc "RC2-CBC" #define LN_rc2_cbc "rc2-cbc" #define NID_rc2_cbc 37 diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num index 64224881c8..dab08d37d2 100644 --- a/crypto/objects/obj_mac.num +++ b/crypto/objects/obj_mac.num @@ -800,3 +800,7 @@ id_GostR3411_94_with_GostR3410_94_cc 799 id_GostR3411_94_with_GostR3410_2001_cc 800 id_GostR3410_2001_ParamSet_cc 801 hmacWithMD5 802 +hmacWithSHA224 803 +hmacWithSHA256 804 +hmacWithSHA384 805 +hmacWithSHA512 806 diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt index 0aef7edd57..d2dcea2c1d 100644 --- a/crypto/objects/objects.txt +++ b/crypto/objects/objects.txt @@ -340,6 +340,13 @@ rsadsi 2 5 : MD5 : md5 : MD5-SHA1 : md5-sha1 rsadsi 2 6 : : hmacWithMD5 rsadsi 2 7 : : hmacWithSHA1 + +# From RFC4231 +rsadsi 2 8 : : hmacWithSHA224 +rsadsi 2 9 : : hmacWithSHA256 +rsadsi 2 10 : : hmacWithSHA384 +rsadsi 2 11 : : hmacWithSHA512 + rsadsi 3 2 : RC2-CBC : rc2-cbc : RC2-ECB : rc2-ecb !Cname rc2-cfb64 -- 2.25.1