[edk2-devel] [Patch] CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand()

Michael D Kinney posted 1 patch 4 years, 2 months ago
Failed in applying to current master (apply log)
.../BaseCryptLibNull/BaseCryptLibNull.inf     |  3 +-
.../BaseCryptLibNull/Kdf/CryptHkdfNull.c      | 43 +++++++++++++++++++
2 files changed, 45 insertions(+), 1 deletion(-)
create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
[edk2-devel] [Patch] CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand()
Posted by Michael D Kinney 4 years, 2 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=2493

The BaseCryptLib was expanded to add the HkdfSha256ExtractAndExpand()
service in the following commit:

https://github.com/tianocore/edk2/commit/4b1b7c1913092d73d689d8086dcfa579c0217dc8

When BaseCryptLibNull was added in the commit below, this new
service was not included.

https://github.com/tianocore/edk2/commit/d95de082da01f4a4cb3ebf87e15972a12d0f8d53

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 .../BaseCryptLibNull/BaseCryptLibNull.inf     |  3 +-
 .../BaseCryptLibNull/Kdf/CryptHkdfNull.c      | 43 +++++++++++++++++++
 2 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c

diff --git a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
index 1e4807968a..8f53b0dfd0 100644
--- a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
+++ b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
@@ -6,7 +6,7 @@
 #  This external input must be validated carefully to avoid security issues such as
 #  buffer overflow or integer overflow.
 #
-#  Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
 ##
@@ -37,6 +37,7 @@ [Sources]
   Hmac/CryptHmacMd5Null.c
   Hmac/CryptHmacSha1Null.c
   Hmac/CryptHmacSha256Null.c
+  Kdf/CryptHkdfNull.c
   Cipher/CryptAesNull.c
   Cipher/CryptTdesNull.c
   Cipher/CryptArc4Null.c
diff --git a/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
new file mode 100644
index 0000000000..19d795a4cc
--- /dev/null
+++ b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
@@ -0,0 +1,43 @@
+/** @file
+  HMAC-SHA256 KDF Wrapper Implementation which does not provide real capabilities.
+
+Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include <Library/BaseCryptLib.h>
+#include <Library/DebugLib.h>
+
+/**
+  Derive key data using HMAC-SHA256 based KDF.
+
+  @param[in]   Key              Pointer to the user-supplied key.
+  @param[in]   KeySize          Key size in bytes.
+  @param[in]   Salt             Pointer to the salt(non-secret) value.
+  @param[in]   SaltSize         Salt size in bytes.
+  @param[in]   Info             Pointer to the application specific info.
+  @param[in]   InfoSize         Info size in bytes.
+  @param[out]  Out              Pointer to buffer to receive hkdf value.
+  @param[in]   OutSize          Size of hkdf bytes to generate.
+
+  @retval TRUE   Hkdf generated successfully.
+  @retval FALSE  Hkdf generation failed.
+
+**/
+BOOLEAN
+EFIAPI
+HkdfSha256ExtractAndExpand (
+  IN   CONST UINT8  *Key,
+  IN   UINTN        KeySize,
+  IN   CONST UINT8  *Salt,
+  IN   UINTN        SaltSize,
+  IN   CONST UINT8  *Info,
+  IN   UINTN        InfoSize,
+  OUT  UINT8        *Out,
+  IN   UINTN        OutSize
+  )
+{
+  ASSERT (FALSE);
+  return FALSE;
+}
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53549): https://edk2.groups.io/g/devel/message/53549
Mute This Topic: https://groups.io/mt/70261270/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch] CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand()
Posted by Wang, Jian J 4 years, 2 months ago
The copyright year of file CryptHkdfNull.c was not updated. With it addressed,

Reviewed-by: Jian J Wang <jian.j.wang@intel.com>

