summaryrefslogtreecommitdiffstats
path: root/crypto/objects
diff options
context:
space:
mode:
authorAlessandro Ghedini <alessandro@ghedini.me>2016-03-02 23:58:27 +0000
committerRich Salz <rsalz@openssl.org>2016-03-03 18:21:20 -0500
commitaacfb134be2a88211b79dc53bb5bd0e422dbb60d (patch)
tree5b247240da2fcc6e55e00a6296e0cc0ad3eb8fc5 /crypto/objects
parentb894054e3f7de6c64b505006395aa24b30928e97 (diff)
GH355: Implement HKDF
This patch implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. It is required to implement the QUIC and TLS 1.3 protocols (among others). Signed-off-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
Diffstat (limited to 'crypto/objects')
-rw-r--r--crypto/objects/obj_dat.h9
-rw-r--r--crypto/objects/obj_mac.num1
-rw-r--r--crypto/objects/objects.txt3
3 files changed, 10 insertions, 3 deletions
diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
index e5c5963d8b..0528dfb9cb 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
@@ -60,9 +60,9 @@
* [including the GNU Public Licence.]
*/
-#define NUM_NID 1036
-#define NUM_SN 1029
-#define NUM_LN 1029
+#define NUM_NID 1037
+#define NUM_SN 1030
+#define NUM_LN 1030
#define NUM_OBJ 951
static const unsigned char lvalues[6722]={
@@ -2704,6 +2704,7 @@ static const ASN1_OBJECT nid_objs[NUM_NID]={
{"pkInitKDC","Signing KDC Response",NID_pkInitKDC,7,&(lvalues[6696]),0},
{"X25519","X25519",NID_X25519,9,&(lvalues[6703]),0},
{"X448","X448",NID_X448,9,&(lvalues[6712]),0},
+{"HKDF","hkdf",NID_hkdf,0,NULL,0},
};
static const unsigned int sn_objs[NUM_SN]={
@@ -2813,6 +2814,7 @@ static const unsigned int sn_objs[NUM_SN]={
67, /* "DSA-old" */
297, /* "DVCS" */
99, /* "GN" */
+1036, /* "HKDF" */
855, /* "HMAC" */
780, /* "HMAC-MD5" */
781, /* "HMAC-SHA1" */
@@ -4152,6 +4154,7 @@ static const unsigned int ln_objs[NUM_LN]={
1012, /* "grasshopper-ecb" */
1017, /* "grasshopper-mac" */
1014, /* "grasshopper-ofb" */
+1036, /* "hkdf" */
855, /* "hmac" */
780, /* "hmac-md5" */
781, /* "hmac-sha1" */
diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num
index e981a057ce..ce8e8ec28a 100644
--- a/crypto/objects/obj_mac.num
+++ b/crypto/objects/obj_mac.num
@@ -1033,3 +1033,4 @@ pkInitClientAuth 1032
pkInitKDC 1033
X25519 1034
X448 1035
+hkdf 1036
diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt
index 14e68e384c..9d04a63431 100644
--- a/crypto/objects/objects.txt
+++ b/crypto/objects/objects.txt
@@ -1444,6 +1444,9 @@ secg-scheme 14 3 : dhSinglePass-cofactorDH-sha512kdf-scheme
# NID for TLS1 PRF
: TLS1-PRF : tls1-prf
+# NID for HKDF
+ : HKDF : hkdf
+
# RFC 4556
1 3 6 1 5 2 3 : id-pkinit
id-pkinit 4 : pkInitClientAuth : PKINIT Client Auth