Regards,
Jian

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael D
> Kinney
> Sent: Thursday, January 30, 2020 8:17 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Lu, XiaoyuX <xiaoyux.lu@intel.com>
> Subject: [edk2-devel] [Patch] CryptoPkg/BaseCryptLibNull: Add missing
> HkdfSha256ExtractAndExpand()
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=2493
> 
> The BaseCryptLib was expanded to add the HkdfSha256ExtractAndExpand()
> service in the following commit:
> 
> https://github.com/tianocore/edk2/commit/4b1b7c1913092d73d689d8086dcfa
> 579c0217dc8
> 
> When BaseCryptLibNull was added in the commit below, this new
> service was not included.
> 
> https://github.com/tianocore/edk2/commit/d95de082da01f4a4cb3ebf87e1597
> 2a12d0f8d53
> 
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
>  .../BaseCryptLibNull/BaseCryptLibNull.inf     |  3 +-
>  .../BaseCryptLibNull/Kdf/CryptHkdfNull.c      | 43 +++++++++++++++++++
>  2 files changed, 45 insertions(+), 1 deletion(-)
>  create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
> 
> diff --git a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
> b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
> index 1e4807968a..8f53b0dfd0 100644
> --- a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
> +++ b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
> @@ -6,7 +6,7 @@
>  #  This external input must be validated carefully to avoid security issues such as
>  #  buffer overflow or integer overflow.
>  #
> -#  Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2009 - 2020, Intel Corporation. All rights reserved.<BR>
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
>  ##
> @@ -37,6 +37,7 @@ [Sources]
>    Hmac/CryptHmacMd5Null.c
>    Hmac/CryptHmacSha1Null.c
>    Hmac/CryptHmacSha256Null.c
> +  Kdf/CryptHkdfNull.c
>    Cipher/CryptAesNull.c
>    Cipher/CryptTdesNull.c
>    Cipher/CryptArc4Null.c
> diff --git a/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
> b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
> new file mode 100644
> index 0000000000..19d795a4cc
> --- /dev/null
> +++ b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
> @@ -0,0 +1,43 @@
> +/** @file
> +  HMAC-SHA256 KDF Wrapper Implementation which does not provide real
> capabilities.
> +
> +Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Library/BaseCryptLib.h>
> +#include <Library/DebugLib.h>
> +
> +/**
> +  Derive key data using HMAC-SHA256 based KDF.
> +
> +  @param[in]   Key              Pointer to the user-supplied key.
> +  @param[in]   KeySize          Key size in bytes.
> +  @param[in]   Salt             Pointer to the salt(non-secret) value.
> +  @param[in]   SaltSize         Salt size in bytes.
> +  @param[in]   Info             Pointer to the application specific info.
> +  @param[in]   InfoSize         Info size in bytes.
> +  @param[out]  Out              Pointer to buffer to receive hkdf value.
> +  @param[in]   OutSize          Size of hkdf bytes to generate.
> +
> +  @retval TRUE   Hkdf generated successfully.
> +  @retval FALSE  Hkdf generation failed.
> +
> +**/
> +BOOLEAN
> +EFIAPI
> +HkdfSha256ExtractAndExpand (
> +  IN   CONST UINT8  *Key,
> +  IN   UINTN        KeySize,
> +  IN   CONST UINT8  *Salt,
> +  IN   UINTN        SaltSize,
> +  IN   CONST UINT8  *Info,
> +  IN   UINTN        InfoSize,
> +  OUT  UINT8        *Out,
> +  IN   UINTN        OutSize
> +  )
> +{
> +  ASSERT (FALSE);
> +  return FALSE;
> +}
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53727): https://edk2.groups.io/g/devel/message/53727
Mute This Topic: https://groups.io/mt/70261270/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch] CryptoPkg/BaseCryptLibNull: Add missing HkdfSha256ExtractAndExpand()
Posted by Michael D Kinney 4 years, 2 months ago
Jian,

Thanks for the review.

I did not modify that file at all.  I just copied
it from another directory.  That is why I left
the Copyright year unmodified.

Mike

> -----Original Message-----
> From: Wang, Jian J <jian.j.wang@intel.com>
> Sent: Tuesday, February 4, 2020 6:46 AM
> To: devel@edk2.groups.io; Kinney, Michael D
> <michael.d.kinney@intel.com>
> Cc: Lu, XiaoyuX <xiaoyux.lu@intel.com>
> Subject: RE: [edk2-devel] [Patch]
> CryptoPkg/BaseCryptLibNull: Add missing
> HkdfSha256ExtractAndExpand()
> 
> The copyright year of file CryptHkdfNull.c was not
> updated. With it addressed,
> 
> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
> 
> Regards,
> Jian
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On
> Behalf Of Michael D
> > Kinney
> > Sent: Thursday, January 30, 2020 8:17 AM
> > To: devel@edk2.groups.io
> > Cc: Wang, Jian J <jian.j.wang@intel.com>; Lu, XiaoyuX
> <xiaoyux.lu@intel.com>
> > Subject: [edk2-devel] [Patch]
> CryptoPkg/BaseCryptLibNull: Add missing
> > HkdfSha256ExtractAndExpand()
> >
> > https://bugzilla.tianocore.org/show_bug.cgi?id=2493
> >
> > The BaseCryptLib was expanded to add the
> HkdfSha256ExtractAndExpand()
> > service in the following commit:
> >
> >
> https://github.com/tianocore/edk2/commit/4b1b7c1913092d
> 73d689d8086dcfa
> > 579c0217dc8
> >
> > When BaseCryptLibNull was added in the commit below,
> this new
> > service was not included.
> >
> >
> https://github.com/tianocore/edk2/commit/d95de082da01f4
> a4cb3ebf87e1597
> > 2a12d0f8d53
> >
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> > Signed-off-by: Michael D Kinney
> <michael.d.kinney@intel.com>
> > ---
> >  .../BaseCryptLibNull/BaseCryptLibNull.inf     |  3
> +-
> >  .../BaseCryptLibNull/Kdf/CryptHkdfNull.c      | 43
> +++++++++++++++++++
> >  2 files changed, 45 insertions(+), 1 deletion(-)
> >  create mode 100644
> CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.c
> >
> > diff --git
> a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.i
> nf
> >
> b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.i
> nf
> > index 1e4807968a..8f53b0dfd0 100644
> > ---
> a/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.i
> nf
> > +++
> b/CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.i
> nf
> > @@ -6,7 +6,7 @@
> >  #  This external input must be validated carefully
> to avoid security issues such as
> >  #  buffer overflow or integer overflow.
> >  #
> > -#  Copyright (c) 2009 - 2019, Intel Corporation. All
> rights reserved.<BR>
> > +#  Copyright (c) 2009 - 2020, Intel Corporation. All
> rights reserved.<BR>
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent
> >  #
> >  ##
> > @@ -37,6 +37,7 @@ [Sources]
> >    Hmac/CryptHmacMd5Null.c
> >    Hmac/CryptHmacSha1Null.c
> >    Hmac/CryptHmacSha256Null.c
> > +  Kdf/CryptHkdfNull.c
> >    Cipher/CryptAesNull.c
> >    Cipher/CryptTdesNull.c
> >    Cipher/CryptArc4Null.c
> > diff --git
> a/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.
> c
> >
> b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.
> c
> > new file mode 100644
> > index 0000000000..19d795a4cc
> > --- /dev/null
> > +++
> b/CryptoPkg/Library/BaseCryptLibNull/Kdf/CryptHkdfNull.
> c
> > @@ -0,0 +1,43 @@
> > +/** @file
> > +  HMAC-SHA256 KDF Wrapper Implementation which does
> not provide real
> > capabilities.
> > +
> > +Copyright (c) 2018 - 2019, Intel Corporation. All
> rights reserved.<BR>
> > +SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#include <Library/BaseCryptLib.h>
> > +#include <Library/DebugLib.h>
> > +
> > +/**
> > +  Derive key data using HMAC-SHA256 based KDF.
> > +
> > +  @param[in]   Key              Pointer to the user-
> supplied key.
> > +  @param[in]   KeySize          Key size in bytes.
> > +  @param[in]   Salt             Pointer to the
> salt(non-secret) value.
> > +  @param[in]   SaltSize         Salt size in bytes.
> > +  @param[in]   Info             Pointer to the
> application specific info.
> > +  @param[in]   InfoSize         Info size in bytes.
> > +  @param[out]  Out              Pointer to buffer to
> receive hkdf value.
> > +  @param[in]   OutSize          Size of hkdf bytes
> to generate.
> > +
> > +  @retval TRUE   Hkdf generated successfully.
> > +  @retval FALSE  Hkdf generation failed.
> > +
> > +**/
> > +BOOLEAN
> > +EFIAPI
> > +HkdfSha256ExtractAndExpand (
> > +  IN   CONST UINT8  *Key,
> > +  IN   UINTN        KeySize,
> > +  IN   CONST UINT8  *Salt,
> > +  IN   UINTN        SaltSize,
> > +  IN   CONST UINT8  *Info,
> > +  IN   UINTN        InfoSize,
> > +  OUT  UINT8        *Out,
> > +  IN   UINTN        OutSize
> > +  )
> > +{
> > +  ASSERT (FALSE);
> > +  return FALSE;
> > +}
> > --
> > 2.21.0.windows.1
> >
> >
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#53732): https://edk2.groups.io/g/devel/message/53732
Mute This Topic: https://groups.io/mt/70261270/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-