public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch 0/2] Extending the signing algorithms for Authenticated Variables
@ 2020-12-09 18:32 Wadhawan, Divneil R
  2020-12-09 18:32 ` [Patch 1/2] MdeModulePkg: Add unit test " Wadhawan, Divneil R
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Wadhawan, Divneil R @ 2020-12-09 18:32 UTC (permalink / raw)
  To: devel

Authenticated Variables currently only supports SHA256 as the digest algorithm.
This patch series extends it to include SHA384 and SHA512. The series is composed
of 2 patches.
a. Unit Test for Authenticated Variables
b. AuthService change to allow SHA384/SHA512 as digest algorithms.

Divneil Rai Wadhawan (2):
  MdeModulePkg: Add unit test for Authenticated Variables
  SecurityPkg: Add support for SHA-384/SHA-512 digest algos

 .../Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c | 494 +++++++++++++++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c       | 139 ++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c       | 219 +++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c       | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c | 139 ++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c | 219 +++++++++
 SecurityPkg/Library/AuthVariableLib/AuthService.c  |   8 +-
 AuthVariableDigestUpdate.md                        |  41 ++
 MdeModulePkg/MdeModulePkg.dsc                      |   4 +
 .../UnitTest/AuthVarUnitTestUefiShell.inf          |  42 ++
 15 files changed, 2457 insertions(+), 2 deletions(-)
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
 create mode 100644 AuthVariableDigestUpdate.md
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf

-- 
2.16.2.windows.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables
  2020-12-09 18:32 [Patch 0/2] Extending the signing algorithms for Authenticated Variables Wadhawan, Divneil R
@ 2020-12-09 18:32 ` Wadhawan, Divneil R
  2020-12-09 20:18   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 18:32 ` [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos Wadhawan, Divneil R
  2020-12-09 18:49 ` [edk2-devel] [Patch 0/2] Extending the signing algorithms for Authenticated Variables Michael D Kinney
  2 siblings, 1 reply; 9+ messages in thread
From: Wadhawan, Divneil R @ 2020-12-09 18:32 UTC (permalink / raw)
  To: devel; +Cc: Jian J Wang, Hao A Wu, Liming Gao, Michael D Kinney

The unit test of Authenticated Variables include the following
signing algorithms
o RSA2048/SHA256
o RSA3072/SHA256
o RSA4096/SHA256
o RSA3072/SHA384
o RSA4096/SHA512

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com>
---
 .../Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c | 494 +++++++++++++++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c       | 139 ++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c       | 219 +++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c       | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c | 139 ++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c | 219 +++++++++
 MdeModulePkg/MdeModulePkg.dsc                      |   4 +
 .../UnitTest/AuthVarUnitTestUefiShell.inf          |  42 ++
 13 files changed, 2410 insertions(+)
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
new file mode 100644
index 0000000000..ce1ed168ea
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
@@ -0,0 +1,494 @@
+/** @file
+  Implement UnitTest for the Authenticated Variables.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#include <Uefi.h>
+#include <Library/DebugLib.h>
+#include <Library/UnitTestLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Guid/AuthenticatedVariableFormat.h>
+#include <Guid/GlobalVariable.h>
+
+extern UINT8  gPkRsa2048Sha256[];
+extern UINT32 gPkRsa2048Sha256Size;
+extern UINT8  gPkNewRsa2048Sha256[];
+extern UINT32 gPkNewRsa2048Sha256Size;
+extern UINT8  gPkRsa3072Sha256[];
+extern UINT32 gPkRsa3072Sha256Size;
+extern UINT8  gPkNewRsa3072Sha256[];
+extern UINT32 gPkNewRsa3072Sha256Size;
+extern UINT8  gPkRsa4096Sha256[];
+extern UINT32 gPkRsa4096Sha256Size;
+extern UINT8  gPkNewRsa4096Sha256[];
+extern UINT32 gPkNewRsa4096Sha256Size;
+extern UINT8  gPkRsa3072Sha384[];
+extern UINT32 gPkRsa3072Sha384Size;
+extern UINT8  gPkNewRsa3072Sha384[];
+extern UINT32 gPkNewRsa3072Sha384Size;
+extern UINT8  gPkRsa4096Sha512[];
+extern UINT32 gPkRsa4096Sha512Size;
+extern UINT8  gPkNewRsa4096Sha512[];
+extern UINT32 gPkNewRsa4096Sha512Size;
+
+#define UNIT_TEST_NAME    "AuthVarTest"
+#define UNIT_TEST_VERSION "0.1"
+typedef enum {
+  CONTEXT_RSA2048_SHA256 = 1,
+  CONTEXT_RSA3072_SHA256,
+  CONTEXT_RSA4096_SHA256,
+  CONTEXT_RSA3072_SHA384,
+  CONTEXT_RSA4096_SHA512
+} AuthVarTestContext;
+
+
+STATIC UINT32 mRsa2048Sha256 = CONTEXT_RSA2048_SHA256;
+STATIC UINT32 mRsa3072Sha256 = CONTEXT_RSA3072_SHA256;
+STATIC UINT32 mRsa4096Sha256 = CONTEXT_RSA4096_SHA256;
+STATIC UINT32 mRsa3072Sha384 = CONTEXT_RSA3072_SHA384;
+STATIC UINT32 mRsa4096Sha512 = CONTEXT_RSA4096_SHA512;
+
+/**
+  Set the platform secure boot mode to "custom" or "standard"
+  @param[in]  CustomMode        Value of 1 indicates Custom Mode.
+                                Value of 0 indicates Standard Mode.
+
+  @retval     EFI_SUCCESS       The platform has switched to the requested mode successfully
+  @retval     other             Failure to set the required boot mode
+**/
+EFI_STATUS
+SetSecureBootMode(
+  IN  UINT8     SecureBootMode
+  )
+{
+  return gRT->SetVariable (
+              EFI_CUSTOM_MODE_NAME,
+              &gEfiCustomModeEnableGuid,
+              EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+              sizeof (UINT8),
+              &SecureBootMode
+              );
+}
+
+/**
+  Enroll the base Authenticated Variable into the storage
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for enrollment.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarEnroll (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS  Status;
+  UINT32      Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *)Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkRsa2048Sha256Size;
+      Data     = gPkRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkRsa3072Sha256Size;
+      Data     = gPkRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkRsa4096Sha256Size;
+      Data     = gPkRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkRsa3072Sha384Size;
+      Data     = gPkRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkRsa4096Sha512Size;
+      Data     = gPkRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  //
+  // Set the platform mode in custom mode to enroll the
+  // base variable into the Authenticated Variable storage.
+  //
+  Status = SetSecureBootMode (CUSTOM_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Enroll the variable to be used for sign verification
+  // for next updates.
+  //
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Clear the custom mode of platform
+  //
+  Status = SetSecureBootMode (STANDARD_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Update the Authenticated Variable enrolled earlier in custom mode
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for update.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarUpdate (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS Status;
+  UINT32     Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *) Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkNewRsa2048Sha256Size;
+      Data     = gPkNewRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkNewRsa3072Sha256Size;
+      Data     = gPkNewRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkNewRsa4096Sha256Size;
+      Data     = gPkNewRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkNewRsa3072Sha384Size;
+      Data     = gPkNewRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkNewRsa4096Sha512Size;
+      Data     = gPkNewRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  //
+  // Update the Authenticated Variable enrolled earlier in custom mode
+  //
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Register the test cases for RSA2048/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA2048/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa2048Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Enroll", "RSA2048.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa2048Sha256);
+  Status |= AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Update", "RSA2048.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa2048Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Enroll", "RSA3072.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha256);
+  Status |= AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Update", "RSA3072.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Enroll", "RSA4096.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha256);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Update", "RSA4096.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA384 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA384 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha384Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Enroll", "RSA3072.SHA384.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha384);
+  Status |= AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Update", "RSA3072.SHA384.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha384);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA512 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA512 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha512Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Enroll", "RSA4096.SHA512.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha512);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Update", "RSA4096.SHA512.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha512);
+  return Status;
+}
+
+/**
+  Register Authenticated Variable tests based on different signing schemes.
+  The following test suites are registered
+  o RSA2048/SHA256
+  o RSA3072/SHA256
+  o RSA4096/SHA256
+  o RSA3072/SHA384
+  o RSA4096/SHA512
+
+  @retval  EFI_SUCCESS           All test suites are registered
+  @retval  EFI_OUT_OF_RESOURCES  System is out of resources for registering test suite
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterTests (
+ UNIT_TEST_FRAMEWORK_HANDLE Framework
+ )
+{
+  EFI_STATUS              Status;
+  UNIT_TEST_SUITE_HANDLE  Rsa2048Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha384Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha512Suite;
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA2048/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa2048Sha256Suite, Framework, "AuthVar RSA2048/SHA256", "RSA2048.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA2048/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA2048/SHA256
+  //
+  Status = AuthVarRegisterRsa2048Sha256Tests(Rsa2048Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA2048/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha256Suite, Framework, "AuthVar RSA3072/SHA256", "RSA3072.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA256
+  //
+  Status = AuthVarRegisterRsa3072Sha256Tests(Rsa3072Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha256Suite, Framework, "AuthVar RSA4096/SHA256", "RSA4096.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA256
+  //
+  Status = AuthVarRegisterRsa4096Sha256Tests(Rsa4096Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA384
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha384Suite, Framework, "AuthVar RSA3072/SHA384", "RSA3072.SHA384", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA384 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA384
+  //
+  Status = AuthVarRegisterRsa3072Sha384Tests(Rsa3072Sha384Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA384 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA512
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha512Suite, Framework, "AuthVar RSA4096/SHA512", "RSA4096.SHA512", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA512 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA512
+  //
+  Status = AuthVarRegisterRsa4096Sha512Tests (Rsa4096Sha512Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA512 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+EXIT:
+  if (EFI_ERROR (Status)) {
+    Status = EFI_OUT_OF_RESOURCES;
+  }
+  return Status;
+}
+
+/**
+  Authenticated Variable Unit Test entry point
+**/
+EFI_STATUS
+EFIAPI
+AuthVarUnitTestEntryPoint (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
+  )
+{
+  EFI_STATUS Status;
+  UNIT_TEST_FRAMEWORK_HANDLE Framework;
+
+  Framework = NULL;
+
+  //
+  // Create a Framework object for Authenticated Variable Test
+  //
+  Status = InitUnitTestFramework (&Framework, UNIT_TEST_NAME, gEfiCallerBaseName, UNIT_TEST_VERSION);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to create Framework Object (Status: %r)\n", Status));
+    goto EXIT;
+  }
+
+  //
+  // Register all the test suites the Unit Test Framwork
+  //
+  Status = AuthVarRegisterTests (Framework);
+  if (EFI_ERROR (Status )) {
+      DEBUG ((DEBUG_ERROR, "Failed to register the test suites with the framework (Status: %r)\n", Status));
+      goto EXIT;
+  }
+
+  //
+  // Execute all the tests
+  //
+  Status = RunAllTestSuites (Framework);
+
+EXIT:
+  if (Framework) {
+    FreeUnitTestFramework (Framework);
+  }
+  return Status;
+}
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
new file mode 100644
index 0000000000..50e50c23d3
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x2a, 0xe9, 0x0b, 0x40, 0x0e, 0xe1, 0xc6, 0xc5, 0xdc, 0xed, 0xbf, 0x9d,
+  0xc7, 0x5c, 0x17, 0xa0, 0xa6, 0x65, 0xaf, 0xff, 0x84, 0x4c, 0x91, 0x00, 0x6b, 0x0a, 0x3d, 0x21,
+  0x0e, 0xfb, 0x73, 0x1b, 0x5b, 0x5f, 0x05, 0x1b, 0x43, 0x20, 0xa7, 0x29, 0x68, 0x0d, 0x3f, 0xd9,
+  0x47, 0xed, 0x31, 0x87, 0x45, 0x69, 0x10, 0x1b, 0x6c, 0xb5, 0x62, 0xe6, 0xa2, 0xd7, 0x33, 0xb4,
+  0x1c, 0x1a, 0x8e, 0xa7, 0xa9, 0x6d, 0xde, 0x48, 0x17, 0xad, 0xea, 0x64, 0x01, 0xb6, 0xaa, 0xd6,
+  0x10, 0x22, 0xc7, 0x15, 0xaf, 0xb5, 0x2e, 0xb8, 0x93, 0x36, 0x03, 0x2a, 0x51, 0x9d, 0xc3, 0xf1,
+  0x0a, 0xbe, 0x94, 0x62, 0x24, 0xad, 0x2c, 0x3e, 0x7f, 0xaa, 0x85, 0xb2, 0x3d, 0x8a, 0xe2, 0xa4,
+  0x32, 0x0a, 0x87, 0x0c, 0xf0, 0xa1, 0x19, 0x29, 0xd0, 0x31, 0x63, 0x48, 0xb9, 0x36, 0x67, 0xea,
+  0x9a, 0x91, 0xc6, 0xa9, 0x51, 0x67, 0x76, 0xe1, 0xa3, 0x00, 0x26, 0x9e, 0x84, 0x80, 0xe3, 0x41,
+  0xa8, 0xc8, 0x60, 0xd8, 0xf7, 0xd3, 0x52, 0x71, 0x26, 0xe6, 0xee, 0xa5, 0x3f, 0x39, 0x75, 0x52,
+  0x56, 0x4f, 0xb5, 0xb4, 0xe7, 0xc2, 0x08, 0x7d, 0xe7, 0x9a, 0x8b, 0x7c, 0x5e, 0xdd, 0x4d, 0x1f,
+  0xfe, 0x1b, 0xc4, 0xee, 0x08, 0xa8, 0xf8, 0x41, 0x9f, 0x78, 0x51, 0x1b, 0x57, 0xc9, 0x58, 0x9b,
+  0xca, 0xa6, 0x3c, 0xef, 0xc1, 0x12, 0xab, 0x14, 0xde, 0xe3, 0x6a, 0x0d, 0xb3, 0xb1, 0x90, 0x4d,
+  0xf3, 0x39, 0x12, 0xa9, 0xee, 0x90, 0x88, 0xaf, 0x5b, 0xb7, 0x39, 0xfd, 0xe2, 0x76, 0xe6, 0x20,
+  0xe2, 0xc2, 0x09, 0x13, 0xaa, 0xa6, 0x87, 0x11, 0x11, 0x34, 0x64, 0x15, 0xf2, 0x41, 0xf2, 0xad,
+  0x6e, 0xa6, 0x3e, 0xf3, 0xc7, 0x5d, 0xa5, 0xb8, 0xdb, 0x73, 0x06, 0x86, 0x6e, 0x39, 0x0d, 0xe6,
+  0xa4, 0xee, 0x69, 0x9f, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x51,
+  0xc5, 0x6a, 0xc5, 0x75, 0xf6, 0xc1, 0xaf, 0xca, 0xce, 0x5e, 0xac, 0x62, 0x2e, 0xb1, 0x17, 0xf2,
+  0x6b, 0xcd, 0xa3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb7, 0x41, 0x78, 0xd1, 0x4f, 0xff, 0x26, 0xee, 0x2f, 0x18, 0x21, 0x2a, 0x2a, 0x93, 0x3c,
+  0xde, 0xc3, 0x15, 0x59, 0x8b, 0xa3, 0xb7, 0x97, 0xba, 0xbf, 0x96, 0x89, 0x88, 0xcc, 0xf5, 0xb1,
+  0xc0, 0x72, 0x58, 0x8d, 0xcc, 0x3d, 0xe6, 0x86, 0x72, 0xfc, 0x77, 0x46, 0xce, 0x7d, 0xbb, 0x53,
+  0xd0, 0xed, 0x97, 0xe5, 0xa4, 0x5d, 0x1c, 0x59, 0x14, 0x21, 0x97, 0xe7, 0xdf, 0x77, 0xba, 0x19,
+  0x95, 0xee, 0xac, 0x3d, 0xaf, 0xd6, 0x08, 0xe9, 0x61, 0x17, 0x3e, 0x53, 0x45, 0x9f, 0x47, 0x27,
+  0x07, 0xc5, 0xd1, 0xf2, 0x1c, 0xc5, 0x9a, 0x0e, 0x60, 0xd3, 0x06, 0x2c, 0xbb, 0x05, 0xae, 0xed,
+  0x49, 0x28, 0x4b, 0xbe, 0x5c, 0x0e, 0xee, 0x9d, 0xcd, 0x5e, 0xd4, 0x2d, 0xc0, 0xd2, 0x61, 0xd5,
+  0x4a, 0xbd, 0xd5, 0xa4, 0x5f, 0xfb, 0x29, 0xc0, 0x1d, 0x9b, 0xd7, 0x4f, 0xa4, 0xae, 0x08, 0xfd,
+  0x88, 0xb1, 0x60, 0x61, 0x05, 0xf2, 0xc5, 0xca, 0x66, 0x7b, 0x83, 0x79, 0xb8, 0xee, 0x49, 0x21,
+  0x4f, 0x76, 0xd7, 0x3b, 0x32, 0x36, 0x4a, 0x26, 0x2c, 0x24, 0x67, 0xe6, 0xbe, 0x76, 0x23, 0x73,
+  0x4e, 0xf3, 0xc6, 0x32, 0xe0, 0x26, 0x61, 0x2f, 0x16, 0x15, 0xbf, 0xfd, 0x66, 0xa2, 0x6c, 0x9b,
+  0x25, 0x3d, 0xdf, 0xf8, 0x95, 0xa7, 0xda, 0x33, 0x59, 0xda, 0xf7, 0xea, 0x8f, 0xac, 0x11, 0xb2,
+  0xc4, 0x21, 0xfd, 0x30, 0x8d, 0x13, 0x61, 0x1e, 0xe5, 0x86, 0xd6, 0x48, 0xd1, 0xae, 0x92, 0xb6,
+  0x7c, 0x8c, 0xc7, 0x9f, 0x22, 0x64, 0x76, 0x88, 0xc3, 0x20, 0xe3, 0xd3, 0x9e, 0x1e, 0xe0, 0x1c,
+  0xad, 0xa2, 0x99, 0xb4, 0x0d, 0x0c, 0x62, 0x43, 0x41, 0x32, 0x68, 0x20, 0x0f, 0x8e, 0xdd, 0xb6,
+  0x0f, 0xa2, 0xea, 0x4c, 0xa9, 0xcf, 0x95, 0xc4, 0xa7, 0xd9, 0x1a, 0x09, 0x22, 0xa8, 0xfb, 0x72,
+  0x3b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45, 0x0c,
+  0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45,
+  0x0c, 0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x1f,
+  0x2f, 0x49, 0xe9, 0x99, 0x0c, 0x0d, 0x17, 0x74, 0x2b, 0x21, 0x60, 0x99, 0xd2, 0xea, 0x35, 0x07,
+  0x6f, 0xf8, 0x09, 0x73, 0xf0, 0xba, 0x18, 0xf6, 0xe9, 0x1d, 0x35, 0xe1, 0x0f, 0x01, 0xa9, 0x5a,
+  0x13, 0xcc, 0xb7, 0xbb, 0xbf, 0x4b, 0xbc, 0x53, 0xc6, 0xac, 0xd9, 0x7e, 0x0f, 0xd0, 0xf1, 0xd4,
+  0x58, 0xdb, 0x95, 0x70, 0x3b, 0x93, 0xf1, 0x57, 0xbf, 0x73, 0xbd, 0xd9, 0xc2, 0x86, 0x47, 0x89,
+  0x86, 0x8f, 0x90, 0x1a, 0xd5, 0x42, 0x1a, 0xfc, 0x58, 0xb9, 0x10, 0xcd, 0x79, 0xca, 0x11, 0x6a,
+  0xd0, 0x56, 0x4e, 0x6a, 0x49, 0x4a, 0xaa, 0x1e, 0xe0, 0xee, 0xa2, 0x26, 0x6c, 0xb1, 0x40, 0x4d,
+  0x99, 0x41, 0xc0, 0xe3, 0x1f, 0xb0, 0xfc, 0x39, 0xcc, 0x06, 0x2a, 0xc9, 0x57, 0x84, 0xa6, 0xbf,
+  0x8f, 0x3e, 0x84, 0x81, 0x37, 0x8b, 0xed, 0x5c, 0xb5, 0xe1, 0x26, 0xe1, 0x9c, 0xc3, 0x22, 0xf3,
+  0xeb, 0xb6, 0x31, 0x08, 0xcf, 0x0c, 0x51, 0xe6, 0x0e, 0xb1, 0x26, 0x7e, 0x10, 0xb6, 0x1d, 0x7f,
+  0x28, 0x7e, 0xda, 0x9c, 0x11, 0x34, 0xdd, 0xf0, 0xc8, 0x4e, 0xf0, 0x91, 0xb3, 0x9f, 0x46, 0x36,
+  0x75, 0x52, 0x4e, 0xd6, 0x27, 0x1d, 0x85, 0x1b, 0x78, 0x97, 0x1e, 0x31, 0x39, 0x26, 0x8b, 0x59,
+  0x2e, 0xc2, 0x68, 0xb7, 0xf1, 0xbd, 0x07, 0x22, 0x91, 0x2a, 0x82, 0x33, 0x05, 0x75, 0x86, 0xd3,
+  0x23, 0x68, 0xb9, 0x87, 0xdc, 0x7e, 0xdc, 0x6b, 0x45, 0xa0, 0xac, 0x61, 0x3c, 0xc5, 0xf6, 0xbc,
+  0x56, 0xf0, 0xd0, 0xa1, 0x9d, 0xff, 0xa5, 0xee, 0xdc, 0xa7, 0x98, 0x75, 0xb0, 0x81, 0x75, 0xe6,
+  0x19, 0xd3, 0x67, 0x48, 0x07, 0x5c, 0xc4, 0x43, 0x90, 0x6d, 0xab, 0x18, 0xf2, 0xc0, 0xf6, 0x08,
+  0x84, 0x1a, 0x34, 0x45, 0xa3, 0x9e, 0x4f, 0xdd, 0x8e, 0xa3, 0xb0, 0x6a, 0x08, 0x0c, 0x6f
+};
+
+UINT32 gPkNewRsa2048Sha256Size = sizeof(gPkNewRsa2048Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
new file mode 100644
index 0000000000..c9de91552b
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xaf, 0xb5, 0xc9, 0xa8, 0xa0, 0x86, 0xd8, 0xbc, 0xa5, 0xc3, 0xfb, 0xc3,
+  0xef, 0x1f, 0x92, 0xd6, 0x20, 0x9c, 0x42, 0xea, 0xfa, 0xdd, 0x17, 0x13, 0xa1, 0xdb, 0x4a, 0x51,
+  0xe4, 0xa8, 0x49, 0xb5, 0xbf, 0xb8, 0x13, 0xa5, 0xa8, 0xa6, 0xb5, 0x69, 0x39, 0x93, 0xba, 0xa1,
+  0x50, 0x4f, 0x7a, 0xa4, 0x57, 0xba, 0x9f, 0xf4, 0xab, 0x4d, 0xf0, 0xb6, 0x60, 0xf2, 0x94, 0xd0,
+  0x42, 0x40, 0x23, 0xbc, 0xab, 0x56, 0xa1, 0xc8, 0xd5, 0xe5, 0x8a, 0xde, 0x6d, 0x51, 0xff, 0x75,
+  0x69, 0x32, 0x2f, 0xa5, 0x05, 0x39, 0xbc, 0x3e, 0x20, 0x89, 0x3d, 0x2d, 0x9c, 0x74, 0xfa, 0x75,
+  0x60, 0xaf, 0xfd, 0x7e, 0x94, 0x8e, 0xbc, 0x39, 0x15, 0x8c, 0x5f, 0x61, 0x96, 0x22, 0xd2, 0x05,
+  0x9d, 0x79, 0x6a, 0xe6, 0xf9, 0xa5, 0x4a, 0x95, 0x0a, 0x3b, 0x46, 0x3c, 0x50, 0x86, 0x42, 0xa6,
+  0x39, 0x5a, 0x13, 0xd4, 0x92, 0xe1, 0x05, 0x16, 0xae, 0xd7, 0x82, 0x79, 0x8e, 0xea, 0xf3, 0xe3,
+  0x67, 0xa7, 0xc9, 0xdb, 0x00, 0x52, 0xab, 0x32, 0xcb, 0x34, 0x30, 0x55, 0x14, 0xf1, 0x03, 0xbf,
+  0x31, 0x11, 0x91, 0xc2, 0x2a, 0xb9, 0x3d, 0xa8, 0x2d, 0x7b, 0x29, 0x20, 0x13, 0xda, 0x7c, 0x2d,
+  0x5e, 0x3b, 0xcd, 0xbd, 0xdf, 0x46, 0xba, 0x71, 0xc7, 0xfd, 0x50, 0x7f, 0x10, 0x15, 0xaf, 0x9f,
+  0xb3, 0xda, 0xe2, 0xad, 0xe2, 0xca, 0x0e, 0x95, 0x54, 0xd2, 0x4d, 0x33, 0x71, 0xff, 0x9d, 0x33,
+  0xc0, 0xb2, 0x77, 0xa2, 0xa5, 0x64, 0x59, 0x1f, 0xb3, 0x59, 0x4e, 0x96, 0x07, 0x55, 0xeb, 0xdf,
+  0xa9, 0x61, 0x7b, 0xb4, 0xb3, 0x5d, 0x4f, 0xbd, 0x5b, 0xfe, 0x0b, 0xdd, 0x31, 0x0a, 0xb8, 0x64,
+  0x7c, 0x0a, 0xd1, 0x57, 0x31, 0x89, 0xec, 0xa2, 0x41, 0x31, 0x9f, 0xf0, 0xc6, 0xf4, 0xb4, 0x8a,
+  0x24, 0xbb, 0x4d, 0x88, 0x42, 0xb6, 0xb4, 0x6e, 0x8b, 0x43, 0x9c, 0x0a, 0xf6, 0x30, 0xce, 0x28,
+  0xb6, 0x64, 0x75, 0xc2, 0xd0, 0xb5, 0xe6, 0xbf, 0x8b, 0x61, 0x8a, 0x51, 0xc7, 0x70, 0x1f, 0x6c,
+  0x34, 0xa5, 0x1d, 0x5c, 0xc3, 0xa3, 0x7c, 0x7e, 0x95, 0xab, 0xcc, 0x8a, 0xa0, 0x68, 0x17, 0x8a,
+  0xbf, 0x0d, 0x50, 0x99, 0x23, 0x77, 0x9c, 0xee, 0xb3, 0xa5, 0x42, 0x6e, 0x0d, 0xc6, 0xe5, 0x99,
+  0x0a, 0xff, 0x79, 0xbf, 0xc3, 0xf4, 0x4b, 0xe7, 0xdf, 0x14, 0x9c, 0x91, 0xac, 0x98, 0x7b, 0x16,
+  0x58, 0x56, 0xc9, 0x48, 0xfe, 0xc0, 0xf4, 0x07, 0x49, 0x32, 0x2e, 0x7c, 0x76, 0xaf, 0xba, 0x1c,
+  0x83, 0x9b, 0x33, 0xfa, 0x88, 0x13, 0x5b, 0xde, 0x36, 0xb5, 0x9c, 0x3d, 0x38, 0x2f, 0x08, 0x37,
+  0x5d, 0x95, 0x5c, 0xfd, 0x7b, 0xe5, 0xd2, 0xf8, 0xfc, 0x20, 0x92, 0x79, 0x6a, 0xc9, 0x53, 0xbc,
+  0xfb, 0x68, 0x25, 0xee, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x7f,
+  0x2f, 0x45, 0x86, 0x22, 0x18, 0x3b, 0xb6, 0x27, 0x30, 0x62, 0x62, 0xe6, 0x6d, 0xc4, 0xcc, 0x1c,
+  0x88, 0xd6, 0x58, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x57, 0x22, 0x1a, 0xec, 0x4b, 0x4e, 0xa8, 0x2b, 0x8b, 0x3b, 0x08, 0xf6, 0x71, 0x86,
+  0x94, 0x38, 0x66, 0xff, 0xef, 0x9c, 0xbe, 0x51, 0x87, 0x26, 0x35, 0x02, 0xfd, 0xa0, 0xd7, 0x53,
+  0xe4, 0x98, 0x52, 0xe9, 0x73, 0xea, 0x40, 0x9e, 0xa0, 0x75, 0x90, 0x20, 0xbe, 0x1d, 0x61, 0x85,
+  0xb5, 0xc9, 0x8f, 0xf3, 0x23, 0x61, 0x07, 0x7f, 0x9d, 0xf6, 0x52, 0xd2, 0x9a, 0xea, 0x97, 0x8b,
+  0xc0, 0x73, 0x89, 0xcb, 0x8b, 0x28, 0xfa, 0x45, 0xf5, 0x43, 0x15, 0x91, 0x1c, 0x21, 0xab, 0xb5,
+  0x7f, 0x86, 0x34, 0xea, 0x25, 0xea, 0x9f, 0xc4, 0xcd, 0x34, 0xe6, 0xb7, 0xd9, 0xba, 0xaf, 0x55,
+  0x96, 0x68, 0xf8, 0x8a, 0x9c, 0xa3, 0x87, 0xf1, 0x82, 0x44, 0xcc, 0xe7, 0x0b, 0xd6, 0xfb, 0x17,
+  0x01, 0x01, 0x4d, 0x5b, 0x0d, 0x25, 0xe3, 0x69, 0xf0, 0x15, 0x29, 0xf8, 0x16, 0x11, 0x63, 0xd1,
+  0xb7, 0x21, 0x18, 0x7c, 0x75, 0xaa, 0xec, 0x35, 0xe7, 0x2e, 0x94, 0x79, 0x95, 0x3d, 0x7f, 0xa2,
+  0x2a, 0x73, 0x62, 0x81, 0x6b, 0xcc, 0x35, 0xe6, 0x0c, 0x4c, 0x87, 0xb2, 0xcb, 0xa0, 0xfc, 0x10,
+  0x2e, 0x81, 0x4f, 0x39, 0xbf, 0xff, 0x89, 0x4b, 0xff, 0x8b, 0x86, 0x37, 0xfa, 0x80, 0x44, 0x2c,
+  0x61, 0x23, 0xfd, 0x7e, 0x9e, 0xc1, 0xc8, 0x46, 0xb9, 0x25, 0xc4, 0x24, 0x06, 0x99, 0xf0, 0x11,
+  0xc8, 0xfc, 0x55, 0x98, 0x5c, 0xd8, 0xf2, 0x26, 0x09, 0x60, 0x02, 0x94, 0x47, 0xbf, 0x86, 0x0b,
+  0x59, 0x9c, 0xb5, 0x5f, 0x13, 0xd3, 0x68, 0x11, 0xbb, 0xd6, 0xd2, 0x99, 0x35, 0x21, 0xfa, 0x7f,
+  0x6a, 0x3d, 0x3e, 0x9e, 0x2b, 0x65, 0x07, 0x1e, 0x54, 0xba, 0x56, 0xf1, 0x82, 0xa2, 0xd8, 0x7e,
+  0xd9, 0xca, 0x22, 0x75, 0x6a, 0x79, 0x14, 0x66, 0x2f, 0xbb, 0xe9, 0x67, 0x9b, 0x1c, 0x28, 0x06,
+  0x13, 0xaf, 0xbd, 0xab, 0xda, 0x98, 0xc4, 0x90, 0xed, 0xba, 0x7b, 0xe9, 0xe6, 0x90, 0x4c, 0x82,
+  0xfd, 0x34, 0x02, 0xea, 0x76, 0x9f, 0xb0, 0x8d, 0x42, 0xda, 0xd9, 0x0a, 0x56, 0x8e, 0xe9, 0x01,
+  0xb5, 0xc2, 0xa3, 0xfc, 0xc9, 0x73, 0xef, 0x72, 0x92, 0xa5, 0xe7, 0x27, 0x93, 0x63, 0x2e, 0xe7,
+  0x0b, 0x61, 0x94, 0x50, 0x94, 0x29, 0x3c, 0x67, 0x87, 0xa7, 0xf7, 0x5b, 0x09, 0x1f, 0xfa, 0x7b,
+  0xdd, 0x83, 0x7b, 0xc4, 0x3e, 0xd9, 0x04, 0xbf, 0x4e, 0x5b, 0x79, 0x1a, 0x37, 0x4f, 0x4d, 0xd5,
+  0x4b, 0x5b, 0x99, 0xe2, 0xc6, 0x6a, 0xa7, 0x75, 0x53, 0xab, 0xaa, 0xaa, 0xaf, 0x1e, 0x3b, 0xa1,
+  0x64, 0x4d, 0x75, 0x83, 0x84, 0x09, 0x92, 0x53, 0x32, 0x52, 0x8b, 0x86, 0xdd, 0x02, 0x69, 0xa2,
+  0xbc, 0x4e, 0xc5, 0xa4, 0x13, 0xc2, 0x36, 0x2f, 0x31, 0x60, 0xa4, 0x30, 0x93, 0x51, 0x5f, 0x0c,
+  0xa1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b, 0xa4,
+  0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b,
+  0xa4, 0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x8c,
+  0xfe, 0x86, 0x60, 0x54, 0xf8, 0x9b, 0x13, 0xfc, 0xae, 0x43, 0xda, 0x43, 0xc8, 0x1c, 0xa4, 0x40,
+  0x62, 0xdb, 0x4d, 0x1f, 0x81, 0xf0, 0xf1, 0xf6, 0xb9, 0xfa, 0x3a, 0x14, 0x1e, 0x3c, 0x60, 0x54,
+  0x91, 0x06, 0x85, 0x56, 0x95, 0x4d, 0x20, 0x00, 0xd5, 0x26, 0x3b, 0xa5, 0x49, 0xaa, 0x95, 0x61,
+  0x09, 0x17, 0xf2, 0xa4, 0x58, 0xcd, 0x8f, 0xf9, 0xf0, 0xb8, 0xbd, 0x2d, 0x5d, 0x07, 0x13, 0x01,
+  0xb9, 0xe8, 0x88, 0x1b, 0x4d, 0xa3, 0x97, 0xc2, 0xb5, 0xf2, 0x15, 0xe1, 0xaa, 0xf0, 0xfd, 0x17,
+  0x88, 0x5f, 0xb4, 0xcc, 0xa9, 0x30, 0x2f, 0x8f, 0xd9, 0x3f, 0x18, 0xf2, 0x8a, 0x9c, 0xd3, 0xba,
+  0x1c, 0x6f, 0xf2, 0x10, 0xb5, 0xa6, 0x69, 0x8a, 0x9d, 0xd7, 0x6f, 0xea, 0xcc, 0x4b, 0x05, 0x08,
+  0xb6, 0xff, 0x4f, 0xae, 0xa4, 0xec, 0x10, 0xef, 0x02, 0x35, 0xac, 0x6a, 0xe0, 0x67, 0x68, 0x7f,
+  0x2a, 0x3c, 0x7f, 0x4d, 0x30, 0x38, 0x59, 0x81, 0x0b, 0xc4, 0x1c, 0x8c, 0x80, 0x16, 0x0a, 0x94,
+  0x67, 0x0d, 0xf6, 0x6b, 0xe5, 0xaf, 0x0d, 0x05, 0x27, 0x41, 0x79, 0x33, 0xc0, 0x6b, 0x34, 0xa2,
+  0xb6, 0x22, 0x26, 0x20, 0xeb, 0xee, 0x33, 0x1c, 0x43, 0x7f, 0x4d, 0x5b, 0x97, 0x74, 0x49, 0x00,
+  0xbd, 0xd7, 0x91, 0xdd, 0xc9, 0xa1, 0x6f, 0xfc, 0x65, 0x1b, 0x18, 0x4c, 0xb6, 0x5c, 0xca, 0xe1,
+  0xe1, 0x53, 0xc3, 0xc5, 0xa3, 0x23, 0x28, 0xaa, 0xec, 0x83, 0xe2, 0xd7, 0xc4, 0xb3, 0x97, 0xf0,
+  0xc3, 0x4c, 0x91, 0x3d, 0x0f, 0xc0, 0x68, 0xd2, 0x33, 0x8a, 0xce, 0xee, 0xe8, 0x7f, 0xc3, 0x81,
+  0x9d, 0xf6, 0xc6, 0xd0, 0xe9, 0x01, 0xd4, 0x52, 0x6b, 0xb7, 0x56, 0xc1, 0x20, 0x3b, 0x11, 0x18,
+  0xc6, 0xd9, 0x44, 0x07, 0x22, 0xe4, 0x61, 0xa5, 0x48, 0x54, 0xff, 0xb4, 0x74, 0x68, 0x6c, 0x2e,
+  0x6a, 0x61, 0x00, 0xfa, 0x90, 0x58, 0x53, 0x42, 0x2b, 0xe9, 0x16, 0xf2, 0x35, 0x08, 0xbc, 0xbb,
+  0x0c, 0xca, 0x56, 0xf8, 0x50, 0xae, 0x15, 0xba, 0xa0, 0x80, 0x97, 0xf3, 0x0a, 0xe2, 0x11, 0xed,
+  0x7d, 0x24, 0xdc, 0xb5, 0xbe, 0xc0, 0xd8, 0xd5, 0x96, 0x83, 0xbc, 0xca, 0x6e, 0x0a, 0x82, 0x56,
+  0x84, 0x9c, 0x16, 0xc5, 0xbb, 0x7e, 0x54, 0x2e, 0x6a, 0xfa, 0x88, 0x4d, 0x32, 0xdb, 0x42, 0xb5,
+  0xa5, 0x01, 0xfc, 0x36, 0x50, 0x68, 0xdb, 0xc0, 0x7c, 0x20, 0x70, 0x34, 0x2f, 0x53, 0x09, 0x2c,
+  0xd7, 0xaa, 0x21, 0xa9, 0xa1, 0x37, 0x70, 0xe9, 0x83, 0x13, 0xb1, 0x7d, 0x8b, 0x16, 0x04, 0xd5,
+  0x92, 0x78, 0x83, 0xbc, 0x22, 0x25, 0xbc, 0xd1, 0x72, 0xee, 0x53, 0x3c, 0xf3, 0x5f, 0xa7, 0x78,
+  0xb9, 0xce, 0x03, 0xe0, 0xe4, 0xcf, 0x80, 0x94, 0xdc, 0x0d, 0xd8, 0x53, 0xc1, 0x83, 0xbd
+};
+
+UINT32 gPkNewRsa3072Sha256Size = sizeof(gPkNewRsa3072Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
new file mode 100644
index 0000000000..8e7c2d64f1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x53, 0x5f, 0x07, 0x58, 0x7a, 0x77, 0x36, 0x03, 0x4e, 0xa8, 0x30, 0x83,
+  0x5d, 0x9b, 0xad, 0x4a, 0x1d, 0x08, 0xd9, 0xc5, 0x95, 0x28, 0x81, 0xb9, 0x89, 0x62, 0x5b, 0x03,
+  0xf2, 0x2c, 0xf0, 0xf1, 0x86, 0x01, 0x13, 0x5d, 0xb6, 0xc2, 0x30, 0x93, 0xa3, 0x0f, 0x37, 0x24,
+  0x89, 0x60, 0xfd, 0x0b, 0x43, 0x84, 0x79, 0x21, 0xed, 0x57, 0x89, 0x7f, 0x63, 0xf0, 0xf2, 0x82,
+  0x01, 0x5d, 0x39, 0x8a, 0x1c, 0xe3, 0x37, 0xff, 0x92, 0xc2, 0xbd, 0x0e, 0x5a, 0x84, 0x05, 0xe2,
+  0x50, 0x11, 0x58, 0xec, 0x2f, 0x69, 0x3d, 0xbe, 0x14, 0xe2, 0x45, 0x36, 0x3b, 0x49, 0x1d, 0x10,
+  0xf2, 0x53, 0x99, 0x4f, 0x96, 0x05, 0x48, 0xba, 0xfe, 0xb5, 0x6e, 0xf4, 0x4f, 0x48, 0xc6, 0x82,
+  0xaa, 0x80, 0x31, 0x07, 0x42, 0x81, 0xdc, 0x37, 0xca, 0xd4, 0xaf, 0xd0, 0x7b, 0x29, 0xeb, 0x62,
+  0x7c, 0x98, 0x5a, 0xf2, 0x35, 0xaf, 0x75, 0x24, 0xad, 0x3d, 0x1e, 0xe8, 0xa8, 0xaa, 0xfd, 0x6a,
+  0xd6, 0x6e, 0xed, 0xdd, 0x00, 0x7e, 0x2c, 0x9a, 0x57, 0xbf, 0xd0, 0x41, 0x36, 0x18, 0x76, 0x9e,
+  0x29, 0x70, 0x88, 0xfd, 0x1e, 0x5f, 0x5f, 0xd7, 0x72, 0x1a, 0xda, 0xf4, 0xe8, 0x55, 0x7e, 0x2d,
+  0xf4, 0x9a, 0x43, 0x9b, 0x06, 0xcf, 0x28, 0x28, 0xd7, 0x00, 0x24, 0xf9, 0x9b, 0xc4, 0xa6, 0xa8,
+  0x6e, 0x6d, 0x3f, 0x16, 0x0e, 0x37, 0x56, 0x74, 0x02, 0x5c, 0x81, 0xae, 0x21, 0x1a, 0x44, 0xf3,
+  0x16, 0xbe, 0xf3, 0x60, 0xf8, 0x33, 0x34, 0xab, 0x21, 0xdb, 0x31, 0x56, 0xa6, 0x79, 0xdc, 0x2a,
+  0xcc, 0x6c, 0x57, 0x2c, 0xff, 0x56, 0x5d, 0xb8, 0x45, 0x86, 0xd5, 0xeb, 0x63, 0xc2, 0x0f, 0xc8,
+  0xb8, 0xc2, 0x17, 0x58, 0xf0, 0x5d, 0xc0, 0xc2, 0x4c, 0x18, 0x3d, 0x0f, 0x15, 0x05, 0x62, 0xca,
+  0x74, 0x85, 0x46, 0x43, 0x19, 0x7f, 0x55, 0xef, 0xa8, 0xbc, 0x74, 0x05, 0xbe, 0x50, 0x35, 0x83,
+  0x22, 0x6c, 0xa1, 0x8a, 0xf0, 0xe0, 0x3b, 0xac, 0x2a, 0xee, 0x40, 0x5b, 0x01, 0xbe, 0x34, 0x3a,
+  0x65, 0x3b, 0xde, 0x60, 0x90, 0x7b, 0x45, 0x79, 0x44, 0x24, 0xf6, 0x12, 0xf9, 0x04, 0x09, 0xec,
+  0x39, 0x95, 0x33, 0x0f, 0xb5, 0x77, 0x65, 0xb6, 0x1d, 0x00, 0xa2, 0x78, 0x4b, 0xc9, 0x9a, 0x76,
+  0xb0, 0x56, 0x94, 0xb8, 0xa1, 0xc1, 0xd9, 0x56, 0xe4, 0x74, 0xee, 0x2e, 0x16, 0x4d, 0xae, 0x40,
+  0xcf, 0xf1, 0xaa, 0x61, 0xac, 0x06, 0x3a, 0x3b, 0xe9, 0xf4, 0x09, 0x36, 0xa8, 0x0c, 0x42, 0x3b,
+  0x3e, 0x04, 0xd9, 0x4c, 0x75, 0xeb, 0x43, 0x41, 0x11, 0x5a, 0xb8, 0xff, 0x8d, 0xaf, 0x79, 0x50,
+  0xff, 0x72, 0xa6, 0xa4, 0xba, 0xde, 0xe0, 0x03, 0x96, 0xca, 0x55, 0x56, 0xfe, 0x91, 0x1f, 0xf6,
+  0x79, 0xbd, 0xa4, 0x9a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x34, 0x16, 0x1f, 0x52, 0x09, 0x02, 0x83, 0xf4, 0x74, 0x86, 0xf3, 0xf5, 0xbe, 0xe4, 0x7c, 0xec,
+  0xe3, 0x7d, 0x29, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x31, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x31,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x39, 0x0e, 0x96, 0x5e, 0xb8, 0x06, 0x19, 0xad, 0xf9, 0xfd, 0xcf, 0xcd, 0xc4, 0x8f,
+  0xd8, 0xd5, 0x8a, 0xc1, 0xdf, 0x84, 0x0c, 0x34, 0x4e, 0x0d, 0xf9, 0x60, 0x7c, 0xd5, 0xc1, 0x8e,
+  0xc1, 0x40, 0x52, 0xda, 0xc6, 0xd0, 0x41, 0x4f, 0xa7, 0x16, 0xc9, 0x97, 0x89, 0x8c, 0x5e, 0x7a,
+  0xea, 0x3e, 0xe9, 0xc0, 0x1e, 0x57, 0x21, 0xda, 0x94, 0x8b, 0xba, 0xd6, 0xcf, 0x3d, 0xb0, 0x28,
+  0x98, 0xa9, 0x61, 0xc4, 0x5b, 0xc3, 0xf5, 0x46, 0xfb, 0x3a, 0x57, 0xc1, 0x78, 0xa0, 0x1d, 0xd7,
+  0x35, 0x72, 0xb4, 0x37, 0xc8, 0xbe, 0xf0, 0xb3, 0x7d, 0xb7, 0xfb, 0x2f, 0x6a, 0x7a, 0x4e, 0x28,
+  0xb3, 0xe6, 0x79, 0xdc, 0xe0, 0xf7, 0x5f, 0x66, 0xa4, 0x56, 0x79, 0x8e, 0x2b, 0xa5, 0x06, 0xe2,
+  0x3d, 0x48, 0xb3, 0x4f, 0x7d, 0xba, 0x4a, 0x44, 0x33, 0xbb, 0x14, 0x13, 0x54, 0x90, 0x89, 0x80,
+  0xe9, 0x57, 0x43, 0xf7, 0xb1, 0x59, 0xec, 0xbf, 0x41, 0xe1, 0xf3, 0xb5, 0x19, 0xd1, 0x3d, 0x2b,
+  0x05, 0x66, 0x58, 0xb5, 0xcd, 0x2a, 0xfe, 0x54, 0xa0, 0x13, 0xe9, 0x89, 0x4c, 0xd1, 0xb8, 0xd3,
+  0xf3, 0xc9, 0x1c, 0xe4, 0xe4, 0xa4, 0x97, 0xc6, 0x55, 0x5b, 0x78, 0xb0, 0x4f, 0x90, 0x52, 0x82,
+  0x32, 0xd0, 0xc7, 0x0a, 0xa6, 0x25, 0xfb, 0xf1, 0x13, 0xfc, 0x78, 0xeb, 0x58, 0xd6, 0x33, 0x24,
+  0xc9, 0xa7, 0xb9, 0x14, 0x8f, 0x9d, 0x05, 0xbd, 0x44, 0x2e, 0x76, 0xb1, 0x00, 0x9e, 0x09, 0xd6,
+  0x4a, 0x17, 0x6c, 0x9c, 0xf4, 0xa2, 0xa6, 0xe7, 0x48, 0x96, 0x29, 0x6e, 0x62, 0x07, 0xd9, 0xd2,
+  0x84, 0x18, 0xd7, 0x3b, 0x29, 0x8d, 0x2d, 0x13, 0x88, 0xbd, 0xed, 0x78, 0x06, 0x5e, 0x8d, 0x4e,
+  0xb0, 0xed, 0xf7, 0x60, 0x4b, 0x81, 0x71, 0x6e, 0x31, 0x21, 0x95, 0x8f, 0xed, 0x05, 0x86, 0x49,
+  0xff, 0xc6, 0x66, 0xf6, 0xa5, 0xf2, 0x56, 0xb3, 0x1e, 0xb6, 0x25, 0xac, 0x2c, 0x0d, 0x43, 0xfb,
+  0xac, 0xa6, 0x49, 0xe7, 0xae, 0x05, 0x79, 0xd3, 0x98, 0xad, 0xdf, 0xae, 0x13, 0x7a, 0xd5, 0x78,
+  0x14, 0xcb, 0xe7, 0x66, 0x85, 0xf8, 0x50, 0x50, 0xd2, 0x60, 0xfa, 0x9d, 0x94, 0x71, 0x4e, 0x9a,
+  0xd7, 0x9e, 0x17, 0x06, 0xc2, 0x94, 0x07, 0xb7, 0xf7, 0x07, 0xf0, 0x23, 0x11, 0x50, 0x58, 0x16,
+  0x6e, 0x52, 0xcd, 0x83, 0x06, 0xfb, 0x33, 0x7b, 0x6f, 0x30, 0x01, 0x62, 0x0a, 0x63, 0x32, 0x2e,
+  0x99, 0xee, 0x26, 0xa2, 0x07, 0x02, 0x6b, 0x45, 0xd1, 0x46, 0x2c, 0xa1, 0x3f, 0x9b, 0xfe, 0x58,
+  0x20, 0xc8, 0xd8, 0x3e, 0xc5, 0xc0, 0x11, 0xa0, 0x30, 0xac, 0x0d, 0x6b, 0x4b, 0x45, 0xab, 0xca,
+  0x10, 0x66, 0x77, 0x35, 0x57, 0x72, 0x67, 0xc2, 0x99, 0xe9, 0x9b, 0xc7, 0x2a, 0x5c, 0x84, 0x8f,
+  0x55, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8, 0x70,
+  0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8,
+  0x70, 0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x91,
+  0x61, 0x62, 0xff, 0x17, 0xb7, 0x31, 0x14, 0x72, 0x53, 0x61, 0xc4, 0xfd, 0xc9, 0x45, 0xfa, 0x39,
+  0x58, 0x0c, 0x9a, 0xc0, 0x45, 0x50, 0xd3, 0xb1, 0x95, 0x85, 0x0e, 0x3c, 0xc7, 0xbe, 0xa2, 0x81,
+  0x99, 0x19, 0x9e, 0x80, 0xa6, 0x35, 0xa4, 0x56, 0x85, 0xea, 0x91, 0x2c, 0xf8, 0xd9, 0x4e, 0x7c,
+  0xf4, 0x59, 0x81, 0xd2, 0xb9, 0x85, 0xe0, 0x14, 0x6f, 0xd3, 0xfa, 0xb4, 0xf9, 0xcf, 0x4b, 0x9c,
+  0x81, 0x55, 0x67, 0xe9, 0x48, 0xee, 0x9e, 0xd8, 0x89, 0xe0, 0xba, 0x3e, 0x04, 0x86, 0x8e, 0x42,
+  0xf0, 0x72, 0x61, 0x76, 0xdb, 0x25, 0xea, 0x82, 0x2f, 0x78, 0xc6, 0x5a, 0xa9, 0xef, 0x85, 0x03,
+  0xb9, 0xa1, 0x66, 0x8e, 0xb2, 0xc0, 0xfe, 0xad, 0x6b, 0xda, 0x32, 0xd4, 0x85, 0x2a, 0xa6, 0xcd,
+  0xde, 0xce, 0xe1, 0x64, 0x5a, 0x09, 0x63, 0xf0, 0xf1, 0x68, 0x66, 0xa3, 0x41, 0x72, 0x67, 0xd2,
+  0x56, 0x1c, 0x53, 0x58, 0x4a, 0xd6, 0x8b, 0xfc, 0x15, 0xb5, 0x8b, 0xeb, 0x6d, 0x84, 0x37, 0x77,
+  0x42, 0xae, 0x9e, 0x21, 0x9c, 0x4b, 0x4b, 0x4e, 0x32, 0x78, 0x07, 0x81, 0x19, 0xf2, 0xce, 0x4c,
+  0xc4, 0xaf, 0xa3, 0xe7, 0x67, 0x4f, 0x8f, 0xd2, 0xda, 0x73, 0x7f, 0x87, 0xff, 0x57, 0xbf, 0x4a,
+  0x15, 0x98, 0x9c, 0xf1, 0x1c, 0x1f, 0x89, 0x91, 0x4c, 0xcf, 0xa8, 0xfb, 0x38, 0x73, 0xb7, 0xb6,
+  0xa1, 0x80, 0xb2, 0x39, 0xe6, 0x43, 0xbf, 0x4d, 0xb1, 0x4f, 0xbf, 0x4c, 0x13, 0x98, 0xa5, 0x52,
+  0xc7, 0x50, 0xe2, 0x17, 0xc7, 0x0b, 0xee, 0xcb, 0xa9, 0x3a, 0x93, 0xa1, 0x89, 0xb3, 0x39, 0x04,
+  0x4e, 0x75, 0xc6, 0x40, 0x18, 0x80, 0x95, 0xed, 0xd3, 0x79, 0x1c, 0xa2, 0xe2, 0x6e, 0x65, 0x85,
+  0xec, 0xbf, 0x62, 0xe5, 0x5b, 0xd3, 0x07, 0xf0, 0x6a, 0x43, 0xd5, 0xee, 0x2f, 0x3c, 0x43, 0x3e,
+  0x74, 0xdb, 0x2b, 0xec, 0x01, 0x50, 0xc9, 0x09, 0xf9, 0xeb, 0x39, 0xcc, 0x4d, 0x6a, 0x38, 0x15,
+  0xe6, 0x26, 0xb9, 0x32, 0xe2, 0xf4, 0x5f, 0x9d, 0xac, 0x52, 0x55, 0xe8, 0x73, 0xf4, 0x4b, 0xf3,
+  0xf5, 0x3b, 0x13, 0x44, 0x07, 0x2f, 0x5f, 0x3a, 0x45, 0x38, 0xd5, 0x2b, 0xce, 0x63, 0x41, 0x41,
+  0x9d, 0x04, 0x31, 0xa7, 0x31, 0x1e, 0x20, 0xfc, 0xd9, 0xab, 0x70, 0x4e, 0xd4, 0xc1, 0x75, 0xff,
+  0x76, 0xa8, 0x9c, 0x89, 0x00, 0xc3, 0xb9, 0x15, 0x30, 0xf4, 0xa0, 0x19, 0x1b, 0xab, 0xad, 0x41,
+  0x72, 0x75, 0x41, 0x26, 0x58, 0x8f, 0xe1, 0x33, 0xd5, 0xae, 0x2b, 0xf0, 0xb9, 0x6f, 0x3b, 0x35,
+  0x65, 0xde, 0x2a, 0x99, 0xed, 0xc3, 0x3f, 0xb0, 0xb6, 0x1d, 0xe9, 0x2f, 0x38, 0xc2, 0xf8, 0x57,
+  0xd4, 0xe0, 0x06, 0x24, 0x71, 0xe5, 0x90, 0xf5, 0xfc, 0x4d, 0x11, 0xa7, 0xb7, 0xfc, 0xb2
+};
+
+UINT32 gPkNewRsa3072Sha384Size = sizeof(gPkNewRsa3072Sha384);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
new file mode 100644
index 0000000000..5d59baf091
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x06, 0x6f, 0x06, 0xe8, 0xd0, 0xa6, 0x98, 0x26, 0x9f, 0xf2, 0xd2, 0xa8,
+  0x50, 0x96, 0xa1, 0x34, 0xe9, 0xd5, 0xcd, 0x31, 0x40, 0x78, 0x2f, 0x58, 0x80, 0xa3, 0xf9, 0x69,
+  0x9b, 0xd8, 0x81, 0xe2, 0x32, 0xa7, 0xa6, 0x52, 0xc4, 0xb4, 0x3b, 0xf6, 0xe8, 0x14, 0x38, 0xe8,
+  0x08, 0x8d, 0x96, 0x17, 0x05, 0x15, 0xc5, 0x80, 0x61, 0xd7, 0x43, 0x20, 0xdf, 0x90, 0x85, 0x4a,
+  0xaa, 0x18, 0x5b, 0xb5, 0x0e, 0xdc, 0xb6, 0x13, 0xbf, 0x6e, 0xe8, 0x1c, 0x15, 0xec, 0xea, 0xc1,
+  0x80, 0x96, 0xbd, 0x90, 0xdf, 0x52, 0x89, 0xfa, 0x12, 0xa4, 0xc4, 0xfc, 0xcb, 0xc6, 0x78, 0xea,
+  0xee, 0xff, 0x47, 0x9c, 0xa2, 0xd5, 0xaa, 0xe8, 0x06, 0x89, 0xe1, 0xdc, 0xcd, 0x91, 0x76, 0x61,
+  0x92, 0x8a, 0x2f, 0x88, 0xb5, 0x10, 0xd6, 0xa3, 0xbe, 0x0e, 0x9b, 0x6a, 0xbf, 0xdd, 0x5b, 0xdc,
+  0x8d, 0x81, 0x15, 0x84, 0x24, 0x92, 0x64, 0x37, 0x1b, 0x31, 0x7c, 0x4e, 0x88, 0x64, 0xd1, 0x99,
+  0xab, 0x57, 0xc5, 0xc5, 0x74, 0xe7, 0x03, 0x34, 0xf8, 0xc8, 0x0f, 0x05, 0x6f, 0xc6, 0x2c, 0x55,
+  0x82, 0x9b, 0xd5, 0xfd, 0x7e, 0x81, 0x74, 0x5e, 0xbe, 0xee, 0x6a, 0x3a, 0x3c, 0xae, 0x6a, 0x21,
+  0x47, 0x7b, 0x11, 0xb2, 0x7e, 0x84, 0xcb, 0x62, 0x7f, 0xbd, 0x47, 0x4a, 0xbe, 0x33, 0x95, 0xd0,
+  0x49, 0xf0, 0xfc, 0x4d, 0xdc, 0x56, 0x24, 0xa5, 0x13, 0xcc, 0x2f, 0x70, 0xeb, 0x04, 0x38, 0xd1,
+  0xe2, 0xa2, 0x4d, 0xbe, 0x00, 0x4e, 0xa4, 0xee, 0x08, 0x97, 0x56, 0xc4, 0x82, 0xfa, 0x41, 0x24,
+  0x5d, 0xf8, 0xa4, 0xfa, 0x44, 0xc6, 0x88, 0x63, 0x08, 0xc9, 0xc6, 0xd0, 0x07, 0xef, 0x02, 0x1a,
+  0x5e, 0x2a, 0x5f, 0x15, 0x67, 0x35, 0x7f, 0xcf, 0x07, 0x4f, 0x9c, 0xfb, 0x13, 0xe7, 0x79, 0x43,
+  0xa5, 0xd4, 0xc6, 0x20, 0x07, 0x86, 0x8d, 0xdf, 0x5e, 0x94, 0xf8, 0x91, 0xab, 0x05, 0xf1, 0xd6,
+  0x1c, 0x93, 0x1b, 0x33, 0xdb, 0x0f, 0x03, 0x35, 0xbf, 0x93, 0xc9, 0xb9, 0x35, 0x5f, 0x59, 0x50,
+  0xd7, 0xef, 0x23, 0x16, 0xdf, 0x83, 0x6a, 0x6a, 0x3a, 0xc0, 0xc6, 0x74, 0x80, 0xb3, 0x86, 0x83,
+  0xe7, 0xef, 0x08, 0x2d, 0x5a, 0x6c, 0xa9, 0xc7, 0x33, 0x07, 0xe4, 0x22, 0x0f, 0xdf, 0x1f, 0x15,
+  0x0c, 0x56, 0x01, 0xcf, 0x97, 0x50, 0x7e, 0x2c, 0xc5, 0xd4, 0xea, 0x2a, 0x4a, 0x95, 0xcb, 0x55,
+  0xa4, 0x7f, 0xaf, 0x7b, 0xad, 0x10, 0x84, 0x4f, 0x39, 0xbe, 0x19, 0x1a, 0x63, 0x19, 0x8e, 0x24,
+  0x38, 0xca, 0x5b, 0x2b, 0x02, 0x16, 0xa9, 0x29, 0xd0, 0x0c, 0x1b, 0x12, 0xd5, 0x44, 0x0f, 0x17,
+  0x4a, 0x77, 0x3e, 0x46, 0xaa, 0x17, 0x9f, 0xc6, 0xb6, 0x84, 0x73, 0x82, 0x4d, 0xdc, 0x35, 0x3e,
+  0xa3, 0x57, 0x08, 0x89, 0x6a, 0x12, 0x03, 0xd6, 0xc2, 0xb4, 0x3b, 0xae, 0xfe, 0xa0, 0x39, 0x92,
+  0x34, 0xf4, 0x4c, 0x1a, 0x12, 0x96, 0xae, 0xf5, 0x51, 0x27, 0xf6, 0x2b, 0x2e, 0x9a, 0x9a, 0x18,
+  0xd5, 0x77, 0xf0, 0x73, 0x7c, 0x2f, 0x8d, 0xbd, 0x9f, 0xec, 0x15, 0x92, 0x58, 0x5f, 0x69, 0x97,
+  0x23, 0x02, 0x1f, 0xe1, 0x42, 0xb4, 0x55, 0x94, 0x92, 0x89, 0x7a, 0xaf, 0x52, 0x86, 0x4f, 0x70,
+  0x65, 0x6c, 0x84, 0x24, 0x93, 0xc0, 0xac, 0x1b, 0x45, 0xf7, 0x4a, 0x20, 0x9e, 0xc0, 0x00, 0x6b,
+  0x93, 0x97, 0x20, 0xc7, 0x6f, 0x3d, 0x48, 0xd0, 0xe3, 0x21, 0x2e, 0xb7, 0x94, 0x16, 0xb7, 0xa4,
+  0x29, 0xb3, 0xe3, 0x07, 0x7e, 0x3b, 0xc3, 0x1a, 0x89, 0xee, 0x5b, 0xeb, 0xb8, 0x83, 0xb5, 0x15,
+  0xb5, 0x7a, 0xee, 0xec, 0x94, 0x34, 0x8b, 0x88, 0xde, 0x83, 0x70, 0xaa, 0x3b, 0xfc, 0xd3, 0xcc,
+  0x2f, 0xad, 0x35, 0xd4, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0f,
+  0x71, 0x2e, 0x15, 0x55, 0x8b, 0x4a, 0xc1, 0x31, 0x73, 0x6b, 0x12, 0x3a, 0xbd, 0x29, 0x5d, 0x7b,
+  0xac, 0x57, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x38, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x38,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb5, 0x96, 0xc3, 0x48, 0xea, 0x90, 0xb8, 0x77, 0x42, 0xea, 0x55, 0x12, 0x15, 0x58, 0x91,
+  0x8e, 0x09, 0xae, 0xf5, 0x5c, 0xf6, 0x1a, 0x64, 0x62, 0xa5, 0xc0, 0xf0, 0x54, 0x60, 0xa0, 0xa6,
+  0x9c, 0x11, 0xa8, 0x62, 0x25, 0xa5, 0x6e, 0x0e, 0xc2, 0x3f, 0x90, 0xbe, 0xe2, 0x10, 0xcd, 0x98,
+  0xc1, 0xc9, 0x35, 0x39, 0x62, 0x0b, 0x50, 0x04, 0x4c, 0xc9, 0xe4, 0x31, 0x1d, 0xd8, 0xde, 0x9d,
+  0x49, 0xeb, 0x68, 0x67, 0xae, 0x75, 0x84, 0x88, 0xff, 0x9d, 0xc8, 0xab, 0x36, 0x40, 0x92, 0x3f,
+  0x50, 0x6c, 0x80, 0x93, 0x06, 0xd7, 0xb7, 0x1d, 0xb4, 0x02, 0xe2, 0x43, 0xd0, 0x04, 0xe3, 0x8f,
+  0xc5, 0xc2, 0xdd, 0x92, 0xaf, 0xb7, 0xc2, 0x46, 0xdc, 0x3a, 0x42, 0xa2, 0x93, 0xbb, 0x57, 0x72,
+  0x2b, 0x7c, 0xf4, 0x30, 0x86, 0x01, 0x85, 0x1a, 0xe1, 0xb0, 0x57, 0xc3, 0xe0, 0xe5, 0xb2, 0xe1,
+  0xcc, 0x72, 0xbb, 0xe7, 0xef, 0x38, 0xb0, 0xf9, 0x22, 0x05, 0xeb, 0x49, 0xbe, 0xe4, 0x3b, 0x1a,
+  0xc5, 0xe0, 0xa3, 0xb4, 0x3a, 0xcf, 0xa5, 0xcc, 0x53, 0x1c, 0x5a, 0x1f, 0x69, 0x76, 0x23, 0x6e,
+  0xcd, 0x3c, 0x96, 0xae, 0x8e, 0xda, 0x18, 0xec, 0xc4, 0x8e, 0x30, 0x87, 0x09, 0xbb, 0x00, 0xf0,
+  0x36, 0x3a, 0x59, 0x48, 0x09, 0x83, 0xab, 0x2e, 0x7c, 0x07, 0xef, 0xdc, 0x02, 0x2c, 0xde, 0x85,
+  0x0b, 0xe4, 0xd2, 0xe6, 0x1d, 0x51, 0x89, 0x43, 0x60, 0x43, 0x3c, 0x57, 0x61, 0x05, 0x5f, 0x6b,
+  0x3c, 0x5c, 0x4f, 0xef, 0x9f, 0xba, 0xed, 0xa5, 0xfa, 0xfd, 0xf4, 0x25, 0xa9, 0x61, 0xc6, 0x28,
+  0x13, 0x23, 0xaa, 0x63, 0xf4, 0xbe, 0xae, 0x7e, 0x10, 0x57, 0x55, 0xcd, 0x5a, 0xde, 0xb3, 0x1f,
+  0x2d, 0x97, 0x03, 0xc1, 0x85, 0xdb, 0xf7, 0xdf, 0xc4, 0x78, 0x6e, 0x26, 0xa8, 0x47, 0xd5, 0xd5,
+  0x09, 0x16, 0x5d, 0x6d, 0x7e, 0xc1, 0x4f, 0x98, 0x53, 0xe2, 0x76, 0x09, 0xe0, 0x38, 0xcf, 0xa0,
+  0x93, 0xd3, 0x20, 0x50, 0xeb, 0x4f, 0xff, 0xa4, 0x03, 0xbf, 0x6f, 0xe0, 0x91, 0x51, 0x00, 0x52,
+  0x1a, 0xe7, 0x40, 0x03, 0xa7, 0xd2, 0xa6, 0x89, 0xb1, 0x78, 0xc4, 0xfd, 0xc5, 0xbf, 0x69, 0x9b,
+  0x42, 0xbd, 0x75, 0x28, 0x5e, 0xa9, 0x73, 0xb8, 0xdf, 0x81, 0x12, 0xfe, 0x89, 0x61, 0x97, 0x1d,
+  0x4b, 0x9a, 0x9a, 0xc1, 0x76, 0x34, 0x6a, 0x51, 0x6b, 0xf9, 0x0e, 0x75, 0xfd, 0x12, 0xdd, 0xe4,
+  0x82, 0x1b, 0x6b, 0xbb, 0x89, 0xf4, 0x03, 0xa8, 0xc9, 0xea, 0x97, 0x78, 0xfc, 0xa2, 0xa9, 0xb5,
+  0xad, 0x21, 0xc3, 0x15, 0xe0, 0x26, 0x37, 0x17, 0x81, 0x11, 0x14, 0x39, 0x25, 0x5f, 0xb4, 0x1f,
+  0x97, 0x35, 0xef, 0x40, 0xf9, 0x41, 0xaa, 0xf1, 0x36, 0xfd, 0xcf, 0x19, 0xf2, 0xb7, 0xf2, 0xbb,
+  0x9f, 0xb8, 0x43, 0xbc, 0x93, 0x61, 0x29, 0xb4, 0xee, 0x62, 0x41, 0xd9, 0x79, 0x87, 0x00, 0xea,
+  0x69, 0x6d, 0x7c, 0xeb, 0xb3, 0x55, 0x0c, 0x23, 0xa5, 0xb0, 0x73, 0x57, 0x1e, 0x16, 0x74, 0x23,
+  0x6d, 0xb7, 0x74, 0x92, 0x14, 0xa0, 0x4b, 0x75, 0x99, 0x97, 0xbb, 0x0f, 0xe3, 0xae, 0xe2, 0xfd,
+  0xa5, 0x23, 0x98, 0x4d, 0x61, 0xde, 0x5e, 0xd0, 0x27, 0x6f, 0xc3, 0x89, 0xe9, 0xea, 0x01, 0x09,
+  0x2b, 0x74, 0x64, 0x7b, 0x89, 0xc5, 0xe6, 0xa4, 0x26, 0x13, 0xf2, 0x3c, 0xa1, 0x9f, 0x40, 0xe3,
+  0xcf, 0x00, 0xe0, 0x92, 0x38, 0xee, 0xe5, 0x62, 0xb1, 0x3b, 0xc3, 0x5b, 0xbe, 0xf3, 0xee, 0x20,
+  0x41, 0xaf, 0x56, 0x66, 0xfa, 0x0c, 0x68, 0xc8, 0x3d, 0x52, 0x13, 0xcb, 0xab, 0x86, 0xbf, 0x54,
+  0x8b, 0x3f, 0xf3, 0x1f, 0xc2, 0xc2, 0xf9, 0xe4, 0xdf, 0x32, 0x2a, 0xb4, 0x1b, 0x83, 0x5f, 0xe6,
+  0x31, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19, 0x6c,
+  0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19,
+  0x6c, 0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x34,
+  0xa1, 0xf6, 0xaa, 0xb3, 0x23, 0xe4, 0x50, 0x14, 0x36, 0xb2, 0x15, 0x1e, 0xbc, 0x52, 0x6d, 0x8b,
+  0x64, 0x95, 0x37, 0x2c, 0x73, 0x1a, 0x7e, 0x78, 0x5c, 0x83, 0x15, 0x09, 0xc0, 0xaf, 0x46, 0x6c,
+  0x11, 0xf5, 0x99, 0x9e, 0x69, 0x10, 0x11, 0x70, 0x81, 0x35, 0xa0, 0xef, 0x55, 0x3e, 0xa3, 0x17,
+  0x12, 0xdc, 0x55, 0x88, 0x5d, 0xb8, 0xe9, 0x89, 0xdf, 0x78, 0xaa, 0x5e, 0x14, 0x5d, 0x44, 0x46,
+  0x1e, 0x6b, 0xbc, 0xfa, 0x42, 0x07, 0x74, 0x26, 0xb5, 0x41, 0xad, 0xf8, 0x5f, 0xbb, 0x62, 0xfd,
+  0x86, 0xd5, 0xe0, 0x3d, 0x6f, 0xb2, 0x7f, 0x81, 0x65, 0x41, 0x65, 0xd6, 0x57, 0xc9, 0x61, 0x6c,
+  0x78, 0x90, 0xa9, 0x75, 0x6e, 0xbf, 0xc6, 0xed, 0xdc, 0x72, 0x37, 0x93, 0xd2, 0xb9, 0x64, 0xe1,
+  0xa0, 0x41, 0x66, 0x86, 0x8a, 0x9a, 0xae, 0x14, 0x3e, 0x5e, 0x19, 0x4a, 0xaa, 0xd2, 0xff, 0xa6,
+  0xd3, 0xac, 0x73, 0xbf, 0x6b, 0x5a, 0x38, 0x1b, 0xd9, 0x32, 0x02, 0xab, 0x70, 0xe2, 0xa5, 0x73,
+  0x9f, 0x8b, 0xab, 0xed, 0xe4, 0x0b, 0xb4, 0xfd, 0x8e, 0x45, 0xc4, 0x2d, 0xa7, 0xb0, 0x5e, 0x0a,
+  0xc7, 0x97, 0x6b, 0x91, 0x78, 0x3b, 0x90, 0x16, 0x10, 0xb3, 0xf9, 0x06, 0xfa, 0x1e, 0xc1, 0xfc,
+  0xc3, 0x15, 0x04, 0x90, 0xe9, 0x46, 0x94, 0xe6, 0xe9, 0x70, 0x12, 0x35, 0x36, 0xdc, 0xad, 0x7f,
+  0x59, 0x34, 0x91, 0xf7, 0x23, 0xe9, 0x4c, 0x39, 0x6e, 0xe9, 0x63, 0x72, 0x55, 0x1b, 0xbc, 0x91,
+  0xec, 0x1a, 0x66, 0x48, 0xa6, 0x84, 0xa2, 0x7f, 0xe7, 0x35, 0x49, 0xea, 0xe0, 0x85, 0x55, 0x9c,
+  0xee, 0xfa, 0x64, 0xfe, 0xb0, 0x34, 0x99, 0x3b, 0x84, 0xe1, 0x13, 0x19, 0xeb, 0x89, 0x40, 0xb3,
+  0x56, 0x0d, 0xdc, 0xe9, 0x63, 0xdc, 0x0b, 0x70, 0xc9, 0x9c, 0x46, 0xb5, 0x18, 0x0f, 0x85, 0xda,
+  0x31, 0x11, 0x8a, 0x54, 0x6a, 0x2e, 0x2e, 0x62, 0x93, 0x1c, 0xef, 0xdc, 0x12, 0x77, 0xe9, 0x93,
+  0xcc, 0x40, 0xb3, 0x43, 0x0d, 0x7c, 0x27, 0x12, 0x81, 0x57, 0x81, 0x4c, 0x07, 0xda, 0x2b, 0x99,
+  0xb6, 0xb1, 0xef, 0x93, 0x0e, 0xff, 0x26, 0x83, 0xd3, 0xb7, 0x43, 0xa4, 0x59, 0x64, 0x23, 0xe1,
+  0xde, 0x9a, 0xf1, 0xf9, 0xf6, 0xba, 0x10, 0x3c, 0x25, 0x22, 0x7e, 0x0a, 0x2f, 0x49, 0x29, 0xa9,
+  0xd3, 0x17, 0x03, 0x7d, 0x63, 0x39, 0x11, 0x51, 0x68, 0x8d, 0x92, 0xf8, 0x8c, 0xf4, 0xfc, 0x0d,
+  0xe1, 0x9e, 0xbc, 0x67, 0x08, 0x3f, 0xf8, 0xb4, 0x0d, 0x4d, 0xc5, 0x02, 0xdd, 0x4c, 0xa8, 0x86,
+  0x70, 0x3a, 0x73, 0x60, 0xe1, 0x40, 0xc4, 0x7f, 0xe6, 0xb8, 0xf5, 0xac, 0xd8, 0xcc, 0xed, 0x14,
+  0x0f, 0x5e, 0x02, 0xbb, 0x7e, 0x50, 0x7d, 0xd3, 0x45, 0xf5, 0x26, 0x59, 0x83, 0x3d, 0xb5, 0x23,
+  0xe5, 0xab, 0xb4, 0xd0, 0xfe, 0x52, 0xeb, 0xfd, 0x96, 0x3d, 0x8b, 0x7d, 0x80, 0x58, 0xcb, 0x98,
+  0xe9, 0x13, 0x7c, 0x8d, 0x33, 0x26, 0x3d, 0x34, 0x29, 0x9f, 0x2c, 0x36, 0xca, 0xe2, 0x2c, 0x4d,
+  0x7a, 0x1f, 0x2e, 0x4d, 0x63, 0x57, 0xda, 0xdd, 0x99, 0x1f, 0x94, 0x7c, 0xe3, 0x41, 0x2f, 0x84,
+  0x57, 0xfe, 0x10, 0x39, 0x4b, 0x73, 0xe6, 0xe2, 0xb1, 0xc9, 0xe0, 0xbc, 0x60, 0x2c, 0xe1, 0xe3,
+  0x93, 0xc3, 0x2f, 0xb9, 0x65, 0x40, 0x6c, 0xcb, 0x7a, 0xef, 0xe5, 0x45, 0xf4, 0x68, 0x7a, 0x94,
+  0xff, 0xe2, 0x15, 0xee, 0x77, 0x4c, 0xa3, 0x53, 0x84, 0x41, 0xb0, 0xe7, 0x29, 0x1e, 0x88, 0x6e,
+  0xc7, 0x69, 0x79, 0x01, 0x62, 0xd1, 0x5e, 0xa7, 0xb2, 0x40, 0xab, 0x71, 0x2c, 0x3d, 0x9b, 0xe1,
+  0xb4, 0xa1, 0xc9, 0xda, 0x05, 0xd1, 0xfb, 0x19, 0x3c, 0x22, 0x26, 0x20, 0x4e, 0xdf, 0x45
+};
+
+UINT32 gPkNewRsa4096Sha256Size = sizeof(gPkNewRsa4096Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
new file mode 100644
index 0000000000..be0bfc5032
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x1c, 0x11, 0x07, 0x0c, 0xb8, 0xdb, 0x8f, 0x18, 0x8f, 0xac, 0x12, 0xc9,
+  0x31, 0xea, 0x4f, 0x7e, 0x57, 0xe6, 0xd5, 0x8f, 0x5c, 0xf8, 0x7f, 0x2f, 0xff, 0x14, 0x49, 0x4c,
+  0x0b, 0xef, 0xa1, 0x56, 0x92, 0x99, 0x4f, 0x5e, 0xc2, 0xb2, 0x79, 0x58, 0x84, 0xb3, 0x55, 0xff,
+  0x5d, 0x6e, 0x87, 0x44, 0x20, 0xad, 0x7a, 0xc9, 0xe5, 0xb1, 0x4b, 0x2b, 0xff, 0x95, 0x53, 0xbc,
+  0xff, 0x0d, 0xb1, 0xbb, 0x87, 0x06, 0xf1, 0x1d, 0xea, 0xc9, 0x88, 0x1b, 0x85, 0xe8, 0xe9, 0x87,
+  0xff, 0x12, 0xf9, 0xea, 0x69, 0x15, 0x4a, 0x1d, 0x58, 0x93, 0xed, 0x03, 0xfe, 0x9c, 0x27, 0x8e,
+  0x1d, 0xfd, 0x18, 0x20, 0x1c, 0x5d, 0x82, 0xd7, 0x4d, 0x97, 0x1a, 0xa6, 0x0a, 0x6b, 0x17, 0x8b,
+  0xab, 0xaa, 0x78, 0x82, 0xdd, 0x4a, 0xec, 0x95, 0xaa, 0x0f, 0x12, 0x40, 0x4d, 0xad, 0xf1, 0x11,
+  0xbf, 0x59, 0x09, 0x4a, 0x42, 0x55, 0xa6, 0x65, 0xb8, 0x75, 0x83, 0xdb, 0x19, 0x50, 0x82, 0x66,
+  0xf6, 0xaf, 0x72, 0xb2, 0x39, 0x72, 0xad, 0x92, 0x45, 0xdf, 0x93, 0x88, 0xe0, 0x0b, 0xe6, 0x62,
+  0x4d, 0x21, 0x05, 0x92, 0xf1, 0x12, 0x5f, 0x1a, 0xbe, 0x14, 0xd4, 0x78, 0x66, 0x48, 0xa8, 0xa5,
+  0xb5, 0xf5, 0x84, 0x42, 0xad, 0x82, 0xc7, 0x75, 0xce, 0x4b, 0xed, 0x1b, 0xc4, 0x3b, 0x80, 0xa8,
+  0x75, 0x42, 0xef, 0xb7, 0x8b, 0x37, 0xa7, 0x82, 0xd2, 0x21, 0xae, 0x8f, 0x95, 0xf4, 0xbc, 0xbf,
+  0x1d, 0xfc, 0x34, 0x44, 0x17, 0x35, 0x1b, 0xc3, 0x4b, 0x1d, 0x2b, 0x85, 0xc3, 0x86, 0x8d, 0xb4,
+  0x63, 0x56, 0x2d, 0x3a, 0xfc, 0x22, 0x30, 0xb3, 0xc1, 0x8b, 0x3b, 0xc6, 0x5c, 0x8a, 0x3d, 0x91,
+  0x99, 0x21, 0x97, 0x10, 0xba, 0xd0, 0x8d, 0x7b, 0x28, 0x35, 0xcd, 0x4a, 0xa0, 0x1b, 0xcd, 0x3c,
+  0x6f, 0xb3, 0xe7, 0x3e, 0x51, 0xa0, 0xf8, 0xb1, 0xd9, 0xe5, 0xe3, 0xfb, 0x44, 0xaa, 0xdb, 0x88,
+  0xf5, 0x65, 0xea, 0xd8, 0x80, 0xf7, 0x40, 0x4e, 0xb4, 0xa8, 0x47, 0x7f, 0x50, 0xa1, 0xe1, 0x88,
+  0x5d, 0x13, 0xc9, 0x2c, 0x09, 0x63, 0x51, 0x70, 0x1e, 0xa8, 0x9e, 0x8f, 0xee, 0x40, 0x1a, 0x68,
+  0x13, 0x05, 0x6a, 0xb1, 0xa9, 0x5d, 0x91, 0x06, 0x03, 0xf2, 0x94, 0x0c, 0x21, 0xe8, 0x0c, 0xc0,
+  0x73, 0x1c, 0x76, 0x15, 0x80, 0xe5, 0x63, 0xce, 0xc0, 0x20, 0x58, 0x75, 0xde, 0xaf, 0x34, 0x73,
+  0xff, 0x59, 0x20, 0x7b, 0x2e, 0xc2, 0xc8, 0x5d, 0xcf, 0x1e, 0x84, 0x11, 0x56, 0x79, 0x8e, 0x76,
+  0xe8, 0x11, 0xff, 0xeb, 0x0e, 0x68, 0x36, 0x6c, 0x2a, 0x93, 0xde, 0x7c, 0xe0, 0x3b, 0x9b, 0x73,
+  0x87, 0x82, 0x2e, 0x56, 0xfb, 0x8f, 0x58, 0x4c, 0x6c, 0x0c, 0x1f, 0xf3, 0x47, 0xe7, 0x05, 0xaa,
+  0x85, 0x61, 0x02, 0x7e, 0x88, 0x78, 0xc0, 0xfb, 0x4f, 0xe9, 0xb7, 0x00, 0xdb, 0x5b, 0x6b, 0x0f,
+  0x2e, 0xa2, 0xc1, 0x19, 0xea, 0x0a, 0x49, 0x63, 0x07, 0x7a, 0x9a, 0x09, 0x2c, 0x82, 0x28, 0x85,
+  0xe6, 0x8f, 0x76, 0x1c, 0xc2, 0xba, 0xb7, 0x1c, 0x4e, 0x2c, 0xcd, 0xd3, 0xe4, 0x27, 0xf8, 0x81,
+  0x5b, 0xbf, 0x51, 0x17, 0x03, 0x14, 0xa0, 0x70, 0xe5, 0x3d, 0x12, 0x66, 0x4f, 0xa3, 0xb1, 0x88,
+  0x77, 0xfd, 0x34, 0x9f, 0xc7, 0x94, 0xc4, 0x85, 0xc9, 0x43, 0x34, 0x22, 0x0a, 0x40, 0x80, 0xbd,
+  0xd9, 0xdf, 0xa3, 0xf3, 0xc6, 0x39, 0x15, 0xbe, 0x92, 0x54, 0xd3, 0x7a, 0x46, 0xd0, 0x11, 0xac,
+  0x13, 0x70, 0x05, 0xc8, 0xca, 0xcb, 0xad, 0x31, 0xcc, 0xb5, 0x6c, 0xb8, 0x66, 0xab, 0x8a, 0x87,
+  0xd5, 0x04, 0x26, 0x8e, 0x51, 0x88, 0x42, 0x7d, 0xc9, 0x71, 0x42, 0xcd, 0x11, 0x5e, 0x6d, 0xf1,
+  0xb2, 0xfd, 0x3d, 0x52, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0xf1, 0x26, 0x06, 0x11, 0xd9, 0x7a, 0xc4, 0xf3, 0x97, 0x36, 0xde, 0x6d, 0x9a, 0xa4, 0xde, 0xeb,
+  0x03, 0x3e, 0x70, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0x97, 0x6d, 0x00, 0x5e, 0xb1, 0x15, 0x9b, 0x3a, 0xaf, 0x49, 0xc9, 0x5a, 0xdf, 0xce, 0x14,
+  0x58, 0xa3, 0x8c, 0xbf, 0x01, 0x16, 0x87, 0xbd, 0xe8, 0x2e, 0x34, 0x96, 0x74, 0xc5, 0xd1, 0x35,
+  0x30, 0x9e, 0xbc, 0x25, 0x2e, 0x28, 0xf5, 0xaf, 0xaa, 0xbc, 0x3a, 0x20, 0x14, 0xc3, 0xc4, 0x1a,
+  0x5e, 0x46, 0x8c, 0x1e, 0xd3, 0x3c, 0x54, 0x60, 0xa5, 0x9e, 0x67, 0xf5, 0xca, 0x27, 0xc4, 0x21,
+  0x33, 0xa9, 0xaa, 0x4e, 0xdc, 0xa9, 0x12, 0xb4, 0xf5, 0x37, 0xba, 0xcf, 0xee, 0x2e, 0x04, 0x95,
+  0x8c, 0x36, 0x0b, 0x8c, 0x4a, 0xda, 0xb9, 0x17, 0xf3, 0x14, 0xd2, 0x5f, 0x2d, 0xd5, 0x9e, 0x54,
+  0x77, 0xa4, 0x62, 0x6e, 0x3b, 0x64, 0x71, 0x98, 0xe7, 0x2f, 0x37, 0xdf, 0xbb, 0x15, 0xb6, 0xf9,
+  0xb7, 0xaf, 0x4a, 0xf4, 0xcf, 0xb0, 0x8c, 0x14, 0x0c, 0x20, 0xc8, 0x70, 0x68, 0x8d, 0x6a, 0x10,
+  0x8b, 0x2e, 0x70, 0xc3, 0xc1, 0x1e, 0x9c, 0xd4, 0xa7, 0x80, 0x21, 0xda, 0xac, 0x41, 0x75, 0x23,
+  0xb2, 0x5e, 0xa2, 0x5e, 0xfd, 0x2c, 0x94, 0x10, 0x0a, 0xfb, 0xe7, 0x6e, 0x77, 0x99, 0x60, 0x6f,
+  0xc8, 0x51, 0x38, 0xf5, 0xdb, 0xe1, 0x38, 0x43, 0x50, 0x6b, 0x18, 0xde, 0x37, 0xc2, 0xe1, 0x88,
+  0x62, 0x3e, 0xac, 0xc4, 0x40, 0xc6, 0x57, 0x1d, 0xe0, 0x56, 0xad, 0x30, 0x58, 0x7d, 0xbb, 0x4b,
+  0x1d, 0x73, 0x18, 0x80, 0xaf, 0x77, 0x98, 0x17, 0x87, 0x67, 0x47, 0x41, 0xb6, 0x55, 0x10, 0x9b,
+  0x80, 0x33, 0x14, 0x46, 0x5d, 0xa0, 0xb2, 0xca, 0x9b, 0xc8, 0xac, 0x19, 0x2b, 0x2e, 0xe8, 0x8a,
+  0x08, 0x9e, 0xae, 0x47, 0xeb, 0x20, 0x7c, 0xaa, 0x56, 0xb8, 0x44, 0x5e, 0xdc, 0x74, 0x56, 0x6b,
+  0x42, 0x14, 0xf9, 0xb0, 0x09, 0xf2, 0x89, 0xad, 0xc4, 0xda, 0x07, 0x5a, 0xe5, 0xf0, 0xe3, 0x0e,
+  0x27, 0x31, 0x79, 0x5f, 0x63, 0x4c, 0xad, 0x7d, 0x7a, 0xd2, 0xf8, 0x79, 0x6f, 0x05, 0x22, 0x20,
+  0x19, 0x98, 0x22, 0x63, 0xef, 0x33, 0x90, 0x32, 0xbb, 0x87, 0x0d, 0x77, 0x90, 0x4c, 0xb8, 0x5d,
+  0x34, 0x2b, 0xda, 0x3b, 0xb9, 0x5e, 0xc6, 0xab, 0x35, 0x38, 0x69, 0xd3, 0xf9, 0xd9, 0xac, 0x29,
+  0x39, 0x59, 0xea, 0x30, 0xa4, 0xed, 0x26, 0x91, 0xd3, 0xe3, 0x74, 0x73, 0x4f, 0x0d, 0x1e, 0xbd,
+  0xe2, 0x66, 0x67, 0xa3, 0x90, 0x3d, 0x34, 0x4e, 0x07, 0x39, 0x19, 0x78, 0x30, 0x24, 0xff, 0x41,
+  0x1d, 0x3e, 0x75, 0x03, 0xdd, 0x5b, 0xf8, 0xea, 0xe4, 0x8c, 0x2e, 0xdd, 0x47, 0x5f, 0x42, 0x15,
+  0xe4, 0x0e, 0x21, 0x6b, 0xe1, 0x4c, 0xf5, 0x78, 0x17, 0x92, 0xb2, 0xba, 0xc2, 0x12, 0x3d, 0x1f,
+  0x81, 0xdd, 0x62, 0x14, 0xc9, 0xd0, 0xc8, 0x8f, 0x74, 0xe2, 0x46, 0x8d, 0x6f, 0xa2, 0x77, 0x6a,
+  0x96, 0xd2, 0x42, 0xc3, 0x6c, 0x95, 0x9a, 0x13, 0xda, 0x4f, 0x2f, 0x32, 0x2d, 0x90, 0x28, 0x1d,
+  0xbc, 0xda, 0x54, 0x87, 0xe7, 0xa9, 0x93, 0xdd, 0x8c, 0x9b, 0xe1, 0x54, 0xba, 0x27, 0x0a, 0x55,
+  0x05, 0x64, 0x06, 0xc2, 0x37, 0x5b, 0x07, 0x03, 0x9b, 0xc6, 0xd7, 0x60, 0x02, 0xea, 0xc5, 0x0e,
+  0xb1, 0x75, 0x34, 0xb2, 0x18, 0xb8, 0x65, 0x40, 0x1d, 0x60, 0x02, 0xd1, 0x33, 0xfc, 0x76, 0x46,
+  0x87, 0x6e, 0x33, 0xde, 0x21, 0x06, 0x21, 0x2b, 0xf3, 0x4a, 0x7a, 0xd1, 0xaf, 0xa0, 0x65, 0x83,
+  0x94, 0x60, 0x4f, 0xee, 0x2c, 0x26, 0xa1, 0x03, 0xdb, 0x5d, 0x34, 0x30, 0x36, 0x43, 0x28, 0x24,
+  0xa4, 0xb8, 0x97, 0x93, 0xe3, 0xb3, 0x21, 0x31, 0x3a, 0x84, 0x38, 0xe6, 0xe7, 0x6f, 0xbd, 0xd4,
+  0x47, 0xba, 0xfe, 0x36, 0xe4, 0xe2, 0x9b, 0xd4, 0x15, 0x93, 0xb5, 0x6b, 0xdc, 0x6f, 0xb9, 0x89,
+  0x3f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f, 0x34,
+  0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f,
+  0x34, 0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x18,
+  0x60, 0x10, 0xaa, 0x2b, 0x44, 0x90, 0xd1, 0xdc, 0x45, 0x1d, 0xfc, 0xca, 0x3a, 0x5b, 0x8e, 0xb0,
+  0x29, 0x85, 0x46, 0x8c, 0x0e, 0xbe, 0x65, 0x81, 0xf5, 0x4c, 0xcc, 0xd8, 0x31, 0xc0, 0x90, 0x78,
+  0xa6, 0x26, 0xa7, 0xd2, 0x34, 0x7e, 0xbf, 0x57, 0x5f, 0xa1, 0x27, 0x0e, 0xf9, 0x39, 0xf8, 0x1c,
+  0x06, 0xff, 0xfd, 0x66, 0x4d, 0x50, 0x52, 0x25, 0x83, 0x72, 0xe8, 0x87, 0xd5, 0x93, 0x23, 0x33,
+  0x5e, 0xc5, 0x12, 0x68, 0xb4, 0x85, 0xbb, 0xc2, 0xca, 0x96, 0xb7, 0x83, 0xf2, 0xc7, 0xfb, 0x35,
+  0xf7, 0x76, 0x85, 0x0c, 0xce, 0xc5, 0xc6, 0x76, 0xc0, 0x10, 0x1b, 0x9a, 0x6f, 0x03, 0x6d, 0x41,
+  0x01, 0xa8, 0x23, 0xab, 0x54, 0x10, 0x38, 0x3d, 0x33, 0x5b, 0x45, 0xb6, 0xbd, 0x91, 0x98, 0x9d,
+  0x59, 0x17, 0xea, 0x85, 0x68, 0x16, 0x1a, 0xa0, 0xec, 0x68, 0x43, 0x46, 0x40, 0xdb, 0xc9, 0x71,
+  0x20, 0xc8, 0x43, 0xa2, 0xc1, 0x7f, 0x54, 0x01, 0xa6, 0x50, 0x49, 0xc0, 0x03, 0x22, 0xd2, 0x2f,
+  0x10, 0xf7, 0xbf, 0x71, 0x9a, 0xe8, 0x50, 0xa7, 0xb2, 0x3e, 0x64, 0x1c, 0xfd, 0xa5, 0x7e, 0x7e,
+  0x75, 0x43, 0xab, 0xf1, 0x49, 0x06, 0x56, 0x72, 0xa4, 0x17, 0xe4, 0x13, 0xae, 0x93, 0x8f, 0xf9,
+  0xbf, 0x08, 0xa4, 0x9a, 0xb5, 0xf5, 0xb7, 0x8b, 0x72, 0x1c, 0xb3, 0xe9, 0x07, 0x13, 0xcc, 0x8b,
+  0xf5, 0x43, 0xeb, 0x86, 0x28, 0xc1, 0x74, 0x03, 0xd6, 0x51, 0x7d, 0x0f, 0x8f, 0xba, 0xc8, 0x25,
+  0x48, 0x5e, 0xe3, 0xc0, 0xd0, 0xde, 0x42, 0xea, 0x11, 0x8f, 0x2e, 0x75, 0xf0, 0xb0, 0x47, 0xf0,
+  0x75, 0x41, 0x02, 0x80, 0x3b, 0xb4, 0xe5, 0xaf, 0xc9, 0x38, 0x37, 0x69, 0xaa, 0x70, 0x40, 0x78,
+  0xbf, 0x1b, 0x1b, 0x02, 0x2b, 0x7b, 0x33, 0x2d, 0x0d, 0x53, 0x97, 0x7c, 0x09, 0x1b, 0x14, 0x28,
+  0xed, 0x94, 0x7f, 0xe6, 0x25, 0xf8, 0x89, 0x86, 0x9e, 0x34, 0xce, 0x57, 0x19, 0x54, 0x2a, 0x00,
+  0xdc, 0x5b, 0x98, 0xff, 0xb2, 0xbe, 0x99, 0x85, 0xa4, 0x80, 0xd1, 0xec, 0xba, 0xe3, 0x69, 0xcc,
+  0x11, 0xc2, 0x7a, 0xd8, 0x44, 0xc5, 0xf1, 0xba, 0xb2, 0x7e, 0x2d, 0x82, 0x5f, 0x8a, 0xe6, 0x77,
+  0x6f, 0x59, 0xa2, 0xec, 0x39, 0xb6, 0xf5, 0x44, 0x5f, 0x33, 0x4d, 0xca, 0x33, 0x73, 0xf7, 0xd7,
+  0x9c, 0x64, 0xc8, 0xd3, 0x8b, 0xfa, 0xfe, 0x6f, 0xd7, 0x9a, 0x59, 0x7e, 0x1d, 0x11, 0xe2, 0x15,
+  0x73, 0xc5, 0x62, 0x17, 0x0c, 0x73, 0xf3, 0x44, 0xb0, 0x67, 0xa9, 0xcc, 0x1c, 0xbe, 0x8d, 0xc9,
+  0x75, 0xb6, 0xa5, 0x50, 0x73, 0xa7, 0x3d, 0xaf, 0xc3, 0xe6, 0x1c, 0xe8, 0x96, 0xe2, 0xae, 0xf6,
+  0x3a, 0x36, 0xb7, 0x65, 0x33, 0x89, 0x39, 0xf6, 0xe9, 0x54, 0x99, 0x9a, 0xec, 0x32, 0x1b, 0xa6,
+  0xe7, 0x42, 0xc3, 0xce, 0x14, 0xea, 0x28, 0x95, 0xd1, 0xc1, 0x35, 0x2c, 0x34, 0xfb, 0xf7, 0xf8,
+  0xce, 0x85, 0x59, 0x1a, 0xcf, 0xcc, 0x6d, 0x15, 0x58, 0xe5, 0xb2, 0x04, 0x3b, 0xe5, 0xa5, 0xd4,
+  0x7f, 0xce, 0x16, 0x04, 0x12, 0xe3, 0xb9, 0xa7, 0xfa, 0x52, 0x4e, 0x96, 0xd3, 0x6f, 0x86, 0xf2,
+  0x8c, 0xce, 0xfa, 0xda, 0x74, 0x94, 0x7d, 0xd9, 0x78, 0x3a, 0xaf, 0x70, 0x81, 0xd3, 0xa9, 0x66,
+  0x85, 0x95, 0xd8, 0x70, 0x4b, 0x02, 0xbc, 0x07, 0xa1, 0x5b, 0xf7, 0x52, 0x93, 0x1a, 0xf8, 0xc4,
+  0x26, 0xf1, 0x93, 0x32, 0x5e, 0x89, 0xe0, 0xe0, 0x75, 0x97, 0x23, 0x0d, 0xde, 0x79, 0xd6, 0x9e,
+  0x29, 0x47, 0x89, 0xed, 0x89, 0xdc, 0xc2, 0x75, 0xda, 0x27, 0xe9, 0x8b, 0x58, 0xd1, 0xf7, 0xd3,
+  0x0a, 0x2b, 0xbb, 0xeb, 0x7b, 0x0f, 0x00, 0xd1, 0x68, 0x7b, 0xc8, 0x1d, 0x48, 0xe7, 0xaa
+};
+
+UINT32 gPkNewRsa4096Sha512Size = sizeof(gPkNewRsa4096Sha512);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
new file mode 100644
index 0000000000..63274028d7
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x21, 0x20, 0x17, 0x73, 0x39, 0x2b, 0xc1, 0x1b, 0xf2, 0xa2, 0x5a, 0xa5,
+  0x77, 0xd6, 0x93, 0xd1, 0x46, 0x43, 0x80, 0xad, 0xf1, 0x2c, 0xba, 0x27, 0xaf, 0xfa, 0x0e, 0x2b,
+  0xfc, 0xf3, 0x45, 0xbe, 0x39, 0xd6, 0x1e, 0xb7, 0xe2, 0xb9, 0x9a, 0x81, 0xe9, 0x2d, 0xaa, 0xd3,
+  0x9a, 0x37, 0xea, 0x43, 0xb5, 0xe7, 0xed, 0x60, 0xd8, 0x15, 0xff, 0x64, 0x27, 0x0e, 0x6a, 0x05,
+  0xaf, 0xd1, 0x6e, 0xbf, 0x4e, 0x8d, 0x19, 0x15, 0x72, 0x8b, 0xb5, 0x8c, 0x3b, 0x7b, 0xaf, 0xd3,
+  0x79, 0xd6, 0x73, 0xe2, 0x61, 0x48, 0xca, 0xc1, 0xa3, 0x8e, 0x48, 0x7b, 0x39, 0xa4, 0x29, 0x24,
+  0xf3, 0x08, 0x28, 0x13, 0x58, 0x9c, 0xdc, 0x93, 0x8d, 0x17, 0xfe, 0xa3, 0x70, 0x80, 0xad, 0x62,
+  0xbe, 0xae, 0x55, 0xff, 0x14, 0x98, 0x08, 0x84, 0xe5, 0xa2, 0xed, 0xac, 0xc2, 0x9d, 0xc3, 0x1d,
+  0x25, 0xc6, 0x3e, 0xa6, 0x2f, 0xb7, 0xec, 0x65, 0xb4, 0xbc, 0x49, 0xf3, 0x32, 0xf6, 0xd4, 0x5f,
+  0x72, 0x95, 0x58, 0x28, 0x81, 0x5e, 0x69, 0x35, 0x04, 0x0c, 0x75, 0x96, 0xf9, 0xaa, 0xa2, 0x64,
+  0xdd, 0xe0, 0x52, 0x3d, 0x33, 0x4c, 0x27, 0xb0, 0x4a, 0xc3, 0xf1, 0xc5, 0x81, 0x31, 0x65, 0xab,
+  0xf9, 0x2f, 0x42, 0x0e, 0x0b, 0xc8, 0x54, 0xc9, 0x47, 0x01, 0xb5, 0xe5, 0xc0, 0x55, 0x22, 0xb3,
+  0xcc, 0x26, 0xca, 0x08, 0xcc, 0x62, 0x09, 0x54, 0x3a, 0xa0, 0xfc, 0x5a, 0x3a, 0x6a, 0x28, 0xb6,
+  0x86, 0xac, 0xa6, 0x4b, 0xce, 0x41, 0xd3, 0xe5, 0xa4, 0xd6, 0xc5, 0x22, 0x64, 0x4c, 0x8b, 0x8d,
+  0xa2, 0xec, 0xe9, 0x11, 0x6c, 0x39, 0x96, 0xc7, 0xfd, 0x30, 0xab, 0xe7, 0x28, 0xb4, 0xab, 0xc6,
+  0x8a, 0x64, 0xad, 0xe2, 0x84, 0xf0, 0x46, 0xa4, 0x01, 0xf2, 0x7a, 0x0d, 0x62, 0xe6, 0x80, 0x8a,
+  0xf7, 0xfb, 0xac, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x41,
+  0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1,
+  0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x30,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e, 0x1b,
+  0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44, 0x84,
+  0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7, 0x7d,
+  0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76, 0x1d,
+  0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b, 0x7e,
+  0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54, 0xba,
+  0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60, 0xec,
+  0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46, 0x9a,
+  0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49, 0x22,
+  0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1, 0x97,
+  0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97, 0x4e,
+  0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2, 0xc3,
+  0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b, 0x07,
+  0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19, 0x7c,
+  0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57, 0x66,
+  0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74, 0xd2,
+  0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f, 0x19,
+  0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x92,
+  0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78, 0x15,
+  0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb, 0xc6,
+  0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b, 0x00,
+  0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0, 0xa4,
+  0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc, 0x10,
+  0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79, 0xb2,
+  0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e, 0x3f,
+  0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8, 0xb5,
+  0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9, 0x97,
+  0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0, 0xfb,
+  0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46, 0xda,
+  0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d, 0x05,
+  0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6, 0x56,
+  0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23, 0xd4,
+  0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0, 0x17,
+  0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a
+};
+
+UINT32 gPkRsa2048Sha256Size = sizeof(gPkRsa2048Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
new file mode 100644
index 0000000000..a0e81d7bd1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xa7, 0xdf, 0x37, 0xa8, 0xbc, 0xa5, 0x42, 0xb9, 0x1e, 0x7d, 0x56, 0x9c,
+  0xb1, 0xa1, 0x65, 0x04, 0x2a, 0x00, 0xd4, 0x3c, 0x3d, 0x0d, 0x5f, 0x55, 0x61, 0x92, 0x3c, 0xe7,
+  0x88, 0x14, 0xf2, 0x2a, 0xdb, 0x42, 0x7d, 0x8e, 0x7e, 0xc8, 0x92, 0xb4, 0x29, 0x2a, 0x4e, 0x2c,
+  0x4e, 0xc9, 0x17, 0x76, 0x24, 0xa8, 0xbf, 0xd2, 0x57, 0x53, 0xd6, 0xa8, 0xe1, 0x48, 0xd7, 0x94,
+  0x06, 0xf8, 0xf5, 0x2c, 0x0b, 0x34, 0x60, 0xf9, 0x3a, 0x97, 0xe5, 0x30, 0x74, 0x90, 0x9c, 0x7b,
+  0xc2, 0xd6, 0x73, 0x8d, 0x08, 0x29, 0x20, 0xd2, 0xc4, 0x5f, 0xea, 0x87, 0xe1, 0x29, 0x20, 0xc2,
+  0x22, 0x39, 0xff, 0x26, 0x51, 0x4d, 0xb1, 0xd4, 0xa2, 0xd4, 0x14, 0x55, 0x56, 0x29, 0x7b, 0x14,
+  0xf9, 0x42, 0x65, 0x02, 0xf4, 0x85, 0x7c, 0xa0, 0x2a, 0x9c, 0x9b, 0x72, 0x0e, 0x79, 0xcd, 0xee,
+  0x74, 0x08, 0x3b, 0x1f, 0x12, 0x3d, 0xb2, 0xd5, 0x60, 0xe8, 0xc2, 0x05, 0x78, 0x0d, 0x0b, 0x58,
+  0x9a, 0xba, 0xcf, 0x4f, 0x6b, 0x8c, 0x8d, 0xc6, 0x0c, 0x42, 0xe3, 0xb8, 0xba, 0x7f, 0x16, 0x1b,
+  0x26, 0x19, 0x66, 0xec, 0x5c, 0xdf, 0xa5, 0x8b, 0x30, 0x02, 0x45, 0xa6, 0x9a, 0x3d, 0x6c, 0x9b,
+  0x95, 0xe4, 0x4c, 0x53, 0xdb, 0xf9, 0x6a, 0x78, 0x0a, 0xdc, 0xbe, 0xff, 0xb4, 0x1b, 0x85, 0x28,
+  0x5e, 0x5d, 0x05, 0x6a, 0x6b, 0xe2, 0x9f, 0x0e, 0x36, 0x22, 0x92, 0xae, 0x0c, 0x0b, 0xab, 0x55,
+  0xab, 0xc4, 0xdf, 0xcb, 0xa3, 0x62, 0xa0, 0x21, 0xc3, 0x19, 0xa2, 0x3f, 0x9d, 0xfa, 0x60, 0xb2,
+  0xe7, 0x82, 0x52, 0xca, 0x62, 0x59, 0xd9, 0x3c, 0x83, 0x5e, 0x10, 0x16, 0xf2, 0xcf, 0xb6, 0xaa,
+  0x44, 0x56, 0xc8, 0xc2, 0x89, 0x4c, 0x4f, 0x32, 0x2d, 0x09, 0x4d, 0xd1, 0x7d, 0x71, 0x10, 0xdc,
+  0x09, 0x8b, 0xd1, 0x26, 0x3c, 0xe6, 0x35, 0x0b, 0x66, 0x4b, 0x49, 0x35, 0x22, 0x38, 0x99, 0x5f,
+  0x27, 0x33, 0x03, 0x6e, 0x57, 0x04, 0x90, 0x03, 0x0c, 0x08, 0xd2, 0xda, 0xb1, 0x34, 0x78, 0x49,
+  0x84, 0x98, 0x8e, 0x80, 0x06, 0x9e, 0xf7, 0x9c, 0x5c, 0xe9, 0xcc, 0x23, 0x3a, 0x60, 0xbe, 0x76,
+  0xb6, 0x13, 0x30, 0xdd, 0x48, 0xa0, 0x66, 0xba, 0x79, 0xcc, 0xa1, 0x7c, 0x8c, 0xb7, 0x77, 0x00,
+  0x76, 0x5c, 0x6c, 0x1b, 0xc4, 0x25, 0xba, 0x45, 0x3e, 0x43, 0x27, 0x0b, 0xe5, 0xdc, 0x5f, 0x78,
+  0x83, 0x38, 0x34, 0x12, 0xf1, 0xab, 0xd6, 0xfe, 0xa4, 0x26, 0x51, 0x8e, 0xb9, 0x37, 0x46, 0xe3,
+  0xff, 0x59, 0x37, 0x26, 0xa4, 0xc4, 0xa7, 0xa9, 0xfa, 0xa9, 0xb7, 0xb3, 0x11, 0xf9, 0x87, 0x46,
+  0x7e, 0x5e, 0xca, 0x2e, 0xa5, 0xfc, 0x3e, 0xf3, 0x81, 0xa4, 0x67, 0x7d, 0x38, 0xb2, 0xd8, 0xf3,
+  0xfb, 0x8a, 0xf1, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0e,
+  0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03,
+  0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60, 0xbb,
+  0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e, 0x44,
+  0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91, 0x9d,
+  0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a, 0x0b,
+  0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c, 0x56,
+  0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f, 0x4c,
+  0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c, 0x7b,
+  0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0, 0x87,
+  0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67, 0xbe,
+  0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77, 0x50,
+  0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2, 0xba,
+  0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f, 0x66,
+  0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab, 0x88,
+  0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8, 0x8b,
+  0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0, 0x94,
+  0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4, 0xf5,
+  0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12, 0xa5,
+  0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9, 0x84,
+  0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e, 0xbe,
+  0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53, 0x7b,
+  0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25, 0x57,
+  0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8, 0x8f,
+  0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2, 0x60,
+  0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89, 0x46,
+  0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe, 0x4d,
+  0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x48,
+  0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1, 0xbf,
+  0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e, 0x6f,
+  0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a, 0x0a,
+  0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09, 0xd0,
+  0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a, 0x9e,
+  0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a, 0xd3,
+  0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c, 0xe2,
+  0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4, 0x1e,
+  0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c, 0xa9,
+  0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f, 0x67,
+  0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc, 0x5c,
+  0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15, 0xc2,
+  0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd, 0x2f,
+  0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc, 0x1e,
+  0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb, 0x87,
+  0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba, 0xeb,
+  0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11, 0x6c,
+  0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29, 0x39,
+  0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b, 0xeb,
+  0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f, 0x87,
+  0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf, 0x69,
+  0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa, 0x0c,
+  0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7, 0xf9,
+  0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea
+};
+
+UINT32 gPkRsa3072Sha256Size = sizeof(gPkRsa3072Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
new file mode 100644
index 0000000000..68b12d3891
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x88, 0xd6, 0xed, 0xd7, 0x70, 0x05, 0x93, 0xf5, 0xde, 0xfb, 0x73, 0xee,
+  0x7d, 0xb1, 0x73, 0x42, 0xb1, 0xe9, 0xd7, 0x99, 0xfb, 0xcc, 0x73, 0x5f, 0x2b, 0xe1, 0x3b, 0x27,
+  0x84, 0x40, 0xb9, 0x71, 0x29, 0x54, 0xc0, 0x1b, 0x80, 0xf8, 0xa1, 0x26, 0xc0, 0xaa, 0x64, 0x7f,
+  0xe3, 0xff, 0xd3, 0xce, 0xd3, 0x8c, 0xa5, 0x46, 0x42, 0xf1, 0xe3, 0x0c, 0x97, 0x3e, 0x48, 0x4f,
+  0x61, 0x60, 0x38, 0x56, 0xa2, 0xf0, 0x0c, 0x02, 0x67, 0xa2, 0x5f, 0x9f, 0xb1, 0xc8, 0x48, 0xf6,
+  0xbf, 0x4f, 0x27, 0x57, 0xf2, 0x73, 0xb9, 0x52, 0x9c, 0x54, 0xbd, 0x33, 0x18, 0x97, 0x83, 0x99,
+  0x5d, 0xb0, 0x19, 0x1e, 0xb1, 0x15, 0xb8, 0xcb, 0xe4, 0xe2, 0x82, 0xb7, 0x2c, 0x14, 0xbb, 0x70,
+  0x99, 0x67, 0x10, 0x80, 0xec, 0x7c, 0xfe, 0x74, 0x31, 0x4d, 0x6e, 0x20, 0x80, 0x25, 0x89, 0x67,
+  0x0a, 0xf5, 0x5e, 0x62, 0x7e, 0xd8, 0xf7, 0xf5, 0xb8, 0x0c, 0x31, 0x6c, 0x0e, 0x41, 0x54, 0xb0,
+  0xff, 0xf6, 0xf2, 0xc6, 0x00, 0x34, 0x16, 0x57, 0x72, 0x23, 0xb6, 0xa1, 0x4b, 0xc7, 0x7a, 0xe4,
+  0x84, 0xd0, 0x40, 0x3f, 0xea, 0x7c, 0x95, 0xc2, 0x4d, 0x3d, 0x06, 0xc9, 0x71, 0xa3, 0x94, 0x9d,
+  0x70, 0x3b, 0x23, 0xc2, 0x7d, 0x73, 0xd6, 0xa4, 0xf1, 0x07, 0xe5, 0xb9, 0x4b, 0x59, 0xa5, 0x2c,
+  0xa9, 0xc0, 0x8b, 0x87, 0xaa, 0xba, 0xa5, 0xd1, 0x61, 0xac, 0xa5, 0xb4, 0x38, 0x04, 0x58, 0xb1,
+  0xbe, 0xeb, 0xd9, 0xd7, 0xaf, 0x36, 0xb4, 0xf8, 0xce, 0x32, 0x1e, 0x66, 0xcb, 0x52, 0xe6, 0xc9,
+  0x07, 0xd5, 0xe2, 0x11, 0x3c, 0x5d, 0xd7, 0xca, 0x3b, 0xea, 0x71, 0x62, 0x7f, 0x24, 0x91, 0xd7,
+  0x05, 0x8f, 0x69, 0xfe, 0x10, 0xc7, 0x49, 0xb7, 0xec, 0x91, 0x24, 0x11, 0x43, 0xb4, 0xe6, 0xfe,
+  0xd0, 0x4e, 0xa5, 0x75, 0x6b, 0x48, 0xd6, 0xad, 0x3a, 0xab, 0xed, 0xd4, 0x12, 0x88, 0x67, 0x18,
+  0x2a, 0x90, 0x81, 0xcd, 0x72, 0x68, 0x76, 0xfc, 0xd1, 0xfa, 0x83, 0xed, 0x25, 0x38, 0xc9, 0x71,
+  0xd0, 0x22, 0x7d, 0xd0, 0xd5, 0x20, 0x65, 0xa4, 0x04, 0x19, 0x8e, 0xc2, 0xa3, 0x73, 0x69, 0x9a,
+  0x73, 0x22, 0xf0, 0x7f, 0xf0, 0x3f, 0x7c, 0x6e, 0xf6, 0x77, 0x7c, 0xf0, 0x1a, 0x67, 0x67, 0xda,
+  0x64, 0xec, 0x73, 0xa7, 0xf1, 0x09, 0xd8, 0xab, 0x04, 0x81, 0x66, 0xa3, 0x1e, 0x43, 0x1f, 0x00,
+  0x2e, 0xb1, 0xaa, 0x3d, 0x3c, 0xb6, 0x07, 0xdd, 0x2c, 0x8d, 0x5e, 0x92, 0xdf, 0x2f, 0xd2, 0x3f,
+  0x59, 0xb7, 0xca, 0x6f, 0x7e, 0x9d, 0x6c, 0x2a, 0x3d, 0x90, 0xe1, 0x36, 0x8f, 0x9a, 0xd1, 0xf4,
+  0x46, 0x37, 0x77, 0x0f, 0x9c, 0xd5, 0x62, 0x88, 0x38, 0x44, 0x2a, 0xde, 0x6f, 0xe2, 0xe2, 0x75,
+  0x25, 0xd7, 0x71, 0xb0, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90,
+  0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x39,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45, 0x0d,
+  0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50, 0x2f,
+  0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e, 0x8f,
+  0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b, 0x5a,
+  0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7, 0x4c,
+  0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda, 0x8d,
+  0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2, 0x13,
+  0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca, 0x66,
+  0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca, 0xe4,
+  0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68, 0xa5,
+  0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8, 0xbb,
+  0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8, 0xff,
+  0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f, 0xa0,
+  0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc, 0x14,
+  0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b, 0x88,
+  0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a, 0x48,
+  0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16, 0x66,
+  0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79, 0xf4,
+  0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc, 0xb8,
+  0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57, 0x68,
+  0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27, 0x83,
+  0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88, 0xb2,
+  0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5, 0x5e,
+  0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b, 0x4e,
+  0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3, 0x57,
+  0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0xa2,
+  0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4, 0x6e,
+  0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d, 0xc6,
+  0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7, 0xa8,
+  0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3, 0xf8,
+  0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5, 0xab,
+  0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2, 0xa3,
+  0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14, 0xed,
+  0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00, 0x78,
+  0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6, 0x1a,
+  0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2, 0x55,
+  0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38, 0xf5,
+  0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42, 0xdb,
+  0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1, 0xa2,
+  0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61, 0x12,
+  0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93, 0x1b,
+  0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01, 0x8f,
+  0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1, 0x0c,
+  0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b, 0x77,
+  0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74, 0x45,
+  0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc, 0xa7,
+  0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e, 0x88,
+  0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07, 0xd3,
+  0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12, 0x1d,
+  0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31
+};
+
+UINT32 gPkRsa3072Sha384Size = sizeof(gPkRsa3072Sha384);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
new file mode 100644
index 0000000000..9f59781e24
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xa0, 0xb4, 0xdb, 0xcb, 0x81, 0x4a, 0xc3, 0x08, 0x79, 0xaa, 0x3e, 0x2f,
+  0x3e, 0xdf, 0x1f, 0xc9, 0xe3, 0x85, 0xf5, 0xa3, 0x8c, 0xbb, 0xcc, 0xb6, 0x9f, 0x53, 0x2b, 0x1b,
+  0xca, 0x6d, 0x8e, 0x87, 0xd8, 0x24, 0xbd, 0xc8, 0x69, 0x6f, 0xca, 0xe8, 0x45, 0xf0, 0xac, 0x6c,
+  0x5e, 0x11, 0xef, 0x07, 0x11, 0xf5, 0x48, 0x89, 0x01, 0x09, 0x0d, 0xa3, 0x1f, 0xa6, 0x35, 0x37,
+  0x94, 0x71, 0x3e, 0x3e, 0x6b, 0x9b, 0x61, 0xa3, 0xed, 0xd6, 0x9d, 0xd7, 0x40, 0x16, 0x7c, 0x43,
+  0xf1, 0xb2, 0xcd, 0x90, 0x8a, 0x33, 0x1b, 0x0e, 0x3f, 0x85, 0x02, 0xca, 0xb8, 0x22, 0xea, 0xe1,
+  0x8a, 0xc4, 0xb7, 0xdb, 0x29, 0x25, 0xab, 0xf8, 0xfa, 0x21, 0x6e, 0xb0, 0x95, 0xb1, 0x0a, 0x48,
+  0x8b, 0x35, 0x96, 0x64, 0x35, 0x2c, 0x8f, 0xb2, 0x54, 0x1e, 0x68, 0x6f, 0xca, 0xb9, 0x4e, 0xb9,
+  0x43, 0x7b, 0x27, 0x42, 0x99, 0xce, 0x29, 0x0b, 0xca, 0xc7, 0x80, 0xac, 0x75, 0x2c, 0x8d, 0x88,
+  0x8b, 0x2b, 0x62, 0x39, 0x61, 0xf7, 0xd4, 0xf2, 0x22, 0xba, 0xa0, 0xd0, 0x5e, 0x02, 0x45, 0xdd,
+  0xee, 0xbd, 0x19, 0x91, 0x5a, 0x8a, 0xbe, 0xa9, 0xf4, 0x47, 0x07, 0xae, 0x69, 0x4c, 0x54, 0xe4,
+  0xe6, 0x92, 0x99, 0x85, 0x7f, 0xaf, 0xc3, 0x75, 0x43, 0x8e, 0x79, 0x5a, 0x65, 0x8c, 0x0d, 0x18,
+  0x2c, 0x52, 0xe7, 0x81, 0x90, 0xc2, 0x6b, 0x79, 0xf2, 0x98, 0x73, 0x9f, 0xef, 0xe7, 0xbd, 0x12,
+  0x1a, 0x4c, 0xb3, 0x68, 0x28, 0x31, 0xaa, 0xd4, 0x0d, 0x13, 0x3d, 0x43, 0x75, 0x15, 0x00, 0xeb,
+  0xcb, 0xe7, 0x89, 0xcf, 0x6c, 0xd5, 0x07, 0x0b, 0xd6, 0x5e, 0x9d, 0xdd, 0x05, 0x65, 0xd1, 0xd5,
+  0xec, 0x3e, 0xe8, 0x81, 0x52, 0xec, 0x46, 0x4e, 0xbc, 0x0f, 0xd3, 0x8d, 0xed, 0x09, 0x2c, 0xab,
+  0x49, 0x25, 0x3f, 0xd0, 0xe5, 0x57, 0x8f, 0x72, 0x14, 0x97, 0x5b, 0x49, 0x7a, 0x29, 0x15, 0xc8,
+  0x3b, 0x73, 0xd7, 0xce, 0x41, 0xfa, 0x79, 0x50, 0x4c, 0x65, 0x7f, 0x90, 0xd6, 0x52, 0x21, 0xc3,
+  0x4e, 0x00, 0x85, 0x13, 0x92, 0x7e, 0xb9, 0x01, 0x31, 0xef, 0xd1, 0xdd, 0x46, 0xf4, 0xe4, 0x10,
+  0x65, 0x25, 0xfa, 0x95, 0x4b, 0xa8, 0x23, 0xba, 0xb8, 0x92, 0x0b, 0x8b, 0x4e, 0xb8, 0x09, 0xfe,
+  0xca, 0x3a, 0xa8, 0x47, 0x9d, 0x4a, 0xa6, 0x2f, 0x31, 0x2f, 0x63, 0xa9, 0x0d, 0x98, 0x1d, 0x2f,
+  0x68, 0x36, 0x64, 0xee, 0x8f, 0xa7, 0xa7, 0x03, 0xc5, 0x6c, 0xe3, 0xdd, 0xca, 0x99, 0xa5, 0x3a,
+  0x93, 0x94, 0x0f, 0x26, 0xad, 0xc1, 0xfd, 0x59, 0x5b, 0x68, 0x11, 0x40, 0xed, 0xc1, 0xd1, 0xb9,
+  0xa1, 0x56, 0xa9, 0x7a, 0x54, 0x0c, 0x98, 0xc1, 0xa1, 0x95, 0x1e, 0x10, 0xd2, 0xdd, 0xa7, 0xa7,
+  0xf3, 0x37, 0x43, 0xa2, 0x37, 0x2f, 0x0e, 0x4c, 0xdd, 0xde, 0x23, 0x0c, 0x66, 0xe1, 0x52, 0x7f,
+  0x7b, 0x02, 0xcb, 0x57, 0x60, 0xc3, 0x12, 0x54, 0x51, 0x81, 0x8b, 0xb0, 0x28, 0x57, 0x64, 0xa8,
+  0x1f, 0x7d, 0x23, 0xe3, 0x8a, 0x6c, 0x6b, 0x46, 0xda, 0xd2, 0xd1, 0x71, 0xa3, 0x4d, 0xd8, 0xe2,
+  0x16, 0x5a, 0x92, 0xa9, 0x52, 0x04, 0xe3, 0x31, 0xce, 0xe6, 0xe5, 0xa0, 0xde, 0xb3, 0x9f, 0x57,
+  0x6e, 0x02, 0xeb, 0xcb, 0x17, 0x21, 0x0f, 0x42, 0x75, 0x1a, 0x61, 0xd4, 0xcb, 0x42, 0x28, 0xa7,
+  0xf6, 0xdf, 0xad, 0xc9, 0x4a, 0xd9, 0x14, 0x98, 0x09, 0xb5, 0x71, 0x89, 0x65, 0x0d, 0xa3, 0x3b,
+  0x1b, 0x61, 0x41, 0xac, 0x1a, 0xf7, 0x7a, 0x72, 0x61, 0xbc, 0x6c, 0x6e, 0x29, 0xfc, 0x56, 0xaa,
+  0x89, 0x21, 0x5e, 0x50, 0x00, 0xd4, 0xee, 0x26, 0xcc, 0x97, 0x99, 0x37, 0x8a, 0x01, 0x4a, 0x40,
+  0x24, 0x6a, 0xfd, 0x0b, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x3b,
+  0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d,
+  0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75, 0x72,
+  0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30, 0xf6,
+  0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c, 0xa1,
+  0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c, 0xc6,
+  0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad, 0x6a,
+  0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb, 0xc2,
+  0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c, 0xc4,
+  0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb, 0x05,
+  0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a, 0x66,
+  0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7, 0xdc,
+  0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53, 0x22,
+  0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3, 0x41,
+  0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10, 0x21,
+  0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7, 0x46,
+  0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88, 0xb5,
+  0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc, 0x74,
+  0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3, 0x81,
+  0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8, 0x4c,
+  0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4, 0x01,
+  0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c, 0x0f,
+  0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83, 0xa9,
+  0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7, 0x7b,
+  0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f, 0xf0,
+  0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18, 0x82,
+  0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70, 0xa1,
+  0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85, 0xa6,
+  0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97, 0x14,
+  0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10, 0x91,
+  0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c, 0x44,
+  0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8, 0xe9,
+  0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f, 0x5b,
+  0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24, 0x42,
+  0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26, 0x5f,
+  0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x57,
+  0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18, 0x28,
+  0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66, 0x44,
+  0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c, 0xd1,
+  0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6, 0xca,
+  0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f, 0x15,
+  0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7, 0xcd,
+  0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f, 0xc7,
+  0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c, 0xc0,
+  0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a, 0x94,
+  0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe, 0xef,
+  0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b, 0xed,
+  0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55, 0xc3,
+  0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90, 0x9e,
+  0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e, 0x0d,
+  0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61, 0xa8,
+  0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44, 0x85,
+  0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82, 0xde,
+  0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc, 0x59,
+  0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c, 0xef,
+  0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18, 0x72,
+  0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51, 0x38,
+  0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4, 0xd8,
+  0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14, 0xa7,
+  0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c, 0xaa,
+  0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20, 0xa2,
+  0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19, 0x50,
+  0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5, 0xc1,
+  0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85, 0xdb,
+  0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d, 0x0a,
+  0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60, 0x1b,
+  0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c, 0xc0,
+  0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46
+};
+
+UINT32 gPkRsa4096Sha256Size = sizeof(gPkRsa4096Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
new file mode 100644
index 0000000000..5770e1b8bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xb2, 0xeb, 0xa6, 0xd3, 0xf6, 0x8b, 0xc3, 0x51, 0x8b, 0x6b, 0x65, 0x70,
+  0x69, 0xf8, 0x55, 0xf5, 0x19, 0x85, 0x08, 0x26, 0x34, 0x50, 0x26, 0xe0, 0x12, 0xb6, 0x62, 0x51,
+  0x4b, 0x2a, 0x65, 0x3f, 0x7c, 0x86, 0x45, 0x61, 0x7d, 0xcd, 0xad, 0x0a, 0xaa, 0xb5, 0x2d, 0x72,
+  0xf7, 0x3b, 0x19, 0x65, 0x1d, 0x6f, 0x0d, 0x4f, 0x2a, 0xdf, 0xe0, 0x43, 0xee, 0xb1, 0xb0, 0xb7,
+  0x19, 0xa8, 0x27, 0xad, 0x83, 0xa0, 0x54, 0xb4, 0x78, 0xc8, 0xc1, 0x79, 0x05, 0xac, 0x48, 0x2d,
+  0xc3, 0xe9, 0xb3, 0x9c, 0x75, 0x13, 0xae, 0x79, 0x91, 0xe3, 0xab, 0xe1, 0x9c, 0x8f, 0x39, 0x4d,
+  0xdd, 0xc9, 0x27, 0xbc, 0x5d, 0x81, 0x59, 0x2c, 0x07, 0xfd, 0xab, 0xda, 0x54, 0x07, 0x31, 0x12,
+  0xbb, 0xda, 0x4f, 0x76, 0x60, 0x42, 0xd0, 0xa1, 0xde, 0x53, 0xfb, 0x80, 0x4f, 0x69, 0x46, 0xf8,
+  0x30, 0xad, 0xd6, 0x04, 0x14, 0x98, 0x86, 0xe9, 0xcc, 0xa0, 0x9e, 0xd3, 0xb9, 0xcf, 0x28, 0x39,
+  0xdb, 0x4f, 0xfc, 0x9c, 0xa0, 0x30, 0x12, 0xad, 0x55, 0x0e, 0x77, 0x97, 0xf6, 0x1b, 0x89, 0x3e,
+  0x9c, 0x7e, 0x57, 0xbe, 0x1f, 0xc4, 0x58, 0x3b, 0x21, 0x78, 0x5f, 0x65, 0x0e, 0x76, 0x1e, 0x77,
+  0xeb, 0x14, 0x9d, 0xd6, 0x9e, 0xc4, 0xd5, 0xc4, 0x37, 0x39, 0xf3, 0xf2, 0x9d, 0x9f, 0x31, 0xde,
+  0x9d, 0x4f, 0x25, 0xc1, 0x8a, 0xdf, 0x31, 0x71, 0x23, 0xea, 0xe9, 0xa8, 0xee, 0xf3, 0xd7, 0x62,
+  0x7c, 0xae, 0x16, 0xe3, 0x9c, 0x92, 0xe6, 0x0a, 0x5c, 0x64, 0x0d, 0x34, 0x09, 0xd3, 0xc0, 0x3c,
+  0xe9, 0x8c, 0x83, 0x0f, 0x89, 0xb5, 0xb1, 0xc1, 0x78, 0x98, 0xea, 0xc3, 0x3b, 0x4a, 0xed, 0x76,
+  0x9d, 0xff, 0x33, 0xc5, 0x7c, 0x88, 0x0b, 0x0a, 0x32, 0xf8, 0x68, 0x9c, 0xe6, 0xbb, 0x45, 0x1f,
+  0xff, 0x02, 0xd4, 0xab, 0x04, 0xb0, 0x45, 0xa5, 0xdf, 0x10, 0x4a, 0x58, 0xb8, 0x99, 0xac, 0xcf,
+  0xd4, 0x85, 0x24, 0x8a, 0xbb, 0x20, 0x96, 0x1d, 0xc4, 0x96, 0x8f, 0xb4, 0xad, 0x7f, 0x0d, 0x5a,
+  0x56, 0xf9, 0xee, 0xa9, 0xbc, 0xdc, 0x05, 0xdc, 0x3b, 0xe9, 0x0d, 0x44, 0x78, 0x0b, 0x02, 0xa5,
+  0x62, 0x7f, 0x79, 0xce, 0x5e, 0x54, 0x74, 0xdd, 0x32, 0xd8, 0xbf, 0xc9, 0xbd, 0x30, 0x2b, 0x94,
+  0x1e, 0x26, 0xeb, 0x86, 0x75, 0x56, 0x00, 0xf9, 0xfa, 0xae, 0x81, 0xc4, 0x62, 0xcc, 0x07, 0x8d,
+  0xc5, 0x34, 0xe9, 0x05, 0x0a, 0xa2, 0x9a, 0x14, 0xe0, 0x2d, 0x4b, 0xb9, 0x23, 0xe6, 0x1c, 0x57,
+  0x7f, 0x32, 0xb9, 0x2d, 0xb1, 0xcf, 0x66, 0x33, 0x07, 0x89, 0xa0, 0x39, 0xbf, 0xf7, 0x13, 0xd3,
+  0xdb, 0x91, 0xfa, 0xca, 0x6d, 0x2d, 0x62, 0x66, 0xb7, 0xba, 0xe8, 0x8c, 0xf0, 0xbf, 0x06, 0x0f,
+  0xc2, 0x19, 0xf5, 0xbf, 0xa2, 0xef, 0xd6, 0x83, 0x5a, 0xcd, 0xe1, 0x85, 0xfe, 0x36, 0x55, 0x5f,
+  0xa2, 0xf7, 0x83, 0x29, 0xe5, 0xdd, 0x7d, 0xed, 0x03, 0x59, 0xfc, 0x55, 0xbb, 0xbc, 0x95, 0x4c,
+  0x38, 0xbc, 0xe7, 0xaa, 0xb9, 0x41, 0xff, 0x16, 0x02, 0x94, 0xf0, 0x91, 0x3c, 0x50, 0xe9, 0x36,
+  0xb2, 0xf9, 0x39, 0xb7, 0x1e, 0x99, 0xb9, 0xc1, 0xb6, 0x74, 0x02, 0xcd, 0x1d, 0x11, 0xd9, 0x65,
+  0x8c, 0x30, 0x79, 0x31, 0xce, 0xda, 0x90, 0x7e, 0x17, 0xf4, 0x33, 0x9f, 0x78, 0x09, 0xd6, 0x16,
+  0x23, 0x15, 0x19, 0x3b, 0x7c, 0x53, 0xe3, 0xec, 0x1b, 0x4f, 0xf5, 0x01, 0x01, 0x00, 0xa6, 0x83,
+  0x9a, 0xd7, 0x7a, 0x9f, 0x37, 0x09, 0x72, 0xdd, 0xc9, 0xd1, 0xc5, 0x65, 0x69, 0xc7, 0x43, 0x1f,
+  0x7e, 0x8c, 0x6c, 0x6e, 0x4a, 0xab, 0xd9, 0xf5, 0xee, 0xe0, 0x91, 0xae, 0xed, 0x4f, 0x2e, 0x52,
+  0x39, 0x04, 0xd2, 0x2e, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8,
+  0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2, 0x7b,
+  0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61, 0xbf,
+  0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b, 0x41,
+  0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb, 0x37,
+  0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8, 0xdb,
+  0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70, 0xc0,
+  0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf, 0x27,
+  0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81, 0xd2,
+  0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8, 0xe3,
+  0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19, 0x88,
+  0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5, 0x55,
+  0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90, 0x90,
+  0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03, 0x7d,
+  0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8, 0x7e,
+  0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41, 0x78,
+  0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0, 0xd4,
+  0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0, 0x4b,
+  0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7, 0x00,
+  0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65, 0xb8,
+  0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5, 0xcc,
+  0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b, 0x06,
+  0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31, 0x65,
+  0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08, 0x4b,
+  0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69, 0xf4,
+  0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4, 0xb0,
+  0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3, 0xf4,
+  0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e, 0xa9,
+  0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58, 0x86,
+  0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6, 0x8a,
+  0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65, 0x8b,
+  0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0, 0x76,
+  0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44, 0xf4,
+  0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a, 0x77,
+  0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x72,
+  0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e, 0xe4,
+  0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00, 0x65,
+  0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47, 0xbf,
+  0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c, 0x11,
+  0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e, 0x81,
+  0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53, 0xff,
+  0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8, 0xc2,
+  0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b, 0x2a,
+  0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f, 0x90,
+  0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53, 0x3f,
+  0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43, 0x4e,
+  0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb, 0x21,
+  0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1, 0x25,
+  0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2, 0x5b,
+  0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94, 0xd4,
+  0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8, 0xe5,
+  0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b, 0xe5,
+  0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17, 0x4c,
+  0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb, 0x4b,
+  0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa, 0x12,
+  0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5, 0x98,
+  0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18, 0x28,
+  0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f, 0xed,
+  0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59, 0x97,
+  0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5, 0xeb,
+  0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d, 0xef,
+  0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4, 0x19,
+  0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00, 0x52,
+  0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90, 0x4d,
+  0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78, 0x13,
+  0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82, 0xca,
+  0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef
+};
+
+UINT32 gPkRsa4096Sha512Size = sizeof(gPkRsa4096Sha512);
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 90165ca443..dc5ef1c3e3 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -19,6 +19,8 @@
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT
 
+!include UnitTestFrameworkPkg\UnitTestFrameworkPkgHost.dsc.inc
+
 [LibraryClasses]
   #
   # Entry point
@@ -433,6 +435,8 @@
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
 
+  MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
+
 [Components.IA32, Components.X64, Components.AARCH64]
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
new file mode 100644
index 0000000000..b4196ae3bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
@@ -0,0 +1,42 @@
+## @file
+# Authenticated Variable UnitTest built for execution in UEFI Shell.
+#
+# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION    = 0x00010006
+  BASE_NAME      = AuthVarUnitTestUefiShell
+  FILE_GUID      = 43CED9D0-9F5A-4E1E-BAE8-DE1729CBF0C8
+  MODULE_TYPE    = UEFI_APPLICATION
+  VERSION_STRING = 1.0
+  ENTRY_POINT    = AuthVarUnitTestEntryPoint
+
+[Sources]
+  PkRsa2048Sha256.c
+  PkNewRsa2048Sha256.c
+  PkRsa3072Sha256.c
+  PkNewRsa3072Sha256.c
+  PkRsa4096Sha256.c
+  PkNewRsa4096Sha256.c
+  PkRsa3072Sha384.c
+  PkNewRsa3072Sha384.c
+  PkRsa4096Sha512.c
+  PkNewRsa4096Sha512.c
+  AuthVarUnitTest.c
+
+[Guids]
+  gEfiGlobalVariableGuid
+  gEfiCustomModeEnableGuid
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+  SecurityPkg/SecurityPkg.dec
+
+[LibraryClasses]
+  UnitTestLib
+  UefiApplicationEntryPoint
+  UefiRuntimeServicesTableLib
-- 
2.16.2.windows.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos
  2020-12-09 18:32 [Patch 0/2] Extending the signing algorithms for Authenticated Variables Wadhawan, Divneil R
  2020-12-09 18:32 ` [Patch 1/2] MdeModulePkg: Add unit test " Wadhawan, Divneil R
@ 2020-12-09 18:32 ` Wadhawan, Divneil R
  2020-12-09 20:21   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 18:49 ` [edk2-devel] [Patch 0/2] Extending the signing algorithms for Authenticated Variables Michael D Kinney
  2 siblings, 1 reply; 9+ messages in thread
From: Wadhawan, Divneil R @ 2020-12-09 18:32 UTC (permalink / raw)
  To: devel; +Cc: Jiewen Yao, Jian J Wang, Min Xu, Michael D Kinney

o Existing implementation of Authenticated Variables only
  support SHA-256 digest algorithms in signing scheme.

o This has been extended to support SHA-384 and SHA-512 algorithms

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com>
---
 SecurityPkg/Library/AuthVariableLib/AuthService.c |  8 +++--
 AuthVariableDigestUpdate.md                       | 41 +++++++++++++++++++++++
 2 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 AuthVariableDigestUpdate.md

diff --git a/SecurityPkg/Library/AuthVariableLib/AuthService.c b/SecurityPkg/Library/AuthVariableLib/AuthService.c
index 4fb609504d..8f024c42a8 100644
--- a/SecurityPkg/Library/AuthVariableLib/AuthService.c
+++ b/SecurityPkg/Library/AuthVariableLib/AuthService.c
@@ -35,6 +35,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 CONST UINT8 mRsaE[] = { 0x01, 0x00, 0x01 };
 
 CONST UINT8 mSha256OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 };
+CONST UINT8 mSha384OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02 };
+CONST UINT8 mSha512OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03 };
 
 //
 // Requirement for different signature type which have been defined in UEFI spec.
@@ -1901,7 +1903,7 @@ VerifyTimeBasedPayload (
 
   //
   // SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the
-  // signature. Only a digest algorithm of SHA-256 is accepted.
+  // signature. Digest algorithm of SHA-256, SHA-384, SHA-512 are accepted.
   //
   //    According to PKCS#7 Definition:
   //        SignedData ::= SEQUENCE {
@@ -1916,7 +1918,9 @@ VerifyTimeBasedPayload (
   if ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0) {
     if (SigDataSize >= (13 + sizeof (mSha256OidValue))) {
       if (((*(SigData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) ||
-           (CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0)) {
+           ((CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha384OidValue, sizeof (mSha384OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha512OidValue, sizeof (mSha512OidValue)) != 0))) {
           return EFI_SECURITY_VIOLATION;
         }
     }
diff --git a/AuthVariableDigestUpdate.md b/AuthVariableDigestUpdate.md
new file mode 100644
index 0000000000..10992845a4
--- /dev/null
+++ b/AuthVariableDigestUpdate.md
@@ -0,0 +1,41 @@
+# Title: Digest Algorithm flexibility in Authenticated Variable signatures
+
+# Status: Draft
+
+# Document: UEFI Specification Version 2.8
+
+# License
+
+SPDX-License-Identifier: CC-BY-4.0
+
+# Submitter: [TianoCore Community](https://www.tianocore.org)
+
+# Summary of the change
+EFI_VARIABLE_AUTHENTICATION_2 specifies the SignedData.digestAlgorithms to be always
+SHA256. The implication is that the signing algorithm can use RSA keys greater than
+2048 bits, but the digest algorithm remains SHA256. The proposed change is to allow
+digest algorithm to be greater than SHA256.
+
+# Benefits of the change
+This brings agility to the signing mechanism of Authenticated variables by allowing
+it to sign a larger digest.
+
+# Impact of the change
+There is no impact on the existing Authenticated variables.
+
+# Detailed description of the change [normative updates]
+
+<b>Bold text</b> indicates the proposed change
+
+8.2.2 Using the EFI_VARIABLE_AUTHENTICATION_2 descriptor
+When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is set, then the Data buffer shall begin with an instance of a complete (and serialized) ...
+
+Construct a DER-encoded PKCS #7 version 1.5 SignedData (see [RFC2315]) with the signed content as follows:
+
+a. SignedData.version shall be set to 1
+
+b. SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the signature. <b>Only a digest algorithm greater than or equal to SHA-256 is accepted.</b>
+
+
+# Special Instructions
+NA
-- 
2.16.2.windows.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [edk2-devel] [Patch 0/2] Extending the signing algorithms for Authenticated Variables
  2020-12-09 18:32 [Patch 0/2] Extending the signing algorithms for Authenticated Variables Wadhawan, Divneil R
  2020-12-09 18:32 ` [Patch 1/2] MdeModulePkg: Add unit test " Wadhawan, Divneil R
  2020-12-09 18:32 ` [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos Wadhawan, Divneil R
@ 2020-12-09 18:49 ` Michael D Kinney
  2 siblings, 0 replies; 9+ messages in thread
From: Michael D Kinney @ 2020-12-09 18:49 UTC (permalink / raw)
  To: devel@edk2.groups.io, Wadhawan, Divneil R, Kinney, Michael D
  Cc: Rothman, Michael A

Divneil,

Is this intended for a branch in edk2-staging repo using EDK II Code First Process?

I see the following BZ that seems to match:

    https://bugzilla.tianocore.org/show_bug.cgi?id=2875

Please update Subject line to include [edk2-staging/<BranchName>] following EDK II Code First
branch naming conventions.

    https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Code-First-Process

Also add the link to the BZ in all commit messages including Patch #0.  Patch #0 should also
include a Signed-off-by tag and the merged set of Cc tags from all the individual patches.

For this proposed change, how does a caller of the UEFI Variable services know if
SHA384 or SHA512 is supported.  I see the code change updates the variable services 
to support this, but I do not see a detection method for platform FW capabilities.

The proposed spec change changes from *only* SHA256 to SHA256 or larger.  But the code
change only adds SHA384 and SHA512.  Do we want to make the spec change define the 
specific SHA sizes required?
	
Thanks,

Mike


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wadhawan, Divneil R
> Sent: Wednesday, December 9, 2020 10:33 AM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [Patch 0/2] Extending the signing algorithms for Authenticated Variables
> 
> Authenticated Variables currently only supports SHA256 as the digest algorithm.
> This patch series extends it to include SHA384 and SHA512. The series is composed
> of 2 patches.
> a. Unit Test for Authenticated Variables
> b. AuthService change to allow SHA384/SHA512 as digest algorithms.
> 
> Divneil Rai Wadhawan (2):
>   MdeModulePkg: Add unit test for Authenticated Variables
>   SecurityPkg: Add support for SHA-384/SHA-512 digest algos
> 
>  .../Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c | 494 +++++++++++++++++++++
>  .../RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c       | 139 ++++++
>  .../RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c       | 179 ++++++++
>  .../RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c       | 179 ++++++++
>  .../RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c       | 219 +++++++++
>  .../RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c       | 219 +++++++++
>  .../Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c | 139 ++++++
>  .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c | 179 ++++++++
>  .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c | 179 ++++++++
>  .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c | 219 +++++++++
>  .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c | 219 +++++++++
>  SecurityPkg/Library/AuthVariableLib/AuthService.c  |   8 +-
>  AuthVariableDigestUpdate.md                        |  41 ++
>  MdeModulePkg/MdeModulePkg.dsc                      |   4 +
>  .../UnitTest/AuthVarUnitTestUefiShell.inf          |  42 ++
>  15 files changed, 2457 insertions(+), 2 deletions(-)
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
>  create mode 100644 AuthVariableDigestUpdate.md
>  create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
> 
> --
> 2.16.2.windows.1
> 
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables
  2020-12-09 18:32 ` [Patch 1/2] MdeModulePkg: Add unit test " Wadhawan, Divneil R
@ 2020-12-09 20:18   ` Bret Barkelew
  2020-12-10  7:56     ` Wadhawan, Divneil R
  0 siblings, 1 reply; 9+ messages in thread
From: Bret Barkelew @ 2020-12-09 20:18 UTC (permalink / raw)
  To: devel@edk2.groups.io, divneil.r.wadhawan@intel.com
  Cc: Jian J Wang, Hao A Wu, Liming Gao, Kinney, Michael D

[-- Attachment #1: Type: text/plain, Size: 200963 bytes --]

Can this test run on any platform? Isn’t SetSecureBootMode() going to fail without UserPhysicalPresent? Are there prerequisites to running this test?

It may need a Readme.

- Bret

From: Wadhawan, Divneil R via groups.io<mailto:divneil.r.wadhawan=intel.com@groups.io>
Sent: Wednesday, December 9, 2020 10:33 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Jian J Wang<mailto:jian.j.wang@intel.com>; Hao A Wu<mailto:hao.a.wu@intel.com>; Liming Gao<mailto:gaoliming@byosoft.com.cn>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>
Subject: [EXTERNAL] [edk2-devel] [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables

The unit test of Authenticated Variables include the following
signing algorithms
o RSA2048/SHA256
o RSA3072/SHA256
o RSA4096/SHA256
o RSA3072/SHA384
o RSA4096/SHA512

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com>
---
 .../Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c | 494 +++++++++++++++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c       | 139 ++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c       | 219 +++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c       | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c | 139 ++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c | 219 +++++++++
 MdeModulePkg/MdeModulePkg.dsc                      |   4 +
 .../UnitTest/AuthVarUnitTestUefiShell.inf          |  42 ++
 13 files changed, 2410 insertions(+)
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
new file mode 100644
index 0000000000..ce1ed168ea
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
@@ -0,0 +1,494 @@
+/** @file
+  Implement UnitTest for the Authenticated Variables.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#include <Uefi.h>
+#include <Library/DebugLib.h>
+#include <Library/UnitTestLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Guid/AuthenticatedVariableFormat.h>
+#include <Guid/GlobalVariable.h>
+
+extern UINT8  gPkRsa2048Sha256[];
+extern UINT32 gPkRsa2048Sha256Size;
+extern UINT8  gPkNewRsa2048Sha256[];
+extern UINT32 gPkNewRsa2048Sha256Size;
+extern UINT8  gPkRsa3072Sha256[];
+extern UINT32 gPkRsa3072Sha256Size;
+extern UINT8  gPkNewRsa3072Sha256[];
+extern UINT32 gPkNewRsa3072Sha256Size;
+extern UINT8  gPkRsa4096Sha256[];
+extern UINT32 gPkRsa4096Sha256Size;
+extern UINT8  gPkNewRsa4096Sha256[];
+extern UINT32 gPkNewRsa4096Sha256Size;
+extern UINT8  gPkRsa3072Sha384[];
+extern UINT32 gPkRsa3072Sha384Size;
+extern UINT8  gPkNewRsa3072Sha384[];
+extern UINT32 gPkNewRsa3072Sha384Size;
+extern UINT8  gPkRsa4096Sha512[];
+extern UINT32 gPkRsa4096Sha512Size;
+extern UINT8  gPkNewRsa4096Sha512[];
+extern UINT32 gPkNewRsa4096Sha512Size;
+
+#define UNIT_TEST_NAME    "AuthVarTest"
+#define UNIT_TEST_VERSION "0.1"
+typedef enum {
+  CONTEXT_RSA2048_SHA256 = 1,
+  CONTEXT_RSA3072_SHA256,
+  CONTEXT_RSA4096_SHA256,
+  CONTEXT_RSA3072_SHA384,
+  CONTEXT_RSA4096_SHA512
+} AuthVarTestContext;
+
+
+STATIC UINT32 mRsa2048Sha256 = CONTEXT_RSA2048_SHA256;
+STATIC UINT32 mRsa3072Sha256 = CONTEXT_RSA3072_SHA256;
+STATIC UINT32 mRsa4096Sha256 = CONTEXT_RSA4096_SHA256;
+STATIC UINT32 mRsa3072Sha384 = CONTEXT_RSA3072_SHA384;
+STATIC UINT32 mRsa4096Sha512 = CONTEXT_RSA4096_SHA512;
+
+/**
+  Set the platform secure boot mode to "custom" or "standard"
+  @param[in]  CustomMode        Value of 1 indicates Custom Mode.
+                                Value of 0 indicates Standard Mode.
+
+  @retval     EFI_SUCCESS       The platform has switched to the requested mode successfully
+  @retval     other             Failure to set the required boot mode
+**/
+EFI_STATUS
+SetSecureBootMode(
+  IN  UINT8     SecureBootMode
+  )
+{
+  return gRT->SetVariable (
+              EFI_CUSTOM_MODE_NAME,
+              &gEfiCustomModeEnableGuid,
+              EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+              sizeof (UINT8),
+              &SecureBootMode
+              );
+}
+
+/**
+  Enroll the base Authenticated Variable into the storage
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for enrollment.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarEnroll (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS  Status;
+  UINT32      Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *)Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkRsa2048Sha256Size;
+      Data     = gPkRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkRsa3072Sha256Size;
+      Data     = gPkRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkRsa4096Sha256Size;
+      Data     = gPkRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkRsa3072Sha384Size;
+      Data     = gPkRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkRsa4096Sha512Size;
+      Data     = gPkRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  //
+  // Set the platform mode in custom mode to enroll the
+  // base variable into the Authenticated Variable storage.
+  //
+  Status = SetSecureBootMode (CUSTOM_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Enroll the variable to be used for sign verification
+  // for next updates.
+  //
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Clear the custom mode of platform
+  //
+  Status = SetSecureBootMode (STANDARD_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Update the Authenticated Variable enrolled earlier in custom mode
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for update.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarUpdate (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS Status;
+  UINT32     Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *) Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkNewRsa2048Sha256Size;
+      Data     = gPkNewRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkNewRsa3072Sha256Size;
+      Data     = gPkNewRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkNewRsa4096Sha256Size;
+      Data     = gPkNewRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkNewRsa3072Sha384Size;
+      Data     = gPkNewRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkNewRsa4096Sha512Size;
+      Data     = gPkNewRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  //
+  // Update the Authenticated Variable enrolled earlier in custom mode
+  //
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Register the test cases for RSA2048/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA2048/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa2048Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Enroll", "RSA2048.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa2048Sha256);
+  Status |= AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Update", "RSA2048.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa2048Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Enroll", "RSA3072.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha256);
+  Status |= AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Update", "RSA3072.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Enroll", "RSA4096.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha256);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Update", "RSA4096.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA384 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA384 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha384Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Enroll", "RSA3072.SHA384.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha384);
+  Status |= AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Update", "RSA3072.SHA384.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha384);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA512 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA512 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha512Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Enroll", "RSA4096.SHA512.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha512);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Update", "RSA4096.SHA512.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha512);
+  return Status;
+}
+
+/**
+  Register Authenticated Variable tests based on different signing schemes.
+  The following test suites are registered
+  o RSA2048/SHA256
+  o RSA3072/SHA256
+  o RSA4096/SHA256
+  o RSA3072/SHA384
+  o RSA4096/SHA512
+
+  @retval  EFI_SUCCESS           All test suites are registered
+  @retval  EFI_OUT_OF_RESOURCES  System is out of resources for registering test suite
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterTests (
+ UNIT_TEST_FRAMEWORK_HANDLE Framework
+ )
+{
+  EFI_STATUS              Status;
+  UNIT_TEST_SUITE_HANDLE  Rsa2048Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha384Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha512Suite;
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA2048/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa2048Sha256Suite, Framework, "AuthVar RSA2048/SHA256", "RSA2048.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA2048/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA2048/SHA256
+  //
+  Status = AuthVarRegisterRsa2048Sha256Tests(Rsa2048Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA2048/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha256Suite, Framework, "AuthVar RSA3072/SHA256", "RSA3072.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA256
+  //
+  Status = AuthVarRegisterRsa3072Sha256Tests(Rsa3072Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha256Suite, Framework, "AuthVar RSA4096/SHA256", "RSA4096.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA256
+  //
+  Status = AuthVarRegisterRsa4096Sha256Tests(Rsa4096Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA384
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha384Suite, Framework, "AuthVar RSA3072/SHA384", "RSA3072.SHA384", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA384 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA384
+  //
+  Status = AuthVarRegisterRsa3072Sha384Tests(Rsa3072Sha384Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA384 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA512
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha512Suite, Framework, "AuthVar RSA4096/SHA512", "RSA4096.SHA512", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA512 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA512
+  //
+  Status = AuthVarRegisterRsa4096Sha512Tests (Rsa4096Sha512Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA512 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+EXIT:
+  if (EFI_ERROR (Status)) {
+    Status = EFI_OUT_OF_RESOURCES;
+  }
+  return Status;
+}
+
+/**
+  Authenticated Variable Unit Test entry point
+**/
+EFI_STATUS
+EFIAPI
+AuthVarUnitTestEntryPoint (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
+  )
+{
+  EFI_STATUS Status;
+  UNIT_TEST_FRAMEWORK_HANDLE Framework;
+
+  Framework = NULL;
+
+  //
+  // Create a Framework object for Authenticated Variable Test
+  //
+  Status = InitUnitTestFramework (&Framework, UNIT_TEST_NAME, gEfiCallerBaseName, UNIT_TEST_VERSION);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to create Framework Object (Status: %r)\n", Status));
+    goto EXIT;
+  }
+
+  //
+  // Register all the test suites the Unit Test Framwork
+  //
+  Status = AuthVarRegisterTests (Framework);
+  if (EFI_ERROR (Status )) {
+      DEBUG ((DEBUG_ERROR, "Failed to register the test suites with the framework (Status: %r)\n", Status));
+      goto EXIT;
+  }
+
+  //
+  // Execute all the tests
+  //
+  Status = RunAllTestSuites (Framework);
+
+EXIT:
+  if (Framework) {
+    FreeUnitTestFramework (Framework);
+  }
+  return Status;
+}
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
new file mode 100644
index 0000000000..50e50c23d3
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x2a, 0xe9, 0x0b, 0x40, 0x0e, 0xe1, 0xc6, 0xc5, 0xdc, 0xed, 0xbf, 0x9d,
+  0xc7, 0x5c, 0x17, 0xa0, 0xa6, 0x65, 0xaf, 0xff, 0x84, 0x4c, 0x91, 0x00, 0x6b, 0x0a, 0x3d, 0x21,
+  0x0e, 0xfb, 0x73, 0x1b, 0x5b, 0x5f, 0x05, 0x1b, 0x43, 0x20, 0xa7, 0x29, 0x68, 0x0d, 0x3f, 0xd9,
+  0x47, 0xed, 0x31, 0x87, 0x45, 0x69, 0x10, 0x1b, 0x6c, 0xb5, 0x62, 0xe6, 0xa2, 0xd7, 0x33, 0xb4,
+  0x1c, 0x1a, 0x8e, 0xa7, 0xa9, 0x6d, 0xde, 0x48, 0x17, 0xad, 0xea, 0x64, 0x01, 0xb6, 0xaa, 0xd6,
+  0x10, 0x22, 0xc7, 0x15, 0xaf, 0xb5, 0x2e, 0xb8, 0x93, 0x36, 0x03, 0x2a, 0x51, 0x9d, 0xc3, 0xf1,
+  0x0a, 0xbe, 0x94, 0x62, 0x24, 0xad, 0x2c, 0x3e, 0x7f, 0xaa, 0x85, 0xb2, 0x3d, 0x8a, 0xe2, 0xa4,
+  0x32, 0x0a, 0x87, 0x0c, 0xf0, 0xa1, 0x19, 0x29, 0xd0, 0x31, 0x63, 0x48, 0xb9, 0x36, 0x67, 0xea,
+  0x9a, 0x91, 0xc6, 0xa9, 0x51, 0x67, 0x76, 0xe1, 0xa3, 0x00, 0x26, 0x9e, 0x84, 0x80, 0xe3, 0x41,
+  0xa8, 0xc8, 0x60, 0xd8, 0xf7, 0xd3, 0x52, 0x71, 0x26, 0xe6, 0xee, 0xa5, 0x3f, 0x39, 0x75, 0x52,
+  0x56, 0x4f, 0xb5, 0xb4, 0xe7, 0xc2, 0x08, 0x7d, 0xe7, 0x9a, 0x8b, 0x7c, 0x5e, 0xdd, 0x4d, 0x1f,
+  0xfe, 0x1b, 0xc4, 0xee, 0x08, 0xa8, 0xf8, 0x41, 0x9f, 0x78, 0x51, 0x1b, 0x57, 0xc9, 0x58, 0x9b,
+  0xca, 0xa6, 0x3c, 0xef, 0xc1, 0x12, 0xab, 0x14, 0xde, 0xe3, 0x6a, 0x0d, 0xb3, 0xb1, 0x90, 0x4d,
+  0xf3, 0x39, 0x12, 0xa9, 0xee, 0x90, 0x88, 0xaf, 0x5b, 0xb7, 0x39, 0xfd, 0xe2, 0x76, 0xe6, 0x20,
+  0xe2, 0xc2, 0x09, 0x13, 0xaa, 0xa6, 0x87, 0x11, 0x11, 0x34, 0x64, 0x15, 0xf2, 0x41, 0xf2, 0xad,
+  0x6e, 0xa6, 0x3e, 0xf3, 0xc7, 0x5d, 0xa5, 0xb8, 0xdb, 0x73, 0x06, 0x86, 0x6e, 0x39, 0x0d, 0xe6,
+  0xa4, 0xee, 0x69, 0x9f, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x51,
+  0xc5, 0x6a, 0xc5, 0x75, 0xf6, 0xc1, 0xaf, 0xca, 0xce, 0x5e, 0xac, 0x62, 0x2e, 0xb1, 0x17, 0xf2,
+  0x6b, 0xcd, 0xa3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb7, 0x41, 0x78, 0xd1, 0x4f, 0xff, 0x26, 0xee, 0x2f, 0x18, 0x21, 0x2a, 0x2a, 0x93, 0x3c,
+  0xde, 0xc3, 0x15, 0x59, 0x8b, 0xa3, 0xb7, 0x97, 0xba, 0xbf, 0x96, 0x89, 0x88, 0xcc, 0xf5, 0xb1,
+  0xc0, 0x72, 0x58, 0x8d, 0xcc, 0x3d, 0xe6, 0x86, 0x72, 0xfc, 0x77, 0x46, 0xce, 0x7d, 0xbb, 0x53,
+  0xd0, 0xed, 0x97, 0xe5, 0xa4, 0x5d, 0x1c, 0x59, 0x14, 0x21, 0x97, 0xe7, 0xdf, 0x77, 0xba, 0x19,
+  0x95, 0xee, 0xac, 0x3d, 0xaf, 0xd6, 0x08, 0xe9, 0x61, 0x17, 0x3e, 0x53, 0x45, 0x9f, 0x47, 0x27,
+  0x07, 0xc5, 0xd1, 0xf2, 0x1c, 0xc5, 0x9a, 0x0e, 0x60, 0xd3, 0x06, 0x2c, 0xbb, 0x05, 0xae, 0xed,
+  0x49, 0x28, 0x4b, 0xbe, 0x5c, 0x0e, 0xee, 0x9d, 0xcd, 0x5e, 0xd4, 0x2d, 0xc0, 0xd2, 0x61, 0xd5,
+  0x4a, 0xbd, 0xd5, 0xa4, 0x5f, 0xfb, 0x29, 0xc0, 0x1d, 0x9b, 0xd7, 0x4f, 0xa4, 0xae, 0x08, 0xfd,
+  0x88, 0xb1, 0x60, 0x61, 0x05, 0xf2, 0xc5, 0xca, 0x66, 0x7b, 0x83, 0x79, 0xb8, 0xee, 0x49, 0x21,
+  0x4f, 0x76, 0xd7, 0x3b, 0x32, 0x36, 0x4a, 0x26, 0x2c, 0x24, 0x67, 0xe6, 0xbe, 0x76, 0x23, 0x73,
+  0x4e, 0xf3, 0xc6, 0x32, 0xe0, 0x26, 0x61, 0x2f, 0x16, 0x15, 0xbf, 0xfd, 0x66, 0xa2, 0x6c, 0x9b,
+  0x25, 0x3d, 0xdf, 0xf8, 0x95, 0xa7, 0xda, 0x33, 0x59, 0xda, 0xf7, 0xea, 0x8f, 0xac, 0x11, 0xb2,
+  0xc4, 0x21, 0xfd, 0x30, 0x8d, 0x13, 0x61, 0x1e, 0xe5, 0x86, 0xd6, 0x48, 0xd1, 0xae, 0x92, 0xb6,
+  0x7c, 0x8c, 0xc7, 0x9f, 0x22, 0x64, 0x76, 0x88, 0xc3, 0x20, 0xe3, 0xd3, 0x9e, 0x1e, 0xe0, 0x1c,
+  0xad, 0xa2, 0x99, 0xb4, 0x0d, 0x0c, 0x62, 0x43, 0x41, 0x32, 0x68, 0x20, 0x0f, 0x8e, 0xdd, 0xb6,
+  0x0f, 0xa2, 0xea, 0x4c, 0xa9, 0xcf, 0x95, 0xc4, 0xa7, 0xd9, 0x1a, 0x09, 0x22, 0xa8, 0xfb, 0x72,
+  0x3b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45, 0x0c,
+  0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45,
+  0x0c, 0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x1f,
+  0x2f, 0x49, 0xe9, 0x99, 0x0c, 0x0d, 0x17, 0x74, 0x2b, 0x21, 0x60, 0x99, 0xd2, 0xea, 0x35, 0x07,
+  0x6f, 0xf8, 0x09, 0x73, 0xf0, 0xba, 0x18, 0xf6, 0xe9, 0x1d, 0x35, 0xe1, 0x0f, 0x01, 0xa9, 0x5a,
+  0x13, 0xcc, 0xb7, 0xbb, 0xbf, 0x4b, 0xbc, 0x53, 0xc6, 0xac, 0xd9, 0x7e, 0x0f, 0xd0, 0xf1, 0xd4,
+  0x58, 0xdb, 0x95, 0x70, 0x3b, 0x93, 0xf1, 0x57, 0xbf, 0x73, 0xbd, 0xd9, 0xc2, 0x86, 0x47, 0x89,
+  0x86, 0x8f, 0x90, 0x1a, 0xd5, 0x42, 0x1a, 0xfc, 0x58, 0xb9, 0x10, 0xcd, 0x79, 0xca, 0x11, 0x6a,
+  0xd0, 0x56, 0x4e, 0x6a, 0x49, 0x4a, 0xaa, 0x1e, 0xe0, 0xee, 0xa2, 0x26, 0x6c, 0xb1, 0x40, 0x4d,
+  0x99, 0x41, 0xc0, 0xe3, 0x1f, 0xb0, 0xfc, 0x39, 0xcc, 0x06, 0x2a, 0xc9, 0x57, 0x84, 0xa6, 0xbf,
+  0x8f, 0x3e, 0x84, 0x81, 0x37, 0x8b, 0xed, 0x5c, 0xb5, 0xe1, 0x26, 0xe1, 0x9c, 0xc3, 0x22, 0xf3,
+  0xeb, 0xb6, 0x31, 0x08, 0xcf, 0x0c, 0x51, 0xe6, 0x0e, 0xb1, 0x26, 0x7e, 0x10, 0xb6, 0x1d, 0x7f,
+  0x28, 0x7e, 0xda, 0x9c, 0x11, 0x34, 0xdd, 0xf0, 0xc8, 0x4e, 0xf0, 0x91, 0xb3, 0x9f, 0x46, 0x36,
+  0x75, 0x52, 0x4e, 0xd6, 0x27, 0x1d, 0x85, 0x1b, 0x78, 0x97, 0x1e, 0x31, 0x39, 0x26, 0x8b, 0x59,
+  0x2e, 0xc2, 0x68, 0xb7, 0xf1, 0xbd, 0x07, 0x22, 0x91, 0x2a, 0x82, 0x33, 0x05, 0x75, 0x86, 0xd3,
+  0x23, 0x68, 0xb9, 0x87, 0xdc, 0x7e, 0xdc, 0x6b, 0x45, 0xa0, 0xac, 0x61, 0x3c, 0xc5, 0xf6, 0xbc,
+  0x56, 0xf0, 0xd0, 0xa1, 0x9d, 0xff, 0xa5, 0xee, 0xdc, 0xa7, 0x98, 0x75, 0xb0, 0x81, 0x75, 0xe6,
+  0x19, 0xd3, 0x67, 0x48, 0x07, 0x5c, 0xc4, 0x43, 0x90, 0x6d, 0xab, 0x18, 0xf2, 0xc0, 0xf6, 0x08,
+  0x84, 0x1a, 0x34, 0x45, 0xa3, 0x9e, 0x4f, 0xdd, 0x8e, 0xa3, 0xb0, 0x6a, 0x08, 0x0c, 0x6f
+};
+
+UINT32 gPkNewRsa2048Sha256Size = sizeof(gPkNewRsa2048Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
new file mode 100644
index 0000000000..c9de91552b
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xaf, 0xb5, 0xc9, 0xa8, 0xa0, 0x86, 0xd8, 0xbc, 0xa5, 0xc3, 0xfb, 0xc3,
+  0xef, 0x1f, 0x92, 0xd6, 0x20, 0x9c, 0x42, 0xea, 0xfa, 0xdd, 0x17, 0x13, 0xa1, 0xdb, 0x4a, 0x51,
+  0xe4, 0xa8, 0x49, 0xb5, 0xbf, 0xb8, 0x13, 0xa5, 0xa8, 0xa6, 0xb5, 0x69, 0x39, 0x93, 0xba, 0xa1,
+  0x50, 0x4f, 0x7a, 0xa4, 0x57, 0xba, 0x9f, 0xf4, 0xab, 0x4d, 0xf0, 0xb6, 0x60, 0xf2, 0x94, 0xd0,
+  0x42, 0x40, 0x23, 0xbc, 0xab, 0x56, 0xa1, 0xc8, 0xd5, 0xe5, 0x8a, 0xde, 0x6d, 0x51, 0xff, 0x75,
+  0x69, 0x32, 0x2f, 0xa5, 0x05, 0x39, 0xbc, 0x3e, 0x20, 0x89, 0x3d, 0x2d, 0x9c, 0x74, 0xfa, 0x75,
+  0x60, 0xaf, 0xfd, 0x7e, 0x94, 0x8e, 0xbc, 0x39, 0x15, 0x8c, 0x5f, 0x61, 0x96, 0x22, 0xd2, 0x05,
+  0x9d, 0x79, 0x6a, 0xe6, 0xf9, 0xa5, 0x4a, 0x95, 0x0a, 0x3b, 0x46, 0x3c, 0x50, 0x86, 0x42, 0xa6,
+  0x39, 0x5a, 0x13, 0xd4, 0x92, 0xe1, 0x05, 0x16, 0xae, 0xd7, 0x82, 0x79, 0x8e, 0xea, 0xf3, 0xe3,
+  0x67, 0xa7, 0xc9, 0xdb, 0x00, 0x52, 0xab, 0x32, 0xcb, 0x34, 0x30, 0x55, 0x14, 0xf1, 0x03, 0xbf,
+  0x31, 0x11, 0x91, 0xc2, 0x2a, 0xb9, 0x3d, 0xa8, 0x2d, 0x7b, 0x29, 0x20, 0x13, 0xda, 0x7c, 0x2d,
+  0x5e, 0x3b, 0xcd, 0xbd, 0xdf, 0x46, 0xba, 0x71, 0xc7, 0xfd, 0x50, 0x7f, 0x10, 0x15, 0xaf, 0x9f,
+  0xb3, 0xda, 0xe2, 0xad, 0xe2, 0xca, 0x0e, 0x95, 0x54, 0xd2, 0x4d, 0x33, 0x71, 0xff, 0x9d, 0x33,
+  0xc0, 0xb2, 0x77, 0xa2, 0xa5, 0x64, 0x59, 0x1f, 0xb3, 0x59, 0x4e, 0x96, 0x07, 0x55, 0xeb, 0xdf,
+  0xa9, 0x61, 0x7b, 0xb4, 0xb3, 0x5d, 0x4f, 0xbd, 0x5b, 0xfe, 0x0b, 0xdd, 0x31, 0x0a, 0xb8, 0x64,
+  0x7c, 0x0a, 0xd1, 0x57, 0x31, 0x89, 0xec, 0xa2, 0x41, 0x31, 0x9f, 0xf0, 0xc6, 0xf4, 0xb4, 0x8a,
+  0x24, 0xbb, 0x4d, 0x88, 0x42, 0xb6, 0xb4, 0x6e, 0x8b, 0x43, 0x9c, 0x0a, 0xf6, 0x30, 0xce, 0x28,
+  0xb6, 0x64, 0x75, 0xc2, 0xd0, 0xb5, 0xe6, 0xbf, 0x8b, 0x61, 0x8a, 0x51, 0xc7, 0x70, 0x1f, 0x6c,
+  0x34, 0xa5, 0x1d, 0x5c, 0xc3, 0xa3, 0x7c, 0x7e, 0x95, 0xab, 0xcc, 0x8a, 0xa0, 0x68, 0x17, 0x8a,
+  0xbf, 0x0d, 0x50, 0x99, 0x23, 0x77, 0x9c, 0xee, 0xb3, 0xa5, 0x42, 0x6e, 0x0d, 0xc6, 0xe5, 0x99,
+  0x0a, 0xff, 0x79, 0xbf, 0xc3, 0xf4, 0x4b, 0xe7, 0xdf, 0x14, 0x9c, 0x91, 0xac, 0x98, 0x7b, 0x16,
+  0x58, 0x56, 0xc9, 0x48, 0xfe, 0xc0, 0xf4, 0x07, 0x49, 0x32, 0x2e, 0x7c, 0x76, 0xaf, 0xba, 0x1c,
+  0x83, 0x9b, 0x33, 0xfa, 0x88, 0x13, 0x5b, 0xde, 0x36, 0xb5, 0x9c, 0x3d, 0x38, 0x2f, 0x08, 0x37,
+  0x5d, 0x95, 0x5c, 0xfd, 0x7b, 0xe5, 0xd2, 0xf8, 0xfc, 0x20, 0x92, 0x79, 0x6a, 0xc9, 0x53, 0xbc,
+  0xfb, 0x68, 0x25, 0xee, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x7f,
+  0x2f, 0x45, 0x86, 0x22, 0x18, 0x3b, 0xb6, 0x27, 0x30, 0x62, 0x62, 0xe6, 0x6d, 0xc4, 0xcc, 0x1c,
+  0x88, 0xd6, 0x58, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x57, 0x22, 0x1a, 0xec, 0x4b, 0x4e, 0xa8, 0x2b, 0x8b, 0x3b, 0x08, 0xf6, 0x71, 0x86,
+  0x94, 0x38, 0x66, 0xff, 0xef, 0x9c, 0xbe, 0x51, 0x87, 0x26, 0x35, 0x02, 0xfd, 0xa0, 0xd7, 0x53,
+  0xe4, 0x98, 0x52, 0xe9, 0x73, 0xea, 0x40, 0x9e, 0xa0, 0x75, 0x90, 0x20, 0xbe, 0x1d, 0x61, 0x85,
+  0xb5, 0xc9, 0x8f, 0xf3, 0x23, 0x61, 0x07, 0x7f, 0x9d, 0xf6, 0x52, 0xd2, 0x9a, 0xea, 0x97, 0x8b,
+  0xc0, 0x73, 0x89, 0xcb, 0x8b, 0x28, 0xfa, 0x45, 0xf5, 0x43, 0x15, 0x91, 0x1c, 0x21, 0xab, 0xb5,
+  0x7f, 0x86, 0x34, 0xea, 0x25, 0xea, 0x9f, 0xc4, 0xcd, 0x34, 0xe6, 0xb7, 0xd9, 0xba, 0xaf, 0x55,
+  0x96, 0x68, 0xf8, 0x8a, 0x9c, 0xa3, 0x87, 0xf1, 0x82, 0x44, 0xcc, 0xe7, 0x0b, 0xd6, 0xfb, 0x17,
+  0x01, 0x01, 0x4d, 0x5b, 0x0d, 0x25, 0xe3, 0x69, 0xf0, 0x15, 0x29, 0xf8, 0x16, 0x11, 0x63, 0xd1,
+  0xb7, 0x21, 0x18, 0x7c, 0x75, 0xaa, 0xec, 0x35, 0xe7, 0x2e, 0x94, 0x79, 0x95, 0x3d, 0x7f, 0xa2,
+  0x2a, 0x73, 0x62, 0x81, 0x6b, 0xcc, 0x35, 0xe6, 0x0c, 0x4c, 0x87, 0xb2, 0xcb, 0xa0, 0xfc, 0x10,
+  0x2e, 0x81, 0x4f, 0x39, 0xbf, 0xff, 0x89, 0x4b, 0xff, 0x8b, 0x86, 0x37, 0xfa, 0x80, 0x44, 0x2c,
+  0x61, 0x23, 0xfd, 0x7e, 0x9e, 0xc1, 0xc8, 0x46, 0xb9, 0x25, 0xc4, 0x24, 0x06, 0x99, 0xf0, 0x11,
+  0xc8, 0xfc, 0x55, 0x98, 0x5c, 0xd8, 0xf2, 0x26, 0x09, 0x60, 0x02, 0x94, 0x47, 0xbf, 0x86, 0x0b,
+  0x59, 0x9c, 0xb5, 0x5f, 0x13, 0xd3, 0x68, 0x11, 0xbb, 0xd6, 0xd2, 0x99, 0x35, 0x21, 0xfa, 0x7f,
+  0x6a, 0x3d, 0x3e, 0x9e, 0x2b, 0x65, 0x07, 0x1e, 0x54, 0xba, 0x56, 0xf1, 0x82, 0xa2, 0xd8, 0x7e,
+  0xd9, 0xca, 0x22, 0x75, 0x6a, 0x79, 0x14, 0x66, 0x2f, 0xbb, 0xe9, 0x67, 0x9b, 0x1c, 0x28, 0x06,
+  0x13, 0xaf, 0xbd, 0xab, 0xda, 0x98, 0xc4, 0x90, 0xed, 0xba, 0x7b, 0xe9, 0xe6, 0x90, 0x4c, 0x82,
+  0xfd, 0x34, 0x02, 0xea, 0x76, 0x9f, 0xb0, 0x8d, 0x42, 0xda, 0xd9, 0x0a, 0x56, 0x8e, 0xe9, 0x01,
+  0xb5, 0xc2, 0xa3, 0xfc, 0xc9, 0x73, 0xef, 0x72, 0x92, 0xa5, 0xe7, 0x27, 0x93, 0x63, 0x2e, 0xe7,
+  0x0b, 0x61, 0x94, 0x50, 0x94, 0x29, 0x3c, 0x67, 0x87, 0xa7, 0xf7, 0x5b, 0x09, 0x1f, 0xfa, 0x7b,
+  0xdd, 0x83, 0x7b, 0xc4, 0x3e, 0xd9, 0x04, 0xbf, 0x4e, 0x5b, 0x79, 0x1a, 0x37, 0x4f, 0x4d, 0xd5,
+  0x4b, 0x5b, 0x99, 0xe2, 0xc6, 0x6a, 0xa7, 0x75, 0x53, 0xab, 0xaa, 0xaa, 0xaf, 0x1e, 0x3b, 0xa1,
+  0x64, 0x4d, 0x75, 0x83, 0x84, 0x09, 0x92, 0x53, 0x32, 0x52, 0x8b, 0x86, 0xdd, 0x02, 0x69, 0xa2,
+  0xbc, 0x4e, 0xc5, 0xa4, 0x13, 0xc2, 0x36, 0x2f, 0x31, 0x60, 0xa4, 0x30, 0x93, 0x51, 0x5f, 0x0c,
+  0xa1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b, 0xa4,
+  0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b,
+  0xa4, 0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x8c,
+  0xfe, 0x86, 0x60, 0x54, 0xf8, 0x9b, 0x13, 0xfc, 0xae, 0x43, 0xda, 0x43, 0xc8, 0x1c, 0xa4, 0x40,
+  0x62, 0xdb, 0x4d, 0x1f, 0x81, 0xf0, 0xf1, 0xf6, 0xb9, 0xfa, 0x3a, 0x14, 0x1e, 0x3c, 0x60, 0x54,
+  0x91, 0x06, 0x85, 0x56, 0x95, 0x4d, 0x20, 0x00, 0xd5, 0x26, 0x3b, 0xa5, 0x49, 0xaa, 0x95, 0x61,
+  0x09, 0x17, 0xf2, 0xa4, 0x58, 0xcd, 0x8f, 0xf9, 0xf0, 0xb8, 0xbd, 0x2d, 0x5d, 0x07, 0x13, 0x01,
+  0xb9, 0xe8, 0x88, 0x1b, 0x4d, 0xa3, 0x97, 0xc2, 0xb5, 0xf2, 0x15, 0xe1, 0xaa, 0xf0, 0xfd, 0x17,
+  0x88, 0x5f, 0xb4, 0xcc, 0xa9, 0x30, 0x2f, 0x8f, 0xd9, 0x3f, 0x18, 0xf2, 0x8a, 0x9c, 0xd3, 0xba,
+  0x1c, 0x6f, 0xf2, 0x10, 0xb5, 0xa6, 0x69, 0x8a, 0x9d, 0xd7, 0x6f, 0xea, 0xcc, 0x4b, 0x05, 0x08,
+  0xb6, 0xff, 0x4f, 0xae, 0xa4, 0xec, 0x10, 0xef, 0x02, 0x35, 0xac, 0x6a, 0xe0, 0x67, 0x68, 0x7f,
+  0x2a, 0x3c, 0x7f, 0x4d, 0x30, 0x38, 0x59, 0x81, 0x0b, 0xc4, 0x1c, 0x8c, 0x80, 0x16, 0x0a, 0x94,
+  0x67, 0x0d, 0xf6, 0x6b, 0xe5, 0xaf, 0x0d, 0x05, 0x27, 0x41, 0x79, 0x33, 0xc0, 0x6b, 0x34, 0xa2,
+  0xb6, 0x22, 0x26, 0x20, 0xeb, 0xee, 0x33, 0x1c, 0x43, 0x7f, 0x4d, 0x5b, 0x97, 0x74, 0x49, 0x00,
+  0xbd, 0xd7, 0x91, 0xdd, 0xc9, 0xa1, 0x6f, 0xfc, 0x65, 0x1b, 0x18, 0x4c, 0xb6, 0x5c, 0xca, 0xe1,
+  0xe1, 0x53, 0xc3, 0xc5, 0xa3, 0x23, 0x28, 0xaa, 0xec, 0x83, 0xe2, 0xd7, 0xc4, 0xb3, 0x97, 0xf0,
+  0xc3, 0x4c, 0x91, 0x3d, 0x0f, 0xc0, 0x68, 0xd2, 0x33, 0x8a, 0xce, 0xee, 0xe8, 0x7f, 0xc3, 0x81,
+  0x9d, 0xf6, 0xc6, 0xd0, 0xe9, 0x01, 0xd4, 0x52, 0x6b, 0xb7, 0x56, 0xc1, 0x20, 0x3b, 0x11, 0x18,
+  0xc6, 0xd9, 0x44, 0x07, 0x22, 0xe4, 0x61, 0xa5, 0x48, 0x54, 0xff, 0xb4, 0x74, 0x68, 0x6c, 0x2e,
+  0x6a, 0x61, 0x00, 0xfa, 0x90, 0x58, 0x53, 0x42, 0x2b, 0xe9, 0x16, 0xf2, 0x35, 0x08, 0xbc, 0xbb,
+  0x0c, 0xca, 0x56, 0xf8, 0x50, 0xae, 0x15, 0xba, 0xa0, 0x80, 0x97, 0xf3, 0x0a, 0xe2, 0x11, 0xed,
+  0x7d, 0x24, 0xdc, 0xb5, 0xbe, 0xc0, 0xd8, 0xd5, 0x96, 0x83, 0xbc, 0xca, 0x6e, 0x0a, 0x82, 0x56,
+  0x84, 0x9c, 0x16, 0xc5, 0xbb, 0x7e, 0x54, 0x2e, 0x6a, 0xfa, 0x88, 0x4d, 0x32, 0xdb, 0x42, 0xb5,
+  0xa5, 0x01, 0xfc, 0x36, 0x50, 0x68, 0xdb, 0xc0, 0x7c, 0x20, 0x70, 0x34, 0x2f, 0x53, 0x09, 0x2c,
+  0xd7, 0xaa, 0x21, 0xa9, 0xa1, 0x37, 0x70, 0xe9, 0x83, 0x13, 0xb1, 0x7d, 0x8b, 0x16, 0x04, 0xd5,
+  0x92, 0x78, 0x83, 0xbc, 0x22, 0x25, 0xbc, 0xd1, 0x72, 0xee, 0x53, 0x3c, 0xf3, 0x5f, 0xa7, 0x78,
+  0xb9, 0xce, 0x03, 0xe0, 0xe4, 0xcf, 0x80, 0x94, 0xdc, 0x0d, 0xd8, 0x53, 0xc1, 0x83, 0xbd
+};
+
+UINT32 gPkNewRsa3072Sha256Size = sizeof(gPkNewRsa3072Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
new file mode 100644
index 0000000000..8e7c2d64f1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x53, 0x5f, 0x07, 0x58, 0x7a, 0x77, 0x36, 0x03, 0x4e, 0xa8, 0x30, 0x83,
+  0x5d, 0x9b, 0xad, 0x4a, 0x1d, 0x08, 0xd9, 0xc5, 0x95, 0x28, 0x81, 0xb9, 0x89, 0x62, 0x5b, 0x03,
+  0xf2, 0x2c, 0xf0, 0xf1, 0x86, 0x01, 0x13, 0x5d, 0xb6, 0xc2, 0x30, 0x93, 0xa3, 0x0f, 0x37, 0x24,
+  0x89, 0x60, 0xfd, 0x0b, 0x43, 0x84, 0x79, 0x21, 0xed, 0x57, 0x89, 0x7f, 0x63, 0xf0, 0xf2, 0x82,
+  0x01, 0x5d, 0x39, 0x8a, 0x1c, 0xe3, 0x37, 0xff, 0x92, 0xc2, 0xbd, 0x0e, 0x5a, 0x84, 0x05, 0xe2,
+  0x50, 0x11, 0x58, 0xec, 0x2f, 0x69, 0x3d, 0xbe, 0x14, 0xe2, 0x45, 0x36, 0x3b, 0x49, 0x1d, 0x10,
+  0xf2, 0x53, 0x99, 0x4f, 0x96, 0x05, 0x48, 0xba, 0xfe, 0xb5, 0x6e, 0xf4, 0x4f, 0x48, 0xc6, 0x82,
+  0xaa, 0x80, 0x31, 0x07, 0x42, 0x81, 0xdc, 0x37, 0xca, 0xd4, 0xaf, 0xd0, 0x7b, 0x29, 0xeb, 0x62,
+  0x7c, 0x98, 0x5a, 0xf2, 0x35, 0xaf, 0x75, 0x24, 0xad, 0x3d, 0x1e, 0xe8, 0xa8, 0xaa, 0xfd, 0x6a,
+  0xd6, 0x6e, 0xed, 0xdd, 0x00, 0x7e, 0x2c, 0x9a, 0x57, 0xbf, 0xd0, 0x41, 0x36, 0x18, 0x76, 0x9e,
+  0x29, 0x70, 0x88, 0xfd, 0x1e, 0x5f, 0x5f, 0xd7, 0x72, 0x1a, 0xda, 0xf4, 0xe8, 0x55, 0x7e, 0x2d,
+  0xf4, 0x9a, 0x43, 0x9b, 0x06, 0xcf, 0x28, 0x28, 0xd7, 0x00, 0x24, 0xf9, 0x9b, 0xc4, 0xa6, 0xa8,
+  0x6e, 0x6d, 0x3f, 0x16, 0x0e, 0x37, 0x56, 0x74, 0x02, 0x5c, 0x81, 0xae, 0x21, 0x1a, 0x44, 0xf3,
+  0x16, 0xbe, 0xf3, 0x60, 0xf8, 0x33, 0x34, 0xab, 0x21, 0xdb, 0x31, 0x56, 0xa6, 0x79, 0xdc, 0x2a,
+  0xcc, 0x6c, 0x57, 0x2c, 0xff, 0x56, 0x5d, 0xb8, 0x45, 0x86, 0xd5, 0xeb, 0x63, 0xc2, 0x0f, 0xc8,
+  0xb8, 0xc2, 0x17, 0x58, 0xf0, 0x5d, 0xc0, 0xc2, 0x4c, 0x18, 0x3d, 0x0f, 0x15, 0x05, 0x62, 0xca,
+  0x74, 0x85, 0x46, 0x43, 0x19, 0x7f, 0x55, 0xef, 0xa8, 0xbc, 0x74, 0x05, 0xbe, 0x50, 0x35, 0x83,
+  0x22, 0x6c, 0xa1, 0x8a, 0xf0, 0xe0, 0x3b, 0xac, 0x2a, 0xee, 0x40, 0x5b, 0x01, 0xbe, 0x34, 0x3a,
+  0x65, 0x3b, 0xde, 0x60, 0x90, 0x7b, 0x45, 0x79, 0x44, 0x24, 0xf6, 0x12, 0xf9, 0x04, 0x09, 0xec,
+  0x39, 0x95, 0x33, 0x0f, 0xb5, 0x77, 0x65, 0xb6, 0x1d, 0x00, 0xa2, 0x78, 0x4b, 0xc9, 0x9a, 0x76,
+  0xb0, 0x56, 0x94, 0xb8, 0xa1, 0xc1, 0xd9, 0x56, 0xe4, 0x74, 0xee, 0x2e, 0x16, 0x4d, 0xae, 0x40,
+  0xcf, 0xf1, 0xaa, 0x61, 0xac, 0x06, 0x3a, 0x3b, 0xe9, 0xf4, 0x09, 0x36, 0xa8, 0x0c, 0x42, 0x3b,
+  0x3e, 0x04, 0xd9, 0x4c, 0x75, 0xeb, 0x43, 0x41, 0x11, 0x5a, 0xb8, 0xff, 0x8d, 0xaf, 0x79, 0x50,
+  0xff, 0x72, 0xa6, 0xa4, 0xba, 0xde, 0xe0, 0x03, 0x96, 0xca, 0x55, 0x56, 0xfe, 0x91, 0x1f, 0xf6,
+  0x79, 0xbd, 0xa4, 0x9a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x34, 0x16, 0x1f, 0x52, 0x09, 0x02, 0x83, 0xf4, 0x74, 0x86, 0xf3, 0xf5, 0xbe, 0xe4, 0x7c, 0xec,
+  0xe3, 0x7d, 0x29, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x31, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x31,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x39, 0x0e, 0x96, 0x5e, 0xb8, 0x06, 0x19, 0xad, 0xf9, 0xfd, 0xcf, 0xcd, 0xc4, 0x8f,
+  0xd8, 0xd5, 0x8a, 0xc1, 0xdf, 0x84, 0x0c, 0x34, 0x4e, 0x0d, 0xf9, 0x60, 0x7c, 0xd5, 0xc1, 0x8e,
+  0xc1, 0x40, 0x52, 0xda, 0xc6, 0xd0, 0x41, 0x4f, 0xa7, 0x16, 0xc9, 0x97, 0x89, 0x8c, 0x5e, 0x7a,
+  0xea, 0x3e, 0xe9, 0xc0, 0x1e, 0x57, 0x21, 0xda, 0x94, 0x8b, 0xba, 0xd6, 0xcf, 0x3d, 0xb0, 0x28,
+  0x98, 0xa9, 0x61, 0xc4, 0x5b, 0xc3, 0xf5, 0x46, 0xfb, 0x3a, 0x57, 0xc1, 0x78, 0xa0, 0x1d, 0xd7,
+  0x35, 0x72, 0xb4, 0x37, 0xc8, 0xbe, 0xf0, 0xb3, 0x7d, 0xb7, 0xfb, 0x2f, 0x6a, 0x7a, 0x4e, 0x28,
+  0xb3, 0xe6, 0x79, 0xdc, 0xe0, 0xf7, 0x5f, 0x66, 0xa4, 0x56, 0x79, 0x8e, 0x2b, 0xa5, 0x06, 0xe2,
+  0x3d, 0x48, 0xb3, 0x4f, 0x7d, 0xba, 0x4a, 0x44, 0x33, 0xbb, 0x14, 0x13, 0x54, 0x90, 0x89, 0x80,
+  0xe9, 0x57, 0x43, 0xf7, 0xb1, 0x59, 0xec, 0xbf, 0x41, 0xe1, 0xf3, 0xb5, 0x19, 0xd1, 0x3d, 0x2b,
+  0x05, 0x66, 0x58, 0xb5, 0xcd, 0x2a, 0xfe, 0x54, 0xa0, 0x13, 0xe9, 0x89, 0x4c, 0xd1, 0xb8, 0xd3,
+  0xf3, 0xc9, 0x1c, 0xe4, 0xe4, 0xa4, 0x97, 0xc6, 0x55, 0x5b, 0x78, 0xb0, 0x4f, 0x90, 0x52, 0x82,
+  0x32, 0xd0, 0xc7, 0x0a, 0xa6, 0x25, 0xfb, 0xf1, 0x13, 0xfc, 0x78, 0xeb, 0x58, 0xd6, 0x33, 0x24,
+  0xc9, 0xa7, 0xb9, 0x14, 0x8f, 0x9d, 0x05, 0xbd, 0x44, 0x2e, 0x76, 0xb1, 0x00, 0x9e, 0x09, 0xd6,
+  0x4a, 0x17, 0x6c, 0x9c, 0xf4, 0xa2, 0xa6, 0xe7, 0x48, 0x96, 0x29, 0x6e, 0x62, 0x07, 0xd9, 0xd2,
+  0x84, 0x18, 0xd7, 0x3b, 0x29, 0x8d, 0x2d, 0x13, 0x88, 0xbd, 0xed, 0x78, 0x06, 0x5e, 0x8d, 0x4e,
+  0xb0, 0xed, 0xf7, 0x60, 0x4b, 0x81, 0x71, 0x6e, 0x31, 0x21, 0x95, 0x8f, 0xed, 0x05, 0x86, 0x49,
+  0xff, 0xc6, 0x66, 0xf6, 0xa5, 0xf2, 0x56, 0xb3, 0x1e, 0xb6, 0x25, 0xac, 0x2c, 0x0d, 0x43, 0xfb,
+  0xac, 0xa6, 0x49, 0xe7, 0xae, 0x05, 0x79, 0xd3, 0x98, 0xad, 0xdf, 0xae, 0x13, 0x7a, 0xd5, 0x78,
+  0x14, 0xcb, 0xe7, 0x66, 0x85, 0xf8, 0x50, 0x50, 0xd2, 0x60, 0xfa, 0x9d, 0x94, 0x71, 0x4e, 0x9a,
+  0xd7, 0x9e, 0x17, 0x06, 0xc2, 0x94, 0x07, 0xb7, 0xf7, 0x07, 0xf0, 0x23, 0x11, 0x50, 0x58, 0x16,
+  0x6e, 0x52, 0xcd, 0x83, 0x06, 0xfb, 0x33, 0x7b, 0x6f, 0x30, 0x01, 0x62, 0x0a, 0x63, 0x32, 0x2e,
+  0x99, 0xee, 0x26, 0xa2, 0x07, 0x02, 0x6b, 0x45, 0xd1, 0x46, 0x2c, 0xa1, 0x3f, 0x9b, 0xfe, 0x58,
+  0x20, 0xc8, 0xd8, 0x3e, 0xc5, 0xc0, 0x11, 0xa0, 0x30, 0xac, 0x0d, 0x6b, 0x4b, 0x45, 0xab, 0xca,
+  0x10, 0x66, 0x77, 0x35, 0x57, 0x72, 0x67, 0xc2, 0x99, 0xe9, 0x9b, 0xc7, 0x2a, 0x5c, 0x84, 0x8f,
+  0x55, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8, 0x70,
+  0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8,
+  0x70, 0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x91,
+  0x61, 0x62, 0xff, 0x17, 0xb7, 0x31, 0x14, 0x72, 0x53, 0x61, 0xc4, 0xfd, 0xc9, 0x45, 0xfa, 0x39,
+  0x58, 0x0c, 0x9a, 0xc0, 0x45, 0x50, 0xd3, 0xb1, 0x95, 0x85, 0x0e, 0x3c, 0xc7, 0xbe, 0xa2, 0x81,
+  0x99, 0x19, 0x9e, 0x80, 0xa6, 0x35, 0xa4, 0x56, 0x85, 0xea, 0x91, 0x2c, 0xf8, 0xd9, 0x4e, 0x7c,
+  0xf4, 0x59, 0x81, 0xd2, 0xb9, 0x85, 0xe0, 0x14, 0x6f, 0xd3, 0xfa, 0xb4, 0xf9, 0xcf, 0x4b, 0x9c,
+  0x81, 0x55, 0x67, 0xe9, 0x48, 0xee, 0x9e, 0xd8, 0x89, 0xe0, 0xba, 0x3e, 0x04, 0x86, 0x8e, 0x42,
+  0xf0, 0x72, 0x61, 0x76, 0xdb, 0x25, 0xea, 0x82, 0x2f, 0x78, 0xc6, 0x5a, 0xa9, 0xef, 0x85, 0x03,
+  0xb9, 0xa1, 0x66, 0x8e, 0xb2, 0xc0, 0xfe, 0xad, 0x6b, 0xda, 0x32, 0xd4, 0x85, 0x2a, 0xa6, 0xcd,
+  0xde, 0xce, 0xe1, 0x64, 0x5a, 0x09, 0x63, 0xf0, 0xf1, 0x68, 0x66, 0xa3, 0x41, 0x72, 0x67, 0xd2,
+  0x56, 0x1c, 0x53, 0x58, 0x4a, 0xd6, 0x8b, 0xfc, 0x15, 0xb5, 0x8b, 0xeb, 0x6d, 0x84, 0x37, 0x77,
+  0x42, 0xae, 0x9e, 0x21, 0x9c, 0x4b, 0x4b, 0x4e, 0x32, 0x78, 0x07, 0x81, 0x19, 0xf2, 0xce, 0x4c,
+  0xc4, 0xaf, 0xa3, 0xe7, 0x67, 0x4f, 0x8f, 0xd2, 0xda, 0x73, 0x7f, 0x87, 0xff, 0x57, 0xbf, 0x4a,
+  0x15, 0x98, 0x9c, 0xf1, 0x1c, 0x1f, 0x89, 0x91, 0x4c, 0xcf, 0xa8, 0xfb, 0x38, 0x73, 0xb7, 0xb6,
+  0xa1, 0x80, 0xb2, 0x39, 0xe6, 0x43, 0xbf, 0x4d, 0xb1, 0x4f, 0xbf, 0x4c, 0x13, 0x98, 0xa5, 0x52,
+  0xc7, 0x50, 0xe2, 0x17, 0xc7, 0x0b, 0xee, 0xcb, 0xa9, 0x3a, 0x93, 0xa1, 0x89, 0xb3, 0x39, 0x04,
+  0x4e, 0x75, 0xc6, 0x40, 0x18, 0x80, 0x95, 0xed, 0xd3, 0x79, 0x1c, 0xa2, 0xe2, 0x6e, 0x65, 0x85,
+  0xec, 0xbf, 0x62, 0xe5, 0x5b, 0xd3, 0x07, 0xf0, 0x6a, 0x43, 0xd5, 0xee, 0x2f, 0x3c, 0x43, 0x3e,
+  0x74, 0xdb, 0x2b, 0xec, 0x01, 0x50, 0xc9, 0x09, 0xf9, 0xeb, 0x39, 0xcc, 0x4d, 0x6a, 0x38, 0x15,
+  0xe6, 0x26, 0xb9, 0x32, 0xe2, 0xf4, 0x5f, 0x9d, 0xac, 0x52, 0x55, 0xe8, 0x73, 0xf4, 0x4b, 0xf3,
+  0xf5, 0x3b, 0x13, 0x44, 0x07, 0x2f, 0x5f, 0x3a, 0x45, 0x38, 0xd5, 0x2b, 0xce, 0x63, 0x41, 0x41,
+  0x9d, 0x04, 0x31, 0xa7, 0x31, 0x1e, 0x20, 0xfc, 0xd9, 0xab, 0x70, 0x4e, 0xd4, 0xc1, 0x75, 0xff,
+  0x76, 0xa8, 0x9c, 0x89, 0x00, 0xc3, 0xb9, 0x15, 0x30, 0xf4, 0xa0, 0x19, 0x1b, 0xab, 0xad, 0x41,
+  0x72, 0x75, 0x41, 0x26, 0x58, 0x8f, 0xe1, 0x33, 0xd5, 0xae, 0x2b, 0xf0, 0xb9, 0x6f, 0x3b, 0x35,
+  0x65, 0xde, 0x2a, 0x99, 0xed, 0xc3, 0x3f, 0xb0, 0xb6, 0x1d, 0xe9, 0x2f, 0x38, 0xc2, 0xf8, 0x57,
+  0xd4, 0xe0, 0x06, 0x24, 0x71, 0xe5, 0x90, 0xf5, 0xfc, 0x4d, 0x11, 0xa7, 0xb7, 0xfc, 0xb2
+};
+
+UINT32 gPkNewRsa3072Sha384Size = sizeof(gPkNewRsa3072Sha384);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
new file mode 100644
index 0000000000..5d59baf091
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x06, 0x6f, 0x06, 0xe8, 0xd0, 0xa6, 0x98, 0x26, 0x9f, 0xf2, 0xd2, 0xa8,
+  0x50, 0x96, 0xa1, 0x34, 0xe9, 0xd5, 0xcd, 0x31, 0x40, 0x78, 0x2f, 0x58, 0x80, 0xa3, 0xf9, 0x69,
+  0x9b, 0xd8, 0x81, 0xe2, 0x32, 0xa7, 0xa6, 0x52, 0xc4, 0xb4, 0x3b, 0xf6, 0xe8, 0x14, 0x38, 0xe8,
+  0x08, 0x8d, 0x96, 0x17, 0x05, 0x15, 0xc5, 0x80, 0x61, 0xd7, 0x43, 0x20, 0xdf, 0x90, 0x85, 0x4a,
+  0xaa, 0x18, 0x5b, 0xb5, 0x0e, 0xdc, 0xb6, 0x13, 0xbf, 0x6e, 0xe8, 0x1c, 0x15, 0xec, 0xea, 0xc1,
+  0x80, 0x96, 0xbd, 0x90, 0xdf, 0x52, 0x89, 0xfa, 0x12, 0xa4, 0xc4, 0xfc, 0xcb, 0xc6, 0x78, 0xea,
+  0xee, 0xff, 0x47, 0x9c, 0xa2, 0xd5, 0xaa, 0xe8, 0x06, 0x89, 0xe1, 0xdc, 0xcd, 0x91, 0x76, 0x61,
+  0x92, 0x8a, 0x2f, 0x88, 0xb5, 0x10, 0xd6, 0xa3, 0xbe, 0x0e, 0x9b, 0x6a, 0xbf, 0xdd, 0x5b, 0xdc,
+  0x8d, 0x81, 0x15, 0x84, 0x24, 0x92, 0x64, 0x37, 0x1b, 0x31, 0x7c, 0x4e, 0x88, 0x64, 0xd1, 0x99,
+  0xab, 0x57, 0xc5, 0xc5, 0x74, 0xe7, 0x03, 0x34, 0xf8, 0xc8, 0x0f, 0x05, 0x6f, 0xc6, 0x2c, 0x55,
+  0x82, 0x9b, 0xd5, 0xfd, 0x7e, 0x81, 0x74, 0x5e, 0xbe, 0xee, 0x6a, 0x3a, 0x3c, 0xae, 0x6a, 0x21,
+  0x47, 0x7b, 0x11, 0xb2, 0x7e, 0x84, 0xcb, 0x62, 0x7f, 0xbd, 0x47, 0x4a, 0xbe, 0x33, 0x95, 0xd0,
+  0x49, 0xf0, 0xfc, 0x4d, 0xdc, 0x56, 0x24, 0xa5, 0x13, 0xcc, 0x2f, 0x70, 0xeb, 0x04, 0x38, 0xd1,
+  0xe2, 0xa2, 0x4d, 0xbe, 0x00, 0x4e, 0xa4, 0xee, 0x08, 0x97, 0x56, 0xc4, 0x82, 0xfa, 0x41, 0x24,
+  0x5d, 0xf8, 0xa4, 0xfa, 0x44, 0xc6, 0x88, 0x63, 0x08, 0xc9, 0xc6, 0xd0, 0x07, 0xef, 0x02, 0x1a,
+  0x5e, 0x2a, 0x5f, 0x15, 0x67, 0x35, 0x7f, 0xcf, 0x07, 0x4f, 0x9c, 0xfb, 0x13, 0xe7, 0x79, 0x43,
+  0xa5, 0xd4, 0xc6, 0x20, 0x07, 0x86, 0x8d, 0xdf, 0x5e, 0x94, 0xf8, 0x91, 0xab, 0x05, 0xf1, 0xd6,
+  0x1c, 0x93, 0x1b, 0x33, 0xdb, 0x0f, 0x03, 0x35, 0xbf, 0x93, 0xc9, 0xb9, 0x35, 0x5f, 0x59, 0x50,
+  0xd7, 0xef, 0x23, 0x16, 0xdf, 0x83, 0x6a, 0x6a, 0x3a, 0xc0, 0xc6, 0x74, 0x80, 0xb3, 0x86, 0x83,
+  0xe7, 0xef, 0x08, 0x2d, 0x5a, 0x6c, 0xa9, 0xc7, 0x33, 0x07, 0xe4, 0x22, 0x0f, 0xdf, 0x1f, 0x15,
+  0x0c, 0x56, 0x01, 0xcf, 0x97, 0x50, 0x7e, 0x2c, 0xc5, 0xd4, 0xea, 0x2a, 0x4a, 0x95, 0xcb, 0x55,
+  0xa4, 0x7f, 0xaf, 0x7b, 0xad, 0x10, 0x84, 0x4f, 0x39, 0xbe, 0x19, 0x1a, 0x63, 0x19, 0x8e, 0x24,
+  0x38, 0xca, 0x5b, 0x2b, 0x02, 0x16, 0xa9, 0x29, 0xd0, 0x0c, 0x1b, 0x12, 0xd5, 0x44, 0x0f, 0x17,
+  0x4a, 0x77, 0x3e, 0x46, 0xaa, 0x17, 0x9f, 0xc6, 0xb6, 0x84, 0x73, 0x82, 0x4d, 0xdc, 0x35, 0x3e,
+  0xa3, 0x57, 0x08, 0x89, 0x6a, 0x12, 0x03, 0xd6, 0xc2, 0xb4, 0x3b, 0xae, 0xfe, 0xa0, 0x39, 0x92,
+  0x34, 0xf4, 0x4c, 0x1a, 0x12, 0x96, 0xae, 0xf5, 0x51, 0x27, 0xf6, 0x2b, 0x2e, 0x9a, 0x9a, 0x18,
+  0xd5, 0x77, 0xf0, 0x73, 0x7c, 0x2f, 0x8d, 0xbd, 0x9f, 0xec, 0x15, 0x92, 0x58, 0x5f, 0x69, 0x97,
+  0x23, 0x02, 0x1f, 0xe1, 0x42, 0xb4, 0x55, 0x94, 0x92, 0x89, 0x7a, 0xaf, 0x52, 0x86, 0x4f, 0x70,
+  0x65, 0x6c, 0x84, 0x24, 0x93, 0xc0, 0xac, 0x1b, 0x45, 0xf7, 0x4a, 0x20, 0x9e, 0xc0, 0x00, 0x6b,
+  0x93, 0x97, 0x20, 0xc7, 0x6f, 0x3d, 0x48, 0xd0, 0xe3, 0x21, 0x2e, 0xb7, 0x94, 0x16, 0xb7, 0xa4,
+  0x29, 0xb3, 0xe3, 0x07, 0x7e, 0x3b, 0xc3, 0x1a, 0x89, 0xee, 0x5b, 0xeb, 0xb8, 0x83, 0xb5, 0x15,
+  0xb5, 0x7a, 0xee, 0xec, 0x94, 0x34, 0x8b, 0x88, 0xde, 0x83, 0x70, 0xaa, 0x3b, 0xfc, 0xd3, 0xcc,
+  0x2f, 0xad, 0x35, 0xd4, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0f,
+  0x71, 0x2e, 0x15, 0x55, 0x8b, 0x4a, 0xc1, 0x31, 0x73, 0x6b, 0x12, 0x3a, 0xbd, 0x29, 0x5d, 0x7b,
+  0xac, 0x57, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x38, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x38,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb5, 0x96, 0xc3, 0x48, 0xea, 0x90, 0xb8, 0x77, 0x42, 0xea, 0x55, 0x12, 0x15, 0x58, 0x91,
+  0x8e, 0x09, 0xae, 0xf5, 0x5c, 0xf6, 0x1a, 0x64, 0x62, 0xa5, 0xc0, 0xf0, 0x54, 0x60, 0xa0, 0xa6,
+  0x9c, 0x11, 0xa8, 0x62, 0x25, 0xa5, 0x6e, 0x0e, 0xc2, 0x3f, 0x90, 0xbe, 0xe2, 0x10, 0xcd, 0x98,
+  0xc1, 0xc9, 0x35, 0x39, 0x62, 0x0b, 0x50, 0x04, 0x4c, 0xc9, 0xe4, 0x31, 0x1d, 0xd8, 0xde, 0x9d,
+  0x49, 0xeb, 0x68, 0x67, 0xae, 0x75, 0x84, 0x88, 0xff, 0x9d, 0xc8, 0xab, 0x36, 0x40, 0x92, 0x3f,
+  0x50, 0x6c, 0x80, 0x93, 0x06, 0xd7, 0xb7, 0x1d, 0xb4, 0x02, 0xe2, 0x43, 0xd0, 0x04, 0xe3, 0x8f,
+  0xc5, 0xc2, 0xdd, 0x92, 0xaf, 0xb7, 0xc2, 0x46, 0xdc, 0x3a, 0x42, 0xa2, 0x93, 0xbb, 0x57, 0x72,
+  0x2b, 0x7c, 0xf4, 0x30, 0x86, 0x01, 0x85, 0x1a, 0xe1, 0xb0, 0x57, 0xc3, 0xe0, 0xe5, 0xb2, 0xe1,
+  0xcc, 0x72, 0xbb, 0xe7, 0xef, 0x38, 0xb0, 0xf9, 0x22, 0x05, 0xeb, 0x49, 0xbe, 0xe4, 0x3b, 0x1a,
+  0xc5, 0xe0, 0xa3, 0xb4, 0x3a, 0xcf, 0xa5, 0xcc, 0x53, 0x1c, 0x5a, 0x1f, 0x69, 0x76, 0x23, 0x6e,
+  0xcd, 0x3c, 0x96, 0xae, 0x8e, 0xda, 0x18, 0xec, 0xc4, 0x8e, 0x30, 0x87, 0x09, 0xbb, 0x00, 0xf0,
+  0x36, 0x3a, 0x59, 0x48, 0x09, 0x83, 0xab, 0x2e, 0x7c, 0x07, 0xef, 0xdc, 0x02, 0x2c, 0xde, 0x85,
+  0x0b, 0xe4, 0xd2, 0xe6, 0x1d, 0x51, 0x89, 0x43, 0x60, 0x43, 0x3c, 0x57, 0x61, 0x05, 0x5f, 0x6b,
+  0x3c, 0x5c, 0x4f, 0xef, 0x9f, 0xba, 0xed, 0xa5, 0xfa, 0xfd, 0xf4, 0x25, 0xa9, 0x61, 0xc6, 0x28,
+  0x13, 0x23, 0xaa, 0x63, 0xf4, 0xbe, 0xae, 0x7e, 0x10, 0x57, 0x55, 0xcd, 0x5a, 0xde, 0xb3, 0x1f,
+  0x2d, 0x97, 0x03, 0xc1, 0x85, 0xdb, 0xf7, 0xdf, 0xc4, 0x78, 0x6e, 0x26, 0xa8, 0x47, 0xd5, 0xd5,
+  0x09, 0x16, 0x5d, 0x6d, 0x7e, 0xc1, 0x4f, 0x98, 0x53, 0xe2, 0x76, 0x09, 0xe0, 0x38, 0xcf, 0xa0,
+  0x93, 0xd3, 0x20, 0x50, 0xeb, 0x4f, 0xff, 0xa4, 0x03, 0xbf, 0x6f, 0xe0, 0x91, 0x51, 0x00, 0x52,
+  0x1a, 0xe7, 0x40, 0x03, 0xa7, 0xd2, 0xa6, 0x89, 0xb1, 0x78, 0xc4, 0xfd, 0xc5, 0xbf, 0x69, 0x9b,
+  0x42, 0xbd, 0x75, 0x28, 0x5e, 0xa9, 0x73, 0xb8, 0xdf, 0x81, 0x12, 0xfe, 0x89, 0x61, 0x97, 0x1d,
+  0x4b, 0x9a, 0x9a, 0xc1, 0x76, 0x34, 0x6a, 0x51, 0x6b, 0xf9, 0x0e, 0x75, 0xfd, 0x12, 0xdd, 0xe4,
+  0x82, 0x1b, 0x6b, 0xbb, 0x89, 0xf4, 0x03, 0xa8, 0xc9, 0xea, 0x97, 0x78, 0xfc, 0xa2, 0xa9, 0xb5,
+  0xad, 0x21, 0xc3, 0x15, 0xe0, 0x26, 0x37, 0x17, 0x81, 0x11, 0x14, 0x39, 0x25, 0x5f, 0xb4, 0x1f,
+  0x97, 0x35, 0xef, 0x40, 0xf9, 0x41, 0xaa, 0xf1, 0x36, 0xfd, 0xcf, 0x19, 0xf2, 0xb7, 0xf2, 0xbb,
+  0x9f, 0xb8, 0x43, 0xbc, 0x93, 0x61, 0x29, 0xb4, 0xee, 0x62, 0x41, 0xd9, 0x79, 0x87, 0x00, 0xea,
+  0x69, 0x6d, 0x7c, 0xeb, 0xb3, 0x55, 0x0c, 0x23, 0xa5, 0xb0, 0x73, 0x57, 0x1e, 0x16, 0x74, 0x23,
+  0x6d, 0xb7, 0x74, 0x92, 0x14, 0xa0, 0x4b, 0x75, 0x99, 0x97, 0xbb, 0x0f, 0xe3, 0xae, 0xe2, 0xfd,
+  0xa5, 0x23, 0x98, 0x4d, 0x61, 0xde, 0x5e, 0xd0, 0x27, 0x6f, 0xc3, 0x89, 0xe9, 0xea, 0x01, 0x09,
+  0x2b, 0x74, 0x64, 0x7b, 0x89, 0xc5, 0xe6, 0xa4, 0x26, 0x13, 0xf2, 0x3c, 0xa1, 0x9f, 0x40, 0xe3,
+  0xcf, 0x00, 0xe0, 0x92, 0x38, 0xee, 0xe5, 0x62, 0xb1, 0x3b, 0xc3, 0x5b, 0xbe, 0xf3, 0xee, 0x20,
+  0x41, 0xaf, 0x56, 0x66, 0xfa, 0x0c, 0x68, 0xc8, 0x3d, 0x52, 0x13, 0xcb, 0xab, 0x86, 0xbf, 0x54,
+  0x8b, 0x3f, 0xf3, 0x1f, 0xc2, 0xc2, 0xf9, 0xe4, 0xdf, 0x32, 0x2a, 0xb4, 0x1b, 0x83, 0x5f, 0xe6,
+  0x31, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19, 0x6c,
+  0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19,
+  0x6c, 0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x34,
+  0xa1, 0xf6, 0xaa, 0xb3, 0x23, 0xe4, 0x50, 0x14, 0x36, 0xb2, 0x15, 0x1e, 0xbc, 0x52, 0x6d, 0x8b,
+  0x64, 0x95, 0x37, 0x2c, 0x73, 0x1a, 0x7e, 0x78, 0x5c, 0x83, 0x15, 0x09, 0xc0, 0xaf, 0x46, 0x6c,
+  0x11, 0xf5, 0x99, 0x9e, 0x69, 0x10, 0x11, 0x70, 0x81, 0x35, 0xa0, 0xef, 0x55, 0x3e, 0xa3, 0x17,
+  0x12, 0xdc, 0x55, 0x88, 0x5d, 0xb8, 0xe9, 0x89, 0xdf, 0x78, 0xaa, 0x5e, 0x14, 0x5d, 0x44, 0x46,
+  0x1e, 0x6b, 0xbc, 0xfa, 0x42, 0x07, 0x74, 0x26, 0xb5, 0x41, 0xad, 0xf8, 0x5f, 0xbb, 0x62, 0xfd,
+  0x86, 0xd5, 0xe0, 0x3d, 0x6f, 0xb2, 0x7f, 0x81, 0x65, 0x41, 0x65, 0xd6, 0x57, 0xc9, 0x61, 0x6c,
+  0x78, 0x90, 0xa9, 0x75, 0x6e, 0xbf, 0xc6, 0xed, 0xdc, 0x72, 0x37, 0x93, 0xd2, 0xb9, 0x64, 0xe1,
+  0xa0, 0x41, 0x66, 0x86, 0x8a, 0x9a, 0xae, 0x14, 0x3e, 0x5e, 0x19, 0x4a, 0xaa, 0xd2, 0xff, 0xa6,
+  0xd3, 0xac, 0x73, 0xbf, 0x6b, 0x5a, 0x38, 0x1b, 0xd9, 0x32, 0x02, 0xab, 0x70, 0xe2, 0xa5, 0x73,
+  0x9f, 0x8b, 0xab, 0xed, 0xe4, 0x0b, 0xb4, 0xfd, 0x8e, 0x45, 0xc4, 0x2d, 0xa7, 0xb0, 0x5e, 0x0a,
+  0xc7, 0x97, 0x6b, 0x91, 0x78, 0x3b, 0x90, 0x16, 0x10, 0xb3, 0xf9, 0x06, 0xfa, 0x1e, 0xc1, 0xfc,
+  0xc3, 0x15, 0x04, 0x90, 0xe9, 0x46, 0x94, 0xe6, 0xe9, 0x70, 0x12, 0x35, 0x36, 0xdc, 0xad, 0x7f,
+  0x59, 0x34, 0x91, 0xf7, 0x23, 0xe9, 0x4c, 0x39, 0x6e, 0xe9, 0x63, 0x72, 0x55, 0x1b, 0xbc, 0x91,
+  0xec, 0x1a, 0x66, 0x48, 0xa6, 0x84, 0xa2, 0x7f, 0xe7, 0x35, 0x49, 0xea, 0xe0, 0x85, 0x55, 0x9c,
+  0xee, 0xfa, 0x64, 0xfe, 0xb0, 0x34, 0x99, 0x3b, 0x84, 0xe1, 0x13, 0x19, 0xeb, 0x89, 0x40, 0xb3,
+  0x56, 0x0d, 0xdc, 0xe9, 0x63, 0xdc, 0x0b, 0x70, 0xc9, 0x9c, 0x46, 0xb5, 0x18, 0x0f, 0x85, 0xda,
+  0x31, 0x11, 0x8a, 0x54, 0x6a, 0x2e, 0x2e, 0x62, 0x93, 0x1c, 0xef, 0xdc, 0x12, 0x77, 0xe9, 0x93,
+  0xcc, 0x40, 0xb3, 0x43, 0x0d, 0x7c, 0x27, 0x12, 0x81, 0x57, 0x81, 0x4c, 0x07, 0xda, 0x2b, 0x99,
+  0xb6, 0xb1, 0xef, 0x93, 0x0e, 0xff, 0x26, 0x83, 0xd3, 0xb7, 0x43, 0xa4, 0x59, 0x64, 0x23, 0xe1,
+  0xde, 0x9a, 0xf1, 0xf9, 0xf6, 0xba, 0x10, 0x3c, 0x25, 0x22, 0x7e, 0x0a, 0x2f, 0x49, 0x29, 0xa9,
+  0xd3, 0x17, 0x03, 0x7d, 0x63, 0x39, 0x11, 0x51, 0x68, 0x8d, 0x92, 0xf8, 0x8c, 0xf4, 0xfc, 0x0d,
+  0xe1, 0x9e, 0xbc, 0x67, 0x08, 0x3f, 0xf8, 0xb4, 0x0d, 0x4d, 0xc5, 0x02, 0xdd, 0x4c, 0xa8, 0x86,
+  0x70, 0x3a, 0x73, 0x60, 0xe1, 0x40, 0xc4, 0x7f, 0xe6, 0xb8, 0xf5, 0xac, 0xd8, 0xcc, 0xed, 0x14,
+  0x0f, 0x5e, 0x02, 0xbb, 0x7e, 0x50, 0x7d, 0xd3, 0x45, 0xf5, 0x26, 0x59, 0x83, 0x3d, 0xb5, 0x23,
+  0xe5, 0xab, 0xb4, 0xd0, 0xfe, 0x52, 0xeb, 0xfd, 0x96, 0x3d, 0x8b, 0x7d, 0x80, 0x58, 0xcb, 0x98,
+  0xe9, 0x13, 0x7c, 0x8d, 0x33, 0x26, 0x3d, 0x34, 0x29, 0x9f, 0x2c, 0x36, 0xca, 0xe2, 0x2c, 0x4d,
+  0x7a, 0x1f, 0x2e, 0x4d, 0x63, 0x57, 0xda, 0xdd, 0x99, 0x1f, 0x94, 0x7c, 0xe3, 0x41, 0x2f, 0x84,
+  0x57, 0xfe, 0x10, 0x39, 0x4b, 0x73, 0xe6, 0xe2, 0xb1, 0xc9, 0xe0, 0xbc, 0x60, 0x2c, 0xe1, 0xe3,
+  0x93, 0xc3, 0x2f, 0xb9, 0x65, 0x40, 0x6c, 0xcb, 0x7a, 0xef, 0xe5, 0x45, 0xf4, 0x68, 0x7a, 0x94,
+  0xff, 0xe2, 0x15, 0xee, 0x77, 0x4c, 0xa3, 0x53, 0x84, 0x41, 0xb0, 0xe7, 0x29, 0x1e, 0x88, 0x6e,
+  0xc7, 0x69, 0x79, 0x01, 0x62, 0xd1, 0x5e, 0xa7, 0xb2, 0x40, 0xab, 0x71, 0x2c, 0x3d, 0x9b, 0xe1,
+  0xb4, 0xa1, 0xc9, 0xda, 0x05, 0xd1, 0xfb, 0x19, 0x3c, 0x22, 0x26, 0x20, 0x4e, 0xdf, 0x45
+};
+
+UINT32 gPkNewRsa4096Sha256Size = sizeof(gPkNewRsa4096Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
new file mode 100644
index 0000000000..be0bfc5032
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x1c, 0x11, 0x07, 0x0c, 0xb8, 0xdb, 0x8f, 0x18, 0x8f, 0xac, 0x12, 0xc9,
+  0x31, 0xea, 0x4f, 0x7e, 0x57, 0xe6, 0xd5, 0x8f, 0x5c, 0xf8, 0x7f, 0x2f, 0xff, 0x14, 0x49, 0x4c,
+  0x0b, 0xef, 0xa1, 0x56, 0x92, 0x99, 0x4f, 0x5e, 0xc2, 0xb2, 0x79, 0x58, 0x84, 0xb3, 0x55, 0xff,
+  0x5d, 0x6e, 0x87, 0x44, 0x20, 0xad, 0x7a, 0xc9, 0xe5, 0xb1, 0x4b, 0x2b, 0xff, 0x95, 0x53, 0xbc,
+  0xff, 0x0d, 0xb1, 0xbb, 0x87, 0x06, 0xf1, 0x1d, 0xea, 0xc9, 0x88, 0x1b, 0x85, 0xe8, 0xe9, 0x87,
+  0xff, 0x12, 0xf9, 0xea, 0x69, 0x15, 0x4a, 0x1d, 0x58, 0x93, 0xed, 0x03, 0xfe, 0x9c, 0x27, 0x8e,
+  0x1d, 0xfd, 0x18, 0x20, 0x1c, 0x5d, 0x82, 0xd7, 0x4d, 0x97, 0x1a, 0xa6, 0x0a, 0x6b, 0x17, 0x8b,
+  0xab, 0xaa, 0x78, 0x82, 0xdd, 0x4a, 0xec, 0x95, 0xaa, 0x0f, 0x12, 0x40, 0x4d, 0xad, 0xf1, 0x11,
+  0xbf, 0x59, 0x09, 0x4a, 0x42, 0x55, 0xa6, 0x65, 0xb8, 0x75, 0x83, 0xdb, 0x19, 0x50, 0x82, 0x66,
+  0xf6, 0xaf, 0x72, 0xb2, 0x39, 0x72, 0xad, 0x92, 0x45, 0xdf, 0x93, 0x88, 0xe0, 0x0b, 0xe6, 0x62,
+  0x4d, 0x21, 0x05, 0x92, 0xf1, 0x12, 0x5f, 0x1a, 0xbe, 0x14, 0xd4, 0x78, 0x66, 0x48, 0xa8, 0xa5,
+  0xb5, 0xf5, 0x84, 0x42, 0xad, 0x82, 0xc7, 0x75, 0xce, 0x4b, 0xed, 0x1b, 0xc4, 0x3b, 0x80, 0xa8,
+  0x75, 0x42, 0xef, 0xb7, 0x8b, 0x37, 0xa7, 0x82, 0xd2, 0x21, 0xae, 0x8f, 0x95, 0xf4, 0xbc, 0xbf,
+  0x1d, 0xfc, 0x34, 0x44, 0x17, 0x35, 0x1b, 0xc3, 0x4b, 0x1d, 0x2b, 0x85, 0xc3, 0x86, 0x8d, 0xb4,
+  0x63, 0x56, 0x2d, 0x3a, 0xfc, 0x22, 0x30, 0xb3, 0xc1, 0x8b, 0x3b, 0xc6, 0x5c, 0x8a, 0x3d, 0x91,
+  0x99, 0x21, 0x97, 0x10, 0xba, 0xd0, 0x8d, 0x7b, 0x28, 0x35, 0xcd, 0x4a, 0xa0, 0x1b, 0xcd, 0x3c,
+  0x6f, 0xb3, 0xe7, 0x3e, 0x51, 0xa0, 0xf8, 0xb1, 0xd9, 0xe5, 0xe3, 0xfb, 0x44, 0xaa, 0xdb, 0x88,
+  0xf5, 0x65, 0xea, 0xd8, 0x80, 0xf7, 0x40, 0x4e, 0xb4, 0xa8, 0x47, 0x7f, 0x50, 0xa1, 0xe1, 0x88,
+  0x5d, 0x13, 0xc9, 0x2c, 0x09, 0x63, 0x51, 0x70, 0x1e, 0xa8, 0x9e, 0x8f, 0xee, 0x40, 0x1a, 0x68,
+  0x13, 0x05, 0x6a, 0xb1, 0xa9, 0x5d, 0x91, 0x06, 0x03, 0xf2, 0x94, 0x0c, 0x21, 0xe8, 0x0c, 0xc0,
+  0x73, 0x1c, 0x76, 0x15, 0x80, 0xe5, 0x63, 0xce, 0xc0, 0x20, 0x58, 0x75, 0xde, 0xaf, 0x34, 0x73,
+  0xff, 0x59, 0x20, 0x7b, 0x2e, 0xc2, 0xc8, 0x5d, 0xcf, 0x1e, 0x84, 0x11, 0x56, 0x79, 0x8e, 0x76,
+  0xe8, 0x11, 0xff, 0xeb, 0x0e, 0x68, 0x36, 0x6c, 0x2a, 0x93, 0xde, 0x7c, 0xe0, 0x3b, 0x9b, 0x73,
+  0x87, 0x82, 0x2e, 0x56, 0xfb, 0x8f, 0x58, 0x4c, 0x6c, 0x0c, 0x1f, 0xf3, 0x47, 0xe7, 0x05, 0xaa,
+  0x85, 0x61, 0x02, 0x7e, 0x88, 0x78, 0xc0, 0xfb, 0x4f, 0xe9, 0xb7, 0x00, 0xdb, 0x5b, 0x6b, 0x0f,
+  0x2e, 0xa2, 0xc1, 0x19, 0xea, 0x0a, 0x49, 0x63, 0x07, 0x7a, 0x9a, 0x09, 0x2c, 0x82, 0x28, 0x85,
+  0xe6, 0x8f, 0x76, 0x1c, 0xc2, 0xba, 0xb7, 0x1c, 0x4e, 0x2c, 0xcd, 0xd3, 0xe4, 0x27, 0xf8, 0x81,
+  0x5b, 0xbf, 0x51, 0x17, 0x03, 0x14, 0xa0, 0x70, 0xe5, 0x3d, 0x12, 0x66, 0x4f, 0xa3, 0xb1, 0x88,
+  0x77, 0xfd, 0x34, 0x9f, 0xc7, 0x94, 0xc4, 0x85, 0xc9, 0x43, 0x34, 0x22, 0x0a, 0x40, 0x80, 0xbd,
+  0xd9, 0xdf, 0xa3, 0xf3, 0xc6, 0x39, 0x15, 0xbe, 0x92, 0x54, 0xd3, 0x7a, 0x46, 0xd0, 0x11, 0xac,
+  0x13, 0x70, 0x05, 0xc8, 0xca, 0xcb, 0xad, 0x31, 0xcc, 0xb5, 0x6c, 0xb8, 0x66, 0xab, 0x8a, 0x87,
+  0xd5, 0x04, 0x26, 0x8e, 0x51, 0x88, 0x42, 0x7d, 0xc9, 0x71, 0x42, 0xcd, 0x11, 0x5e, 0x6d, 0xf1,
+  0xb2, 0xfd, 0x3d, 0x52, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0xf1, 0x26, 0x06, 0x11, 0xd9, 0x7a, 0xc4, 0xf3, 0x97, 0x36, 0xde, 0x6d, 0x9a, 0xa4, 0xde, 0xeb,
+  0x03, 0x3e, 0x70, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0x97, 0x6d, 0x00, 0x5e, 0xb1, 0x15, 0x9b, 0x3a, 0xaf, 0x49, 0xc9, 0x5a, 0xdf, 0xce, 0x14,
+  0x58, 0xa3, 0x8c, 0xbf, 0x01, 0x16, 0x87, 0xbd, 0xe8, 0x2e, 0x34, 0x96, 0x74, 0xc5, 0xd1, 0x35,
+  0x30, 0x9e, 0xbc, 0x25, 0x2e, 0x28, 0xf5, 0xaf, 0xaa, 0xbc, 0x3a, 0x20, 0x14, 0xc3, 0xc4, 0x1a,
+  0x5e, 0x46, 0x8c, 0x1e, 0xd3, 0x3c, 0x54, 0x60, 0xa5, 0x9e, 0x67, 0xf5, 0xca, 0x27, 0xc4, 0x21,
+  0x33, 0xa9, 0xaa, 0x4e, 0xdc, 0xa9, 0x12, 0xb4, 0xf5, 0x37, 0xba, 0xcf, 0xee, 0x2e, 0x04, 0x95,
+  0x8c, 0x36, 0x0b, 0x8c, 0x4a, 0xda, 0xb9, 0x17, 0xf3, 0x14, 0xd2, 0x5f, 0x2d, 0xd5, 0x9e, 0x54,
+  0x77, 0xa4, 0x62, 0x6e, 0x3b, 0x64, 0x71, 0x98, 0xe7, 0x2f, 0x37, 0xdf, 0xbb, 0x15, 0xb6, 0xf9,
+  0xb7, 0xaf, 0x4a, 0xf4, 0xcf, 0xb0, 0x8c, 0x14, 0x0c, 0x20, 0xc8, 0x70, 0x68, 0x8d, 0x6a, 0x10,
+  0x8b, 0x2e, 0x70, 0xc3, 0xc1, 0x1e, 0x9c, 0xd4, 0xa7, 0x80, 0x21, 0xda, 0xac, 0x41, 0x75, 0x23,
+  0xb2, 0x5e, 0xa2, 0x5e, 0xfd, 0x2c, 0x94, 0x10, 0x0a, 0xfb, 0xe7, 0x6e, 0x77, 0x99, 0x60, 0x6f,
+  0xc8, 0x51, 0x38, 0xf5, 0xdb, 0xe1, 0x38, 0x43, 0x50, 0x6b, 0x18, 0xde, 0x37, 0xc2, 0xe1, 0x88,
+  0x62, 0x3e, 0xac, 0xc4, 0x40, 0xc6, 0x57, 0x1d, 0xe0, 0x56, 0xad, 0x30, 0x58, 0x7d, 0xbb, 0x4b,
+  0x1d, 0x73, 0x18, 0x80, 0xaf, 0x77, 0x98, 0x17, 0x87, 0x67, 0x47, 0x41, 0xb6, 0x55, 0x10, 0x9b,
+  0x80, 0x33, 0x14, 0x46, 0x5d, 0xa0, 0xb2, 0xca, 0x9b, 0xc8, 0xac, 0x19, 0x2b, 0x2e, 0xe8, 0x8a,
+  0x08, 0x9e, 0xae, 0x47, 0xeb, 0x20, 0x7c, 0xaa, 0x56, 0xb8, 0x44, 0x5e, 0xdc, 0x74, 0x56, 0x6b,
+  0x42, 0x14, 0xf9, 0xb0, 0x09, 0xf2, 0x89, 0xad, 0xc4, 0xda, 0x07, 0x5a, 0xe5, 0xf0, 0xe3, 0x0e,
+  0x27, 0x31, 0x79, 0x5f, 0x63, 0x4c, 0xad, 0x7d, 0x7a, 0xd2, 0xf8, 0x79, 0x6f, 0x05, 0x22, 0x20,
+  0x19, 0x98, 0x22, 0x63, 0xef, 0x33, 0x90, 0x32, 0xbb, 0x87, 0x0d, 0x77, 0x90, 0x4c, 0xb8, 0x5d,
+  0x34, 0x2b, 0xda, 0x3b, 0xb9, 0x5e, 0xc6, 0xab, 0x35, 0x38, 0x69, 0xd3, 0xf9, 0xd9, 0xac, 0x29,
+  0x39, 0x59, 0xea, 0x30, 0xa4, 0xed, 0x26, 0x91, 0xd3, 0xe3, 0x74, 0x73, 0x4f, 0x0d, 0x1e, 0xbd,
+  0xe2, 0x66, 0x67, 0xa3, 0x90, 0x3d, 0x34, 0x4e, 0x07, 0x39, 0x19, 0x78, 0x30, 0x24, 0xff, 0x41,
+  0x1d, 0x3e, 0x75, 0x03, 0xdd, 0x5b, 0xf8, 0xea, 0xe4, 0x8c, 0x2e, 0xdd, 0x47, 0x5f, 0x42, 0x15,
+  0xe4, 0x0e, 0x21, 0x6b, 0xe1, 0x4c, 0xf5, 0x78, 0x17, 0x92, 0xb2, 0xba, 0xc2, 0x12, 0x3d, 0x1f,
+  0x81, 0xdd, 0x62, 0x14, 0xc9, 0xd0, 0xc8, 0x8f, 0x74, 0xe2, 0x46, 0x8d, 0x6f, 0xa2, 0x77, 0x6a,
+  0x96, 0xd2, 0x42, 0xc3, 0x6c, 0x95, 0x9a, 0x13, 0xda, 0x4f, 0x2f, 0x32, 0x2d, 0x90, 0x28, 0x1d,
+  0xbc, 0xda, 0x54, 0x87, 0xe7, 0xa9, 0x93, 0xdd, 0x8c, 0x9b, 0xe1, 0x54, 0xba, 0x27, 0x0a, 0x55,
+  0x05, 0x64, 0x06, 0xc2, 0x37, 0x5b, 0x07, 0x03, 0x9b, 0xc6, 0xd7, 0x60, 0x02, 0xea, 0xc5, 0x0e,
+  0xb1, 0x75, 0x34, 0xb2, 0x18, 0xb8, 0x65, 0x40, 0x1d, 0x60, 0x02, 0xd1, 0x33, 0xfc, 0x76, 0x46,
+  0x87, 0x6e, 0x33, 0xde, 0x21, 0x06, 0x21, 0x2b, 0xf3, 0x4a, 0x7a, 0xd1, 0xaf, 0xa0, 0x65, 0x83,
+  0x94, 0x60, 0x4f, 0xee, 0x2c, 0x26, 0xa1, 0x03, 0xdb, 0x5d, 0x34, 0x30, 0x36, 0x43, 0x28, 0x24,
+  0xa4, 0xb8, 0x97, 0x93, 0xe3, 0xb3, 0x21, 0x31, 0x3a, 0x84, 0x38, 0xe6, 0xe7, 0x6f, 0xbd, 0xd4,
+  0x47, 0xba, 0xfe, 0x36, 0xe4, 0xe2, 0x9b, 0xd4, 0x15, 0x93, 0xb5, 0x6b, 0xdc, 0x6f, 0xb9, 0x89,
+  0x3f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f, 0x34,
+  0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f,
+  0x34, 0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x18,
+  0x60, 0x10, 0xaa, 0x2b, 0x44, 0x90, 0xd1, 0xdc, 0x45, 0x1d, 0xfc, 0xca, 0x3a, 0x5b, 0x8e, 0xb0,
+  0x29, 0x85, 0x46, 0x8c, 0x0e, 0xbe, 0x65, 0x81, 0xf5, 0x4c, 0xcc, 0xd8, 0x31, 0xc0, 0x90, 0x78,
+  0xa6, 0x26, 0xa7, 0xd2, 0x34, 0x7e, 0xbf, 0x57, 0x5f, 0xa1, 0x27, 0x0e, 0xf9, 0x39, 0xf8, 0x1c,
+  0x06, 0xff, 0xfd, 0x66, 0x4d, 0x50, 0x52, 0x25, 0x83, 0x72, 0xe8, 0x87, 0xd5, 0x93, 0x23, 0x33,
+  0x5e, 0xc5, 0x12, 0x68, 0xb4, 0x85, 0xbb, 0xc2, 0xca, 0x96, 0xb7, 0x83, 0xf2, 0xc7, 0xfb, 0x35,
+  0xf7, 0x76, 0x85, 0x0c, 0xce, 0xc5, 0xc6, 0x76, 0xc0, 0x10, 0x1b, 0x9a, 0x6f, 0x03, 0x6d, 0x41,
+  0x01, 0xa8, 0x23, 0xab, 0x54, 0x10, 0x38, 0x3d, 0x33, 0x5b, 0x45, 0xb6, 0xbd, 0x91, 0x98, 0x9d,
+  0x59, 0x17, 0xea, 0x85, 0x68, 0x16, 0x1a, 0xa0, 0xec, 0x68, 0x43, 0x46, 0x40, 0xdb, 0xc9, 0x71,
+  0x20, 0xc8, 0x43, 0xa2, 0xc1, 0x7f, 0x54, 0x01, 0xa6, 0x50, 0x49, 0xc0, 0x03, 0x22, 0xd2, 0x2f,
+  0x10, 0xf7, 0xbf, 0x71, 0x9a, 0xe8, 0x50, 0xa7, 0xb2, 0x3e, 0x64, 0x1c, 0xfd, 0xa5, 0x7e, 0x7e,
+  0x75, 0x43, 0xab, 0xf1, 0x49, 0x06, 0x56, 0x72, 0xa4, 0x17, 0xe4, 0x13, 0xae, 0x93, 0x8f, 0xf9,
+  0xbf, 0x08, 0xa4, 0x9a, 0xb5, 0xf5, 0xb7, 0x8b, 0x72, 0x1c, 0xb3, 0xe9, 0x07, 0x13, 0xcc, 0x8b,
+  0xf5, 0x43, 0xeb, 0x86, 0x28, 0xc1, 0x74, 0x03, 0xd6, 0x51, 0x7d, 0x0f, 0x8f, 0xba, 0xc8, 0x25,
+  0x48, 0x5e, 0xe3, 0xc0, 0xd0, 0xde, 0x42, 0xea, 0x11, 0x8f, 0x2e, 0x75, 0xf0, 0xb0, 0x47, 0xf0,
+  0x75, 0x41, 0x02, 0x80, 0x3b, 0xb4, 0xe5, 0xaf, 0xc9, 0x38, 0x37, 0x69, 0xaa, 0x70, 0x40, 0x78,
+  0xbf, 0x1b, 0x1b, 0x02, 0x2b, 0x7b, 0x33, 0x2d, 0x0d, 0x53, 0x97, 0x7c, 0x09, 0x1b, 0x14, 0x28,
+  0xed, 0x94, 0x7f, 0xe6, 0x25, 0xf8, 0x89, 0x86, 0x9e, 0x34, 0xce, 0x57, 0x19, 0x54, 0x2a, 0x00,
+  0xdc, 0x5b, 0x98, 0xff, 0xb2, 0xbe, 0x99, 0x85, 0xa4, 0x80, 0xd1, 0xec, 0xba, 0xe3, 0x69, 0xcc,
+  0x11, 0xc2, 0x7a, 0xd8, 0x44, 0xc5, 0xf1, 0xba, 0xb2, 0x7e, 0x2d, 0x82, 0x5f, 0x8a, 0xe6, 0x77,
+  0x6f, 0x59, 0xa2, 0xec, 0x39, 0xb6, 0xf5, 0x44, 0x5f, 0x33, 0x4d, 0xca, 0x33, 0x73, 0xf7, 0xd7,
+  0x9c, 0x64, 0xc8, 0xd3, 0x8b, 0xfa, 0xfe, 0x6f, 0xd7, 0x9a, 0x59, 0x7e, 0x1d, 0x11, 0xe2, 0x15,
+  0x73, 0xc5, 0x62, 0x17, 0x0c, 0x73, 0xf3, 0x44, 0xb0, 0x67, 0xa9, 0xcc, 0x1c, 0xbe, 0x8d, 0xc9,
+  0x75, 0xb6, 0xa5, 0x50, 0x73, 0xa7, 0x3d, 0xaf, 0xc3, 0xe6, 0x1c, 0xe8, 0x96, 0xe2, 0xae, 0xf6,
+  0x3a, 0x36, 0xb7, 0x65, 0x33, 0x89, 0x39, 0xf6, 0xe9, 0x54, 0x99, 0x9a, 0xec, 0x32, 0x1b, 0xa6,
+  0xe7, 0x42, 0xc3, 0xce, 0x14, 0xea, 0x28, 0x95, 0xd1, 0xc1, 0x35, 0x2c, 0x34, 0xfb, 0xf7, 0xf8,
+  0xce, 0x85, 0x59, 0x1a, 0xcf, 0xcc, 0x6d, 0x15, 0x58, 0xe5, 0xb2, 0x04, 0x3b, 0xe5, 0xa5, 0xd4,
+  0x7f, 0xce, 0x16, 0x04, 0x12, 0xe3, 0xb9, 0xa7, 0xfa, 0x52, 0x4e, 0x96, 0xd3, 0x6f, 0x86, 0xf2,
+  0x8c, 0xce, 0xfa, 0xda, 0x74, 0x94, 0x7d, 0xd9, 0x78, 0x3a, 0xaf, 0x70, 0x81, 0xd3, 0xa9, 0x66,
+  0x85, 0x95, 0xd8, 0x70, 0x4b, 0x02, 0xbc, 0x07, 0xa1, 0x5b, 0xf7, 0x52, 0x93, 0x1a, 0xf8, 0xc4,
+  0x26, 0xf1, 0x93, 0x32, 0x5e, 0x89, 0xe0, 0xe0, 0x75, 0x97, 0x23, 0x0d, 0xde, 0x79, 0xd6, 0x9e,
+  0x29, 0x47, 0x89, 0xed, 0x89, 0xdc, 0xc2, 0x75, 0xda, 0x27, 0xe9, 0x8b, 0x58, 0xd1, 0xf7, 0xd3,
+  0x0a, 0x2b, 0xbb, 0xeb, 0x7b, 0x0f, 0x00, 0xd1, 0x68, 0x7b, 0xc8, 0x1d, 0x48, 0xe7, 0xaa
+};
+
+UINT32 gPkNewRsa4096Sha512Size = sizeof(gPkNewRsa4096Sha512);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
new file mode 100644
index 0000000000..63274028d7
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x21, 0x20, 0x17, 0x73, 0x39, 0x2b, 0xc1, 0x1b, 0xf2, 0xa2, 0x5a, 0xa5,
+  0x77, 0xd6, 0x93, 0xd1, 0x46, 0x43, 0x80, 0xad, 0xf1, 0x2c, 0xba, 0x27, 0xaf, 0xfa, 0x0e, 0x2b,
+  0xfc, 0xf3, 0x45, 0xbe, 0x39, 0xd6, 0x1e, 0xb7, 0xe2, 0xb9, 0x9a, 0x81, 0xe9, 0x2d, 0xaa, 0xd3,
+  0x9a, 0x37, 0xea, 0x43, 0xb5, 0xe7, 0xed, 0x60, 0xd8, 0x15, 0xff, 0x64, 0x27, 0x0e, 0x6a, 0x05,
+  0xaf, 0xd1, 0x6e, 0xbf, 0x4e, 0x8d, 0x19, 0x15, 0x72, 0x8b, 0xb5, 0x8c, 0x3b, 0x7b, 0xaf, 0xd3,
+  0x79, 0xd6, 0x73, 0xe2, 0x61, 0x48, 0xca, 0xc1, 0xa3, 0x8e, 0x48, 0x7b, 0x39, 0xa4, 0x29, 0x24,
+  0xf3, 0x08, 0x28, 0x13, 0x58, 0x9c, 0xdc, 0x93, 0x8d, 0x17, 0xfe, 0xa3, 0x70, 0x80, 0xad, 0x62,
+  0xbe, 0xae, 0x55, 0xff, 0x14, 0x98, 0x08, 0x84, 0xe5, 0xa2, 0xed, 0xac, 0xc2, 0x9d, 0xc3, 0x1d,
+  0x25, 0xc6, 0x3e, 0xa6, 0x2f, 0xb7, 0xec, 0x65, 0xb4, 0xbc, 0x49, 0xf3, 0x32, 0xf6, 0xd4, 0x5f,
+  0x72, 0x95, 0x58, 0x28, 0x81, 0x5e, 0x69, 0x35, 0x04, 0x0c, 0x75, 0x96, 0xf9, 0xaa, 0xa2, 0x64,
+  0xdd, 0xe0, 0x52, 0x3d, 0x33, 0x4c, 0x27, 0xb0, 0x4a, 0xc3, 0xf1, 0xc5, 0x81, 0x31, 0x65, 0xab,
+  0xf9, 0x2f, 0x42, 0x0e, 0x0b, 0xc8, 0x54, 0xc9, 0x47, 0x01, 0xb5, 0xe5, 0xc0, 0x55, 0x22, 0xb3,
+  0xcc, 0x26, 0xca, 0x08, 0xcc, 0x62, 0x09, 0x54, 0x3a, 0xa0, 0xfc, 0x5a, 0x3a, 0x6a, 0x28, 0xb6,
+  0x86, 0xac, 0xa6, 0x4b, 0xce, 0x41, 0xd3, 0xe5, 0xa4, 0xd6, 0xc5, 0x22, 0x64, 0x4c, 0x8b, 0x8d,
+  0xa2, 0xec, 0xe9, 0x11, 0x6c, 0x39, 0x96, 0xc7, 0xfd, 0x30, 0xab, 0xe7, 0x28, 0xb4, 0xab, 0xc6,
+  0x8a, 0x64, 0xad, 0xe2, 0x84, 0xf0, 0x46, 0xa4, 0x01, 0xf2, 0x7a, 0x0d, 0x62, 0xe6, 0x80, 0x8a,
+  0xf7, 0xfb, 0xac, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x41,
+  0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1,
+  0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x30,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e, 0x1b,
+  0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44, 0x84,
+  0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7, 0x7d,
+  0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76, 0x1d,
+  0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b, 0x7e,
+  0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54, 0xba,
+  0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60, 0xec,
+  0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46, 0x9a,
+  0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49, 0x22,
+  0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1, 0x97,
+  0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97, 0x4e,
+  0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2, 0xc3,
+  0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b, 0x07,
+  0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19, 0x7c,
+  0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57, 0x66,
+  0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74, 0xd2,
+  0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f, 0x19,
+  0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x92,
+  0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78, 0x15,
+  0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb, 0xc6,
+  0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b, 0x00,
+  0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0, 0xa4,
+  0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc, 0x10,
+  0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79, 0xb2,
+  0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e, 0x3f,
+  0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8, 0xb5,
+  0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9, 0x97,
+  0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0, 0xfb,
+  0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46, 0xda,
+  0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d, 0x05,
+  0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6, 0x56,
+  0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23, 0xd4,
+  0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0, 0x17,
+  0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a
+};
+
+UINT32 gPkRsa2048Sha256Size = sizeof(gPkRsa2048Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
new file mode 100644
index 0000000000..a0e81d7bd1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xa7, 0xdf, 0x37, 0xa8, 0xbc, 0xa5, 0x42, 0xb9, 0x1e, 0x7d, 0x56, 0x9c,
+  0xb1, 0xa1, 0x65, 0x04, 0x2a, 0x00, 0xd4, 0x3c, 0x3d, 0x0d, 0x5f, 0x55, 0x61, 0x92, 0x3c, 0xe7,
+  0x88, 0x14, 0xf2, 0x2a, 0xdb, 0x42, 0x7d, 0x8e, 0x7e, 0xc8, 0x92, 0xb4, 0x29, 0x2a, 0x4e, 0x2c,
+  0x4e, 0xc9, 0x17, 0x76, 0x24, 0xa8, 0xbf, 0xd2, 0x57, 0x53, 0xd6, 0xa8, 0xe1, 0x48, 0xd7, 0x94,
+  0x06, 0xf8, 0xf5, 0x2c, 0x0b, 0x34, 0x60, 0xf9, 0x3a, 0x97, 0xe5, 0x30, 0x74, 0x90, 0x9c, 0x7b,
+  0xc2, 0xd6, 0x73, 0x8d, 0x08, 0x29, 0x20, 0xd2, 0xc4, 0x5f, 0xea, 0x87, 0xe1, 0x29, 0x20, 0xc2,
+  0x22, 0x39, 0xff, 0x26, 0x51, 0x4d, 0xb1, 0xd4, 0xa2, 0xd4, 0x14, 0x55, 0x56, 0x29, 0x7b, 0x14,
+  0xf9, 0x42, 0x65, 0x02, 0xf4, 0x85, 0x7c, 0xa0, 0x2a, 0x9c, 0x9b, 0x72, 0x0e, 0x79, 0xcd, 0xee,
+  0x74, 0x08, 0x3b, 0x1f, 0x12, 0x3d, 0xb2, 0xd5, 0x60, 0xe8, 0xc2, 0x05, 0x78, 0x0d, 0x0b, 0x58,
+  0x9a, 0xba, 0xcf, 0x4f, 0x6b, 0x8c, 0x8d, 0xc6, 0x0c, 0x42, 0xe3, 0xb8, 0xba, 0x7f, 0x16, 0x1b,
+  0x26, 0x19, 0x66, 0xec, 0x5c, 0xdf, 0xa5, 0x8b, 0x30, 0x02, 0x45, 0xa6, 0x9a, 0x3d, 0x6c, 0x9b,
+  0x95, 0xe4, 0x4c, 0x53, 0xdb, 0xf9, 0x6a, 0x78, 0x0a, 0xdc, 0xbe, 0xff, 0xb4, 0x1b, 0x85, 0x28,
+  0x5e, 0x5d, 0x05, 0x6a, 0x6b, 0xe2, 0x9f, 0x0e, 0x36, 0x22, 0x92, 0xae, 0x0c, 0x0b, 0xab, 0x55,
+  0xab, 0xc4, 0xdf, 0xcb, 0xa3, 0x62, 0xa0, 0x21, 0xc3, 0x19, 0xa2, 0x3f, 0x9d, 0xfa, 0x60, 0xb2,
+  0xe7, 0x82, 0x52, 0xca, 0x62, 0x59, 0xd9, 0x3c, 0x83, 0x5e, 0x10, 0x16, 0xf2, 0xcf, 0xb6, 0xaa,
+  0x44, 0x56, 0xc8, 0xc2, 0x89, 0x4c, 0x4f, 0x32, 0x2d, 0x09, 0x4d, 0xd1, 0x7d, 0x71, 0x10, 0xdc,
+  0x09, 0x8b, 0xd1, 0x26, 0x3c, 0xe6, 0x35, 0x0b, 0x66, 0x4b, 0x49, 0x35, 0x22, 0x38, 0x99, 0x5f,
+  0x27, 0x33, 0x03, 0x6e, 0x57, 0x04, 0x90, 0x03, 0x0c, 0x08, 0xd2, 0xda, 0xb1, 0x34, 0x78, 0x49,
+  0x84, 0x98, 0x8e, 0x80, 0x06, 0x9e, 0xf7, 0x9c, 0x5c, 0xe9, 0xcc, 0x23, 0x3a, 0x60, 0xbe, 0x76,
+  0xb6, 0x13, 0x30, 0xdd, 0x48, 0xa0, 0x66, 0xba, 0x79, 0xcc, 0xa1, 0x7c, 0x8c, 0xb7, 0x77, 0x00,
+  0x76, 0x5c, 0x6c, 0x1b, 0xc4, 0x25, 0xba, 0x45, 0x3e, 0x43, 0x27, 0x0b, 0xe5, 0xdc, 0x5f, 0x78,
+  0x83, 0x38, 0x34, 0x12, 0xf1, 0xab, 0xd6, 0xfe, 0xa4, 0x26, 0x51, 0x8e, 0xb9, 0x37, 0x46, 0xe3,
+  0xff, 0x59, 0x37, 0x26, 0xa4, 0xc4, 0xa7, 0xa9, 0xfa, 0xa9, 0xb7, 0xb3, 0x11, 0xf9, 0x87, 0x46,
+  0x7e, 0x5e, 0xca, 0x2e, 0xa5, 0xfc, 0x3e, 0xf3, 0x81, 0xa4, 0x67, 0x7d, 0x38, 0xb2, 0xd8, 0xf3,
+  0xfb, 0x8a, 0xf1, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0e,
+  0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03,
+  0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60, 0xbb,
+  0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e, 0x44,
+  0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91, 0x9d,
+  0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a, 0x0b,
+  0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c, 0x56,
+  0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f, 0x4c,
+  0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c, 0x7b,
+  0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0, 0x87,
+  0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67, 0xbe,
+  0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77, 0x50,
+  0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2, 0xba,
+  0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f, 0x66,
+  0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab, 0x88,
+  0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8, 0x8b,
+  0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0, 0x94,
+  0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4, 0xf5,
+  0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12, 0xa5,
+  0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9, 0x84,
+  0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e, 0xbe,
+  0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53, 0x7b,
+  0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25, 0x57,
+  0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8, 0x8f,
+  0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2, 0x60,
+  0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89, 0x46,
+  0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe, 0x4d,
+  0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x48,
+  0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1, 0xbf,
+  0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e, 0x6f,
+  0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a, 0x0a,
+  0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09, 0xd0,
+  0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a, 0x9e,
+  0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a, 0xd3,
+  0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c, 0xe2,
+  0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4, 0x1e,
+  0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c, 0xa9,
+  0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f, 0x67,
+  0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc, 0x5c,
+  0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15, 0xc2,
+  0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd, 0x2f,
+  0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc, 0x1e,
+  0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb, 0x87,
+  0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba, 0xeb,
+  0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11, 0x6c,
+  0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29, 0x39,
+  0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b, 0xeb,
+  0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f, 0x87,
+  0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf, 0x69,
+  0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa, 0x0c,
+  0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7, 0xf9,
+  0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea
+};
+
+UINT32 gPkRsa3072Sha256Size = sizeof(gPkRsa3072Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
new file mode 100644
index 0000000000..68b12d3891
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x88, 0xd6, 0xed, 0xd7, 0x70, 0x05, 0x93, 0xf5, 0xde, 0xfb, 0x73, 0xee,
+  0x7d, 0xb1, 0x73, 0x42, 0xb1, 0xe9, 0xd7, 0x99, 0xfb, 0xcc, 0x73, 0x5f, 0x2b, 0xe1, 0x3b, 0x27,
+  0x84, 0x40, 0xb9, 0x71, 0x29, 0x54, 0xc0, 0x1b, 0x80, 0xf8, 0xa1, 0x26, 0xc0, 0xaa, 0x64, 0x7f,
+  0xe3, 0xff, 0xd3, 0xce, 0xd3, 0x8c, 0xa5, 0x46, 0x42, 0xf1, 0xe3, 0x0c, 0x97, 0x3e, 0x48, 0x4f,
+  0x61, 0x60, 0x38, 0x56, 0xa2, 0xf0, 0x0c, 0x02, 0x67, 0xa2, 0x5f, 0x9f, 0xb1, 0xc8, 0x48, 0xf6,
+  0xbf, 0x4f, 0x27, 0x57, 0xf2, 0x73, 0xb9, 0x52, 0x9c, 0x54, 0xbd, 0x33, 0x18, 0x97, 0x83, 0x99,
+  0x5d, 0xb0, 0x19, 0x1e, 0xb1, 0x15, 0xb8, 0xcb, 0xe4, 0xe2, 0x82, 0xb7, 0x2c, 0x14, 0xbb, 0x70,
+  0x99, 0x67, 0x10, 0x80, 0xec, 0x7c, 0xfe, 0x74, 0x31, 0x4d, 0x6e, 0x20, 0x80, 0x25, 0x89, 0x67,
+  0x0a, 0xf5, 0x5e, 0x62, 0x7e, 0xd8, 0xf7, 0xf5, 0xb8, 0x0c, 0x31, 0x6c, 0x0e, 0x41, 0x54, 0xb0,
+  0xff, 0xf6, 0xf2, 0xc6, 0x00, 0x34, 0x16, 0x57, 0x72, 0x23, 0xb6, 0xa1, 0x4b, 0xc7, 0x7a, 0xe4,
+  0x84, 0xd0, 0x40, 0x3f, 0xea, 0x7c, 0x95, 0xc2, 0x4d, 0x3d, 0x06, 0xc9, 0x71, 0xa3, 0x94, 0x9d,
+  0x70, 0x3b, 0x23, 0xc2, 0x7d, 0x73, 0xd6, 0xa4, 0xf1, 0x07, 0xe5, 0xb9, 0x4b, 0x59, 0xa5, 0x2c,
+  0xa9, 0xc0, 0x8b, 0x87, 0xaa, 0xba, 0xa5, 0xd1, 0x61, 0xac, 0xa5, 0xb4, 0x38, 0x04, 0x58, 0xb1,
+  0xbe, 0xeb, 0xd9, 0xd7, 0xaf, 0x36, 0xb4, 0xf8, 0xce, 0x32, 0x1e, 0x66, 0xcb, 0x52, 0xe6, 0xc9,
+  0x07, 0xd5, 0xe2, 0x11, 0x3c, 0x5d, 0xd7, 0xca, 0x3b, 0xea, 0x71, 0x62, 0x7f, 0x24, 0x91, 0xd7,
+  0x05, 0x8f, 0x69, 0xfe, 0x10, 0xc7, 0x49, 0xb7, 0xec, 0x91, 0x24, 0x11, 0x43, 0xb4, 0xe6, 0xfe,
+  0xd0, 0x4e, 0xa5, 0x75, 0x6b, 0x48, 0xd6, 0xad, 0x3a, 0xab, 0xed, 0xd4, 0x12, 0x88, 0x67, 0x18,
+  0x2a, 0x90, 0x81, 0xcd, 0x72, 0x68, 0x76, 0xfc, 0xd1, 0xfa, 0x83, 0xed, 0x25, 0x38, 0xc9, 0x71,
+  0xd0, 0x22, 0x7d, 0xd0, 0xd5, 0x20, 0x65, 0xa4, 0x04, 0x19, 0x8e, 0xc2, 0xa3, 0x73, 0x69, 0x9a,
+  0x73, 0x22, 0xf0, 0x7f, 0xf0, 0x3f, 0x7c, 0x6e, 0xf6, 0x77, 0x7c, 0xf0, 0x1a, 0x67, 0x67, 0xda,
+  0x64, 0xec, 0x73, 0xa7, 0xf1, 0x09, 0xd8, 0xab, 0x04, 0x81, 0x66, 0xa3, 0x1e, 0x43, 0x1f, 0x00,
+  0x2e, 0xb1, 0xaa, 0x3d, 0x3c, 0xb6, 0x07, 0xdd, 0x2c, 0x8d, 0x5e, 0x92, 0xdf, 0x2f, 0xd2, 0x3f,
+  0x59, 0xb7, 0xca, 0x6f, 0x7e, 0x9d, 0x6c, 0x2a, 0x3d, 0x90, 0xe1, 0x36, 0x8f, 0x9a, 0xd1, 0xf4,
+  0x46, 0x37, 0x77, 0x0f, 0x9c, 0xd5, 0x62, 0x88, 0x38, 0x44, 0x2a, 0xde, 0x6f, 0xe2, 0xe2, 0x75,
+  0x25, 0xd7, 0x71, 0xb0, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90,
+  0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x39,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45, 0x0d,
+  0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50, 0x2f,
+  0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e, 0x8f,
+  0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b, 0x5a,
+  0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7, 0x4c,
+  0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda, 0x8d,
+  0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2, 0x13,
+  0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca, 0x66,
+  0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca, 0xe4,
+  0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68, 0xa5,
+  0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8, 0xbb,
+  0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8, 0xff,
+  0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f, 0xa0,
+  0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc, 0x14,
+  0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b, 0x88,
+  0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a, 0x48,
+  0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16, 0x66,
+  0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79, 0xf4,
+  0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc, 0xb8,
+  0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57, 0x68,
+  0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27, 0x83,
+  0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88, 0xb2,
+  0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5, 0x5e,
+  0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b, 0x4e,
+  0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3, 0x57,
+  0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0xa2,
+  0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4, 0x6e,
+  0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d, 0xc6,
+  0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7, 0xa8,
+  0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3, 0xf8,
+  0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5, 0xab,
+  0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2, 0xa3,
+  0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14, 0xed,
+  0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00, 0x78,
+  0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6, 0x1a,
+  0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2, 0x55,
+  0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38, 0xf5,
+  0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42, 0xdb,
+  0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1, 0xa2,
+  0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61, 0x12,
+  0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93, 0x1b,
+  0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01, 0x8f,
+  0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1, 0x0c,
+  0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b, 0x77,
+  0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74, 0x45,
+  0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc, 0xa7,
+  0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e, 0x88,
+  0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07, 0xd3,
+  0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12, 0x1d,
+  0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31
+};
+
+UINT32 gPkRsa3072Sha384Size = sizeof(gPkRsa3072Sha384);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
new file mode 100644
index 0000000000..9f59781e24
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xa0, 0xb4, 0xdb, 0xcb, 0x81, 0x4a, 0xc3, 0x08, 0x79, 0xaa, 0x3e, 0x2f,
+  0x3e, 0xdf, 0x1f, 0xc9, 0xe3, 0x85, 0xf5, 0xa3, 0x8c, 0xbb, 0xcc, 0xb6, 0x9f, 0x53, 0x2b, 0x1b,
+  0xca, 0x6d, 0x8e, 0x87, 0xd8, 0x24, 0xbd, 0xc8, 0x69, 0x6f, 0xca, 0xe8, 0x45, 0xf0, 0xac, 0x6c,
+  0x5e, 0x11, 0xef, 0x07, 0x11, 0xf5, 0x48, 0x89, 0x01, 0x09, 0x0d, 0xa3, 0x1f, 0xa6, 0x35, 0x37,
+  0x94, 0x71, 0x3e, 0x3e, 0x6b, 0x9b, 0x61, 0xa3, 0xed, 0xd6, 0x9d, 0xd7, 0x40, 0x16, 0x7c, 0x43,
+  0xf1, 0xb2, 0xcd, 0x90, 0x8a, 0x33, 0x1b, 0x0e, 0x3f, 0x85, 0x02, 0xca, 0xb8, 0x22, 0xea, 0xe1,
+  0x8a, 0xc4, 0xb7, 0xdb, 0x29, 0x25, 0xab, 0xf8, 0xfa, 0x21, 0x6e, 0xb0, 0x95, 0xb1, 0x0a, 0x48,
+  0x8b, 0x35, 0x96, 0x64, 0x35, 0x2c, 0x8f, 0xb2, 0x54, 0x1e, 0x68, 0x6f, 0xca, 0xb9, 0x4e, 0xb9,
+  0x43, 0x7b, 0x27, 0x42, 0x99, 0xce, 0x29, 0x0b, 0xca, 0xc7, 0x80, 0xac, 0x75, 0x2c, 0x8d, 0x88,
+  0x8b, 0x2b, 0x62, 0x39, 0x61, 0xf7, 0xd4, 0xf2, 0x22, 0xba, 0xa0, 0xd0, 0x5e, 0x02, 0x45, 0xdd,
+  0xee, 0xbd, 0x19, 0x91, 0x5a, 0x8a, 0xbe, 0xa9, 0xf4, 0x47, 0x07, 0xae, 0x69, 0x4c, 0x54, 0xe4,
+  0xe6, 0x92, 0x99, 0x85, 0x7f, 0xaf, 0xc3, 0x75, 0x43, 0x8e, 0x79, 0x5a, 0x65, 0x8c, 0x0d, 0x18,
+  0x2c, 0x52, 0xe7, 0x81, 0x90, 0xc2, 0x6b, 0x79, 0xf2, 0x98, 0x73, 0x9f, 0xef, 0xe7, 0xbd, 0x12,
+  0x1a, 0x4c, 0xb3, 0x68, 0x28, 0x31, 0xaa, 0xd4, 0x0d, 0x13, 0x3d, 0x43, 0x75, 0x15, 0x00, 0xeb,
+  0xcb, 0xe7, 0x89, 0xcf, 0x6c, 0xd5, 0x07, 0x0b, 0xd6, 0x5e, 0x9d, 0xdd, 0x05, 0x65, 0xd1, 0xd5,
+  0xec, 0x3e, 0xe8, 0x81, 0x52, 0xec, 0x46, 0x4e, 0xbc, 0x0f, 0xd3, 0x8d, 0xed, 0x09, 0x2c, 0xab,
+  0x49, 0x25, 0x3f, 0xd0, 0xe5, 0x57, 0x8f, 0x72, 0x14, 0x97, 0x5b, 0x49, 0x7a, 0x29, 0x15, 0xc8,
+  0x3b, 0x73, 0xd7, 0xce, 0x41, 0xfa, 0x79, 0x50, 0x4c, 0x65, 0x7f, 0x90, 0xd6, 0x52, 0x21, 0xc3,
+  0x4e, 0x00, 0x85, 0x13, 0x92, 0x7e, 0xb9, 0x01, 0x31, 0xef, 0xd1, 0xdd, 0x46, 0xf4, 0xe4, 0x10,
+  0x65, 0x25, 0xfa, 0x95, 0x4b, 0xa8, 0x23, 0xba, 0xb8, 0x92, 0x0b, 0x8b, 0x4e, 0xb8, 0x09, 0xfe,
+  0xca, 0x3a, 0xa8, 0x47, 0x9d, 0x4a, 0xa6, 0x2f, 0x31, 0x2f, 0x63, 0xa9, 0x0d, 0x98, 0x1d, 0x2f,
+  0x68, 0x36, 0x64, 0xee, 0x8f, 0xa7, 0xa7, 0x03, 0xc5, 0x6c, 0xe3, 0xdd, 0xca, 0x99, 0xa5, 0x3a,
+  0x93, 0x94, 0x0f, 0x26, 0xad, 0xc1, 0xfd, 0x59, 0x5b, 0x68, 0x11, 0x40, 0xed, 0xc1, 0xd1, 0xb9,
+  0xa1, 0x56, 0xa9, 0x7a, 0x54, 0x0c, 0x98, 0xc1, 0xa1, 0x95, 0x1e, 0x10, 0xd2, 0xdd, 0xa7, 0xa7,
+  0xf3, 0x37, 0x43, 0xa2, 0x37, 0x2f, 0x0e, 0x4c, 0xdd, 0xde, 0x23, 0x0c, 0x66, 0xe1, 0x52, 0x7f,
+  0x7b, 0x02, 0xcb, 0x57, 0x60, 0xc3, 0x12, 0x54, 0x51, 0x81, 0x8b, 0xb0, 0x28, 0x57, 0x64, 0xa8,
+  0x1f, 0x7d, 0x23, 0xe3, 0x8a, 0x6c, 0x6b, 0x46, 0xda, 0xd2, 0xd1, 0x71, 0xa3, 0x4d, 0xd8, 0xe2,
+  0x16, 0x5a, 0x92, 0xa9, 0x52, 0x04, 0xe3, 0x31, 0xce, 0xe6, 0xe5, 0xa0, 0xde, 0xb3, 0x9f, 0x57,
+  0x6e, 0x02, 0xeb, 0xcb, 0x17, 0x21, 0x0f, 0x42, 0x75, 0x1a, 0x61, 0xd4, 0xcb, 0x42, 0x28, 0xa7,
+  0xf6, 0xdf, 0xad, 0xc9, 0x4a, 0xd9, 0x14, 0x98, 0x09, 0xb5, 0x71, 0x89, 0x65, 0x0d, 0xa3, 0x3b,
+  0x1b, 0x61, 0x41, 0xac, 0x1a, 0xf7, 0x7a, 0x72, 0x61, 0xbc, 0x6c, 0x6e, 0x29, 0xfc, 0x56, 0xaa,
+  0x89, 0x21, 0x5e, 0x50, 0x00, 0xd4, 0xee, 0x26, 0xcc, 0x97, 0x99, 0x37, 0x8a, 0x01, 0x4a, 0x40,
+  0x24, 0x6a, 0xfd, 0x0b, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x3b,
+  0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d,
+  0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75, 0x72,
+  0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30, 0xf6,
+  0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c, 0xa1,
+  0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c, 0xc6,
+  0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad, 0x6a,
+  0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb, 0xc2,
+  0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c, 0xc4,
+  0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb, 0x05,
+  0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a, 0x66,
+  0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7, 0xdc,
+  0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53, 0x22,
+  0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3, 0x41,
+  0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10, 0x21,
+  0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7, 0x46,
+  0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88, 0xb5,
+  0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc, 0x74,
+  0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3, 0x81,
+  0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8, 0x4c,
+  0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4, 0x01,
+  0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c, 0x0f,
+  0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83, 0xa9,
+  0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7, 0x7b,
+  0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f, 0xf0,
+  0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18, 0x82,
+  0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70, 0xa1,
+  0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85, 0xa6,
+  0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97, 0x14,
+  0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10, 0x91,
+  0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c, 0x44,
+  0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8, 0xe9,
+  0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f, 0x5b,
+  0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24, 0x42,
+  0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26, 0x5f,
+  0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x57,
+  0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18, 0x28,
+  0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66, 0x44,
+  0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c, 0xd1,
+  0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6, 0xca,
+  0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f, 0x15,
+  0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7, 0xcd,
+  0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f, 0xc7,
+  0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c, 0xc0,
+  0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a, 0x94,
+  0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe, 0xef,
+  0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b, 0xed,
+  0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55, 0xc3,
+  0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90, 0x9e,
+  0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e, 0x0d,
+  0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61, 0xa8,
+  0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44, 0x85,
+  0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82, 0xde,
+  0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc, 0x59,
+  0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c, 0xef,
+  0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18, 0x72,
+  0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51, 0x38,
+  0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4, 0xd8,
+  0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14, 0xa7,
+  0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c, 0xaa,
+  0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20, 0xa2,
+  0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19, 0x50,
+  0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5, 0xc1,
+  0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85, 0xdb,
+  0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d, 0x0a,
+  0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60, 0x1b,
+  0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c, 0xc0,
+  0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46
+};
+
+UINT32 gPkRsa4096Sha256Size = sizeof(gPkRsa4096Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
new file mode 100644
index 0000000000..5770e1b8bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xb2, 0xeb, 0xa6, 0xd3, 0xf6, 0x8b, 0xc3, 0x51, 0x8b, 0x6b, 0x65, 0x70,
+  0x69, 0xf8, 0x55, 0xf5, 0x19, 0x85, 0x08, 0x26, 0x34, 0x50, 0x26, 0xe0, 0x12, 0xb6, 0x62, 0x51,
+  0x4b, 0x2a, 0x65, 0x3f, 0x7c, 0x86, 0x45, 0x61, 0x7d, 0xcd, 0xad, 0x0a, 0xaa, 0xb5, 0x2d, 0x72,
+  0xf7, 0x3b, 0x19, 0x65, 0x1d, 0x6f, 0x0d, 0x4f, 0x2a, 0xdf, 0xe0, 0x43, 0xee, 0xb1, 0xb0, 0xb7,
+  0x19, 0xa8, 0x27, 0xad, 0x83, 0xa0, 0x54, 0xb4, 0x78, 0xc8, 0xc1, 0x79, 0x05, 0xac, 0x48, 0x2d,
+  0xc3, 0xe9, 0xb3, 0x9c, 0x75, 0x13, 0xae, 0x79, 0x91, 0xe3, 0xab, 0xe1, 0x9c, 0x8f, 0x39, 0x4d,
+  0xdd, 0xc9, 0x27, 0xbc, 0x5d, 0x81, 0x59, 0x2c, 0x07, 0xfd, 0xab, 0xda, 0x54, 0x07, 0x31, 0x12,
+  0xbb, 0xda, 0x4f, 0x76, 0x60, 0x42, 0xd0, 0xa1, 0xde, 0x53, 0xfb, 0x80, 0x4f, 0x69, 0x46, 0xf8,
+  0x30, 0xad, 0xd6, 0x04, 0x14, 0x98, 0x86, 0xe9, 0xcc, 0xa0, 0x9e, 0xd3, 0xb9, 0xcf, 0x28, 0x39,
+  0xdb, 0x4f, 0xfc, 0x9c, 0xa0, 0x30, 0x12, 0xad, 0x55, 0x0e, 0x77, 0x97, 0xf6, 0x1b, 0x89, 0x3e,
+  0x9c, 0x7e, 0x57, 0xbe, 0x1f, 0xc4, 0x58, 0x3b, 0x21, 0x78, 0x5f, 0x65, 0x0e, 0x76, 0x1e, 0x77,
+  0xeb, 0x14, 0x9d, 0xd6, 0x9e, 0xc4, 0xd5, 0xc4, 0x37, 0x39, 0xf3, 0xf2, 0x9d, 0x9f, 0x31, 0xde,
+  0x9d, 0x4f, 0x25, 0xc1, 0x8a, 0xdf, 0x31, 0x71, 0x23, 0xea, 0xe9, 0xa8, 0xee, 0xf3, 0xd7, 0x62,
+  0x7c, 0xae, 0x16, 0xe3, 0x9c, 0x92, 0xe6, 0x0a, 0x5c, 0x64, 0x0d, 0x34, 0x09, 0xd3, 0xc0, 0x3c,
+  0xe9, 0x8c, 0x83, 0x0f, 0x89, 0xb5, 0xb1, 0xc1, 0x78, 0x98, 0xea, 0xc3, 0x3b, 0x4a, 0xed, 0x76,
+  0x9d, 0xff, 0x33, 0xc5, 0x7c, 0x88, 0x0b, 0x0a, 0x32, 0xf8, 0x68, 0x9c, 0xe6, 0xbb, 0x45, 0x1f,
+  0xff, 0x02, 0xd4, 0xab, 0x04, 0xb0, 0x45, 0xa5, 0xdf, 0x10, 0x4a, 0x58, 0xb8, 0x99, 0xac, 0xcf,
+  0xd4, 0x85, 0x24, 0x8a, 0xbb, 0x20, 0x96, 0x1d, 0xc4, 0x96, 0x8f, 0xb4, 0xad, 0x7f, 0x0d, 0x5a,
+  0x56, 0xf9, 0xee, 0xa9, 0xbc, 0xdc, 0x05, 0xdc, 0x3b, 0xe9, 0x0d, 0x44, 0x78, 0x0b, 0x02, 0xa5,
+  0x62, 0x7f, 0x79, 0xce, 0x5e, 0x54, 0x74, 0xdd, 0x32, 0xd8, 0xbf, 0xc9, 0xbd, 0x30, 0x2b, 0x94,
+  0x1e, 0x26, 0xeb, 0x86, 0x75, 0x56, 0x00, 0xf9, 0xfa, 0xae, 0x81, 0xc4, 0x62, 0xcc, 0x07, 0x8d,
+  0xc5, 0x34, 0xe9, 0x05, 0x0a, 0xa2, 0x9a, 0x14, 0xe0, 0x2d, 0x4b, 0xb9, 0x23, 0xe6, 0x1c, 0x57,
+  0x7f, 0x32, 0xb9, 0x2d, 0xb1, 0xcf, 0x66, 0x33, 0x07, 0x89, 0xa0, 0x39, 0xbf, 0xf7, 0x13, 0xd3,
+  0xdb, 0x91, 0xfa, 0xca, 0x6d, 0x2d, 0x62, 0x66, 0xb7, 0xba, 0xe8, 0x8c, 0xf0, 0xbf, 0x06, 0x0f,
+  0xc2, 0x19, 0xf5, 0xbf, 0xa2, 0xef, 0xd6, 0x83, 0x5a, 0xcd, 0xe1, 0x85, 0xfe, 0x36, 0x55, 0x5f,
+  0xa2, 0xf7, 0x83, 0x29, 0xe5, 0xdd, 0x7d, 0xed, 0x03, 0x59, 0xfc, 0x55, 0xbb, 0xbc, 0x95, 0x4c,
+  0x38, 0xbc, 0xe7, 0xaa, 0xb9, 0x41, 0xff, 0x16, 0x02, 0x94, 0xf0, 0x91, 0x3c, 0x50, 0xe9, 0x36,
+  0xb2, 0xf9, 0x39, 0xb7, 0x1e, 0x99, 0xb9, 0xc1, 0xb6, 0x74, 0x02, 0xcd, 0x1d, 0x11, 0xd9, 0x65,
+  0x8c, 0x30, 0x79, 0x31, 0xce, 0xda, 0x90, 0x7e, 0x17, 0xf4, 0x33, 0x9f, 0x78, 0x09, 0xd6, 0x16,
+  0x23, 0x15, 0x19, 0x3b, 0x7c, 0x53, 0xe3, 0xec, 0x1b, 0x4f, 0xf5, 0x01, 0x01, 0x00, 0xa6, 0x83,
+  0x9a, 0xd7, 0x7a, 0x9f, 0x37, 0x09, 0x72, 0xdd, 0xc9, 0xd1, 0xc5, 0x65, 0x69, 0xc7, 0x43, 0x1f,
+  0x7e, 0x8c, 0x6c, 0x6e, 0x4a, 0xab, 0xd9, 0xf5, 0xee, 0xe0, 0x91, 0xae, 0xed, 0x4f, 0x2e, 0x52,
+  0x39, 0x04, 0xd2, 0x2e, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8,
+  0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2, 0x7b,
+  0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61, 0xbf,
+  0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b, 0x41,
+  0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb, 0x37,
+  0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8, 0xdb,
+  0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70, 0xc0,
+  0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf, 0x27,
+  0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81, 0xd2,
+  0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8, 0xe3,
+  0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19, 0x88,
+  0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5, 0x55,
+  0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90, 0x90,
+  0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03, 0x7d,
+  0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8, 0x7e,
+  0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41, 0x78,
+  0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0, 0xd4,
+  0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0, 0x4b,
+  0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7, 0x00,
+  0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65, 0xb8,
+  0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5, 0xcc,
+  0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b, 0x06,
+  0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31, 0x65,
+  0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08, 0x4b,
+  0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69, 0xf4,
+  0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4, 0xb0,
+  0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3, 0xf4,
+  0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e, 0xa9,
+  0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58, 0x86,
+  0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6, 0x8a,
+  0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65, 0x8b,
+  0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0, 0x76,
+  0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44, 0xf4,
+  0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a, 0x77,
+  0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x72,
+  0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e, 0xe4,
+  0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00, 0x65,
+  0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47, 0xbf,
+  0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c, 0x11,
+  0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e, 0x81,
+  0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53, 0xff,
+  0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8, 0xc2,
+  0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b, 0x2a,
+  0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f, 0x90,
+  0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53, 0x3f,
+  0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43, 0x4e,
+  0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb, 0x21,
+  0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1, 0x25,
+  0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2, 0x5b,
+  0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94, 0xd4,
+  0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8, 0xe5,
+  0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b, 0xe5,
+  0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17, 0x4c,
+  0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb, 0x4b,
+  0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa, 0x12,
+  0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5, 0x98,
+  0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18, 0x28,
+  0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f, 0xed,
+  0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59, 0x97,
+  0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5, 0xeb,
+  0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d, 0xef,
+  0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4, 0x19,
+  0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00, 0x52,
+  0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90, 0x4d,
+  0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78, 0x13,
+  0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82, 0xca,
+  0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef
+};
+
+UINT32 gPkRsa4096Sha512Size = sizeof(gPkRsa4096Sha512);
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 90165ca443..dc5ef1c3e3 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -19,6 +19,8 @@
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT

+!include UnitTestFrameworkPkg\UnitTestFrameworkPkgHost.dsc.inc
+
 [LibraryClasses]
   #
   # Entry point
@@ -433,6 +435,8 @@
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf

+  MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
+
 [Components.IA32, Components.X64, Components.AARCH64]
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
new file mode 100644
index 0000000000..b4196ae3bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
@@ -0,0 +1,42 @@
+## @file
+# Authenticated Variable UnitTest built for execution in UEFI Shell.
+#
+# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION    = 0x00010006
+  BASE_NAME      = AuthVarUnitTestUefiShell
+  FILE_GUID      = 43CED9D0-9F5A-4E1E-BAE8-DE1729CBF0C8
+  MODULE_TYPE    = UEFI_APPLICATION
+  VERSION_STRING = 1.0
+  ENTRY_POINT    = AuthVarUnitTestEntryPoint
+
+[Sources]
+  PkRsa2048Sha256.c
+  PkNewRsa2048Sha256.c
+  PkRsa3072Sha256.c
+  PkNewRsa3072Sha256.c
+  PkRsa4096Sha256.c
+  PkNewRsa4096Sha256.c
+  PkRsa3072Sha384.c
+  PkNewRsa3072Sha384.c
+  PkRsa4096Sha512.c
+  PkNewRsa4096Sha512.c
+  AuthVarUnitTest.c
+
+[Guids]
+  gEfiGlobalVariableGuid
+  gEfiCustomModeEnableGuid
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+  SecurityPkg/SecurityPkg.dec
+
+[LibraryClasses]
+  UnitTestLib
+  UefiApplicationEntryPoint
+  UefiRuntimeServicesTableLib
--
2.16.2.windows.1







[-- Attachment #2: Type: text/html, Size: 230287 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos
  2020-12-09 18:32 ` [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos Wadhawan, Divneil R
@ 2020-12-09 20:21   ` Bret Barkelew
  2020-12-09 21:46     ` Michael D Kinney
  0 siblings, 1 reply; 9+ messages in thread
From: Bret Barkelew @ 2020-12-09 20:21 UTC (permalink / raw)
  To: devel@edk2.groups.io, divneil.r.wadhawan@intel.com
  Cc: Yao, Jiewen, Jian J Wang, Min Xu, Kinney, Michael D

[-- Attachment #1: Type: text/plain, Size: 5281 bytes --]

What’s with the Markdown file being added to the root directory? Is that a mistake or part of a different release process?

Thanks!

- Bret

From: Wadhawan, Divneil R via groups.io<mailto:divneil.r.wadhawan=intel.com@groups.io>
Sent: Wednesday, December 9, 2020 10:33 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Yao, Jiewen<mailto:jiewen.yao@intel.com>; Jian J Wang<mailto:jian.j.wang@intel.com>; Min Xu<mailto:min.m.xu@intel.com>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>
Subject: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

o Existing implementation of Authenticated Variables only
  support SHA-256 digest algorithms in signing scheme.

o This has been extended to support SHA-384 and SHA-512 algorithms

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com>
---
 SecurityPkg/Library/AuthVariableLib/AuthService.c |  8 +++--
 AuthVariableDigestUpdate.md                       | 41 +++++++++++++++++++++++
 2 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 AuthVariableDigestUpdate.md

diff --git a/SecurityPkg/Library/AuthVariableLib/AuthService.c b/SecurityPkg/Library/AuthVariableLib/AuthService.c
index 4fb609504d..8f024c42a8 100644
--- a/SecurityPkg/Library/AuthVariableLib/AuthService.c
+++ b/SecurityPkg/Library/AuthVariableLib/AuthService.c
@@ -35,6 +35,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 CONST UINT8 mRsaE[] = { 0x01, 0x00, 0x01 };

 CONST UINT8 mSha256OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 };
+CONST UINT8 mSha384OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02 };
+CONST UINT8 mSha512OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03 };

 //
 // Requirement for different signature type which have been defined in UEFI spec.
@@ -1901,7 +1903,7 @@ VerifyTimeBasedPayload (

   //
   // SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the
-  // signature. Only a digest algorithm of SHA-256 is accepted.
+  // signature. Digest algorithm of SHA-256, SHA-384, SHA-512 are accepted.
   //
   //    According to PKCS#7 Definition:
   //        SignedData ::= SEQUENCE {
@@ -1916,7 +1918,9 @@ VerifyTimeBasedPayload (
   if ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0) {
     if (SigDataSize >= (13 + sizeof (mSha256OidValue))) {
       if (((*(SigData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) ||
-           (CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0)) {
+           ((CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha384OidValue, sizeof (mSha384OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha512OidValue, sizeof (mSha512OidValue)) != 0))) {
           return EFI_SECURITY_VIOLATION;
         }
     }
diff --git a/AuthVariableDigestUpdate.md b/AuthVariableDigestUpdate.md
new file mode 100644
index 0000000000..10992845a4
--- /dev/null
+++ b/AuthVariableDigestUpdate.md
@@ -0,0 +1,41 @@
+# Title: Digest Algorithm flexibility in Authenticated Variable signatures
+
+# Status: Draft
+
+# Document: UEFI Specification Version 2.8
+
+# License
+
+SPDX-License-Identifier: CC-BY-4.0
+
+# Submitter: [TianoCore Community](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.tianocore.org%2F&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C5b6eb98d1288493a5f7f08d89c70f78b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431356285650012%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=7mtSkIFgxu5iIg519YwkxjFfx6DeXOVJT67j58dHSK4%3D&amp;reserved=0)
+
+# Summary of the change
+EFI_VARIABLE_AUTHENTICATION_2 specifies the SignedData.digestAlgorithms to be always
+SHA256. The implication is that the signing algorithm can use RSA keys greater than
+2048 bits, but the digest algorithm remains SHA256. The proposed change is to allow
+digest algorithm to be greater than SHA256.
+
+# Benefits of the change
+This brings agility to the signing mechanism of Authenticated variables by allowing
+it to sign a larger digest.
+
+# Impact of the change
+There is no impact on the existing Authenticated variables.
+
+# Detailed description of the change [normative updates]
+
+<b>Bold text</b> indicates the proposed change
+
+8.2.2 Using the EFI_VARIABLE_AUTHENTICATION_2 descriptor
+When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is set, then the Data buffer shall begin with an instance of a complete (and serialized) ...
+
+Construct a DER-encoded PKCS #7 version 1.5 SignedData (see [RFC2315]) with the signed content as follows:
+
+a. SignedData.version shall be set to 1
+
+b. SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the signature. <b>Only a digest algorithm greater than or equal to SHA-256 is accepted.</b>
+
+
+# Special Instructions
+NA
--
2.16.2.windows.1







[-- Attachment #2: Type: text/html, Size: 8823 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos
  2020-12-09 20:21   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
@ 2020-12-09 21:46     ` Michael D Kinney
  2020-12-09 22:28       ` Yao, Jiewen
  0 siblings, 1 reply; 9+ messages in thread
From: Michael D Kinney @ 2020-12-09 21:46 UTC (permalink / raw)
  To: Bret Barkelew, devel@edk2.groups.io, Wadhawan, Divneil R,
	Kinney, Michael D
  Cc: Yao, Jiewen, Wang, Jian J, Xu, Min M

[-- Attachment #1: Type: text/plain, Size: 6202 bytes --]

Hi Bret,

I think these patches are intended for an edk2-staging branch following Code First Process.  Not root of edk2 repo.

Though unit tests for auth variables in their current form could be something that could be considered for edk2 repo now and add the unit tests for SHA extensions to edk2-staging.

Mike

From: Bret Barkelew <Bret.Barkelew@microsoft.com>
Sent: Wednesday, December 9, 2020 12:21 PM
To: devel@edk2.groups.io; Wadhawan, Divneil R <divneil.r.wadhawan@intel.com>
Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Xu, Min M <min.m.xu@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

What’s with the Markdown file being added to the root directory? Is that a mistake or part of a different release process?

Thanks!

- Bret

From: Wadhawan, Divneil R via groups.io<mailto:divneil.r.wadhawan=intel.com@groups.io>
Sent: Wednesday, December 9, 2020 10:33 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Yao, Jiewen<mailto:jiewen.yao@intel.com>; Jian J Wang<mailto:jian.j.wang@intel.com>; Min Xu<mailto:min.m.xu@intel.com>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>
Subject: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

o Existing implementation of Authenticated Variables only
  support SHA-256 digest algorithms in signing scheme.

o This has been extended to support SHA-384 and SHA-512 algorithms

Cc: Jiewen Yao <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
Cc: Min Xu <min.m.xu@intel.com<mailto:min.m.xu@intel.com>>
Cc: Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com<mailto:divneil.r.wadhawan@intel.com>>
---
 SecurityPkg/Library/AuthVariableLib/AuthService.c |  8 +++--
 AuthVariableDigestUpdate.md                       | 41 +++++++++++++++++++++++
 2 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 AuthVariableDigestUpdate.md

diff --git a/SecurityPkg/Library/AuthVariableLib/AuthService.c b/SecurityPkg/Library/AuthVariableLib/AuthService.c
index 4fb609504d..8f024c42a8 100644
--- a/SecurityPkg/Library/AuthVariableLib/AuthService.c
+++ b/SecurityPkg/Library/AuthVariableLib/AuthService.c
@@ -35,6 +35,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 CONST UINT8 mRsaE[] = { 0x01, 0x00, 0x01 };

 CONST UINT8 mSha256OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 };
+CONST UINT8 mSha384OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02 };
+CONST UINT8 mSha512OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03 };

 //
 // Requirement for different signature type which have been defined in UEFI spec.
@@ -1901,7 +1903,7 @@ VerifyTimeBasedPayload (

   //
   // SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the
-  // signature. Only a digest algorithm of SHA-256 is accepted.
+  // signature. Digest algorithm of SHA-256, SHA-384, SHA-512 are accepted.
   //
   //    According to PKCS#7 Definition:
   //        SignedData ::= SEQUENCE {
@@ -1916,7 +1918,9 @@ VerifyTimeBasedPayload (
   if ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0) {
     if (SigDataSize >= (13 + sizeof (mSha256OidValue))) {
       if (((*(SigData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) ||
-           (CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0)) {
+           ((CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha384OidValue, sizeof (mSha384OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha512OidValue, sizeof (mSha512OidValue)) != 0))) {
           return EFI_SECURITY_VIOLATION;
         }
     }
diff --git a/AuthVariableDigestUpdate.md b/AuthVariableDigestUpdate.md
new file mode 100644
index 0000000000..10992845a4
--- /dev/null
+++ b/AuthVariableDigestUpdate.md
@@ -0,0 +1,41 @@
+# Title: Digest Algorithm flexibility in Authenticated Variable signatures
+
+# Status: Draft
+
+# Document: UEFI Specification Version 2.8
+
+# License
+
+SPDX-License-Identifier: CC-BY-4.0
+
+# Submitter: [TianoCore Community](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.tianocore.org%2F&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C5b6eb98d1288493a5f7f08d89c70f78b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431356285650012%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=7mtSkIFgxu5iIg519YwkxjFfx6DeXOVJT67j58dHSK4%3D&amp;reserved=0)
+
+# Summary of the change
+EFI_VARIABLE_AUTHENTICATION_2 specifies the SignedData.digestAlgorithms to be always
+SHA256. The implication is that the signing algorithm can use RSA keys greater than
+2048 bits, but the digest algorithm remains SHA256. The proposed change is to allow
+digest algorithm to be greater than SHA256.
+
+# Benefits of the change
+This brings agility to the signing mechanism of Authenticated variables by allowing
+it to sign a larger digest.
+
+# Impact of the change
+There is no impact on the existing Authenticated variables.
+
+# Detailed description of the change [normative updates]
+
+<b>Bold text</b> indicates the proposed change
+
+8.2.2 Using the EFI_VARIABLE_AUTHENTICATION_2 descriptor
+When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is set, then the Data buffer shall begin with an instance of a complete (and serialized) ...
+
+Construct a DER-encoded PKCS #7 version 1.5 SignedData (see [RFC2315]) with the signed content as follows:
+
+a. SignedData.version shall be set to 1
+
+b. SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the signature. <b>Only a digest algorithm greater than or equal to SHA-256 is accepted.</b>
+
+
+# Special Instructions
+NA
--
2.16.2.windows.1






[-- Attachment #2: Type: text/html, Size: 47528 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos
  2020-12-09 21:46     ` Michael D Kinney
@ 2020-12-09 22:28       ` Yao, Jiewen
  0 siblings, 0 replies; 9+ messages in thread
From: Yao, Jiewen @ 2020-12-09 22:28 UTC (permalink / raw)
  To: Kinney, Michael D, Bret Barkelew, devel@edk2.groups.io,
	Wadhawan, Divneil R
  Cc: Wang, Jian J, Xu, Min M

[-- Attachment #1: Type: text/plain, Size: 7084 bytes --]

Do we need wait UEFI spec update for SHA-384/512 before we commit to EDK2?

If this patch series is for *EDK2-staging*, Acked-by: Jiewen Yao <Jiewen.yao@intel.com>


From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Thursday, December 10, 2020 5:47 AM
To: Bret Barkelew <Bret.Barkelew@microsoft.com>; devel@edk2.groups.io; Wadhawan, Divneil R <divneil.r.wadhawan@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>
Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Xu, Min M <min.m.xu@intel.com>
Subject: RE: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

Hi Bret,

I think these patches are intended for an edk2-staging branch following Code First Process.  Not root of edk2 repo.

Though unit tests for auth variables in their current form could be something that could be considered for edk2 repo now and add the unit tests for SHA extensions to edk2-staging.

Mike

From: Bret Barkelew <Bret.Barkelew@microsoft.com<mailto:Bret.Barkelew@microsoft.com>>
Sent: Wednesday, December 9, 2020 12:21 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; Wadhawan, Divneil R <divneil.r.wadhawan@intel.com<mailto:divneil.r.wadhawan@intel.com>>
Cc: Yao, Jiewen <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>; Wang, Jian J <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>; Xu, Min M <min.m.xu@intel.com<mailto:min.m.xu@intel.com>>; Kinney, Michael D <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>
Subject: RE: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

What’s with the Markdown file being added to the root directory? Is that a mistake or part of a different release process?

Thanks!

- Bret

From: Wadhawan, Divneil R via groups.io<mailto:divneil.r.wadhawan=intel.com@groups.io>
Sent: Wednesday, December 9, 2020 10:33 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Yao, Jiewen<mailto:jiewen.yao@intel.com>; Jian J Wang<mailto:jian.j.wang@intel.com>; Min Xu<mailto:min.m.xu@intel.com>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>
Subject: [EXTERNAL] [edk2-devel] [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos

o Existing implementation of Authenticated Variables only
  support SHA-256 digest algorithms in signing scheme.

o This has been extended to support SHA-384 and SHA-512 algorithms

Cc: Jiewen Yao <jiewen.yao@intel.com<mailto:jiewen.yao@intel.com>>
Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
Cc: Min Xu <min.m.xu@intel.com<mailto:min.m.xu@intel.com>>
Cc: Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com<mailto:divneil.r.wadhawan@intel.com>>
---
 SecurityPkg/Library/AuthVariableLib/AuthService.c |  8 +++--
 AuthVariableDigestUpdate.md                       | 41 +++++++++++++++++++++++
 2 files changed, 47 insertions(+), 2 deletions(-)
 create mode 100644 AuthVariableDigestUpdate.md

diff --git a/SecurityPkg/Library/AuthVariableLib/AuthService.c b/SecurityPkg/Library/AuthVariableLib/AuthService.c
index 4fb609504d..8f024c42a8 100644
--- a/SecurityPkg/Library/AuthVariableLib/AuthService.c
+++ b/SecurityPkg/Library/AuthVariableLib/AuthService.c
@@ -35,6 +35,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 CONST UINT8 mRsaE[] = { 0x01, 0x00, 0x01 };

 CONST UINT8 mSha256OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01 };
+CONST UINT8 mSha384OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02 };
+CONST UINT8 mSha512OidValue[] = { 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03 };

 //
 // Requirement for different signature type which have been defined in UEFI spec.
@@ -1901,7 +1903,7 @@ VerifyTimeBasedPayload (

   //
   // SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the
-  // signature. Only a digest algorithm of SHA-256 is accepted.
+  // signature. Digest algorithm of SHA-256, SHA-384, SHA-512 are accepted.
   //
   //    According to PKCS#7 Definition:
   //        SignedData ::= SEQUENCE {
@@ -1916,7 +1918,9 @@ VerifyTimeBasedPayload (
   if ((Attributes & EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS) != 0) {
     if (SigDataSize >= (13 + sizeof (mSha256OidValue))) {
       if (((*(SigData + 1) & TWO_BYTE_ENCODE) != TWO_BYTE_ENCODE) ||
-           (CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0)) {
+           ((CompareMem (SigData + 13, &mSha256OidValue, sizeof (mSha256OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha384OidValue, sizeof (mSha384OidValue)) != 0) &&
+            (CompareMem (SigData + 13, &mSha512OidValue, sizeof (mSha512OidValue)) != 0))) {
           return EFI_SECURITY_VIOLATION;
         }
     }
diff --git a/AuthVariableDigestUpdate.md b/AuthVariableDigestUpdate.md
new file mode 100644
index 0000000000..10992845a4
--- /dev/null
+++ b/AuthVariableDigestUpdate.md
@@ -0,0 +1,41 @@
+# Title: Digest Algorithm flexibility in Authenticated Variable signatures
+
+# Status: Draft
+
+# Document: UEFI Specification Version 2.8
+
+# License
+
+SPDX-License-Identifier: CC-BY-4.0
+
+# Submitter: [TianoCore Community](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.tianocore.org%2F&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C5b6eb98d1288493a5f7f08d89c70f78b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431356285650012%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=7mtSkIFgxu5iIg519YwkxjFfx6DeXOVJT67j58dHSK4%3D&amp;reserved=0)
+
+# Summary of the change
+EFI_VARIABLE_AUTHENTICATION_2 specifies the SignedData.digestAlgorithms to be always
+SHA256. The implication is that the signing algorithm can use RSA keys greater than
+2048 bits, but the digest algorithm remains SHA256. The proposed change is to allow
+digest algorithm to be greater than SHA256.
+
+# Benefits of the change
+This brings agility to the signing mechanism of Authenticated variables by allowing
+it to sign a larger digest.
+
+# Impact of the change
+There is no impact on the existing Authenticated variables.
+
+# Detailed description of the change [normative updates]
+
+<b>Bold text</b> indicates the proposed change
+
+8.2.2 Using the EFI_VARIABLE_AUTHENTICATION_2 descriptor
+When the attribute EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS is set, then the Data buffer shall begin with an instance of a complete (and serialized) ...
+
+Construct a DER-encoded PKCS #7 version 1.5 SignedData (see [RFC2315]) with the signed content as follows:
+
+a. SignedData.version shall be set to 1
+
+b. SignedData.digestAlgorithms shall contain the digest algorithm used when preparing the signature. <b>Only a digest algorithm greater than or equal to SHA-256 is accepted.</b>
+
+
+# Special Instructions
+NA
--
2.16.2.windows.1






[-- Attachment #2: Type: text/html, Size: 12387 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables
  2020-12-09 20:18   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
@ 2020-12-10  7:56     ` Wadhawan, Divneil R
  0 siblings, 0 replies; 9+ messages in thread
From: Wadhawan, Divneil R @ 2020-12-10  7:56 UTC (permalink / raw)
  To: Bret Barkelew, devel@edk2.groups.io
  Cc: Wang, Jian J, Wu, Hao A, Liming Gao, Kinney, Michael D,
	Wadhawan, Divneil R

[-- Attachment #1: Type: text/plain, Size: 202222 bytes --]

Hi Bret,

> Can this test run on any platform? Isn't SetSecureBootMode() going to fail without UserPhysicalPresent?
In EmulatorPkg, UserPhysicalPresent() is dependent on the value of PcdUserPhysicalPresence.
Currently, it is set to TRUE, when SECURE_BOOT_ENABLE = true.
So, yes, this will be dependent upon how the platform detects the UserPhysicalPresence.
OVMF always returns true from UserPhysicalPresent().

Other than that, I don't think there's any condition for the patch to work on other platforms.
The details of testing are in: https://bugzilla.tianocore.org/show_bug.cgi?id=2950#c8
So, I will put that in readme.

Regards,
Divneil

From: Bret Barkelew <Bret.Barkelew@microsoft.com>
Sent: Thursday, December 10, 2020 1:48 AM
To: devel@edk2.groups.io; Wadhawan, Divneil R <divneil.r.wadhawan@intel.com>
Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Kinney, Michael D <michael.d.kinney@intel.com>
Subject: RE: [EXTERNAL] [edk2-devel] [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables

Can this test run on any platform? Isn't SetSecureBootMode() going to fail without UserPhysicalPresent? Are there prerequisites to running this test?

It may need a Readme.

- Bret

From: Wadhawan, Divneil R via groups.io<mailto:divneil.r.wadhawan=intel.com@groups.io>
Sent: Wednesday, December 9, 2020 10:33 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Jian J Wang<mailto:jian.j.wang@intel.com>; Hao A Wu<mailto:hao.a.wu@intel.com>; Liming Gao<mailto:gaoliming@byosoft.com.cn>; Kinney, Michael D<mailto:michael.d.kinney@intel.com>
Subject: [EXTERNAL] [edk2-devel] [Patch 1/2] MdeModulePkg: Add unit test for Authenticated Variables

The unit test of Authenticated Variables include the following
signing algorithms
o RSA2048/SHA256
o RSA3072/SHA256
o RSA4096/SHA256
o RSA3072/SHA384
o RSA4096/SHA512

Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
Cc: Hao A Wu <hao.a.wu@intel.com<mailto:hao.a.wu@intel.com>>
Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
Cc: Michael D Kinney <michael.d.kinney@intel.com<mailto:michael.d.kinney@intel.com>>

Signed-off-by: Divneil Rai Wadhawan <divneil.r.wadhawan@intel.com<mailto:divneil.r.wadhawan@intel.com>>
---
 .../Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c | 494 +++++++++++++++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c       | 139 ++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c       | 179 ++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c       | 219 +++++++++
 .../RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c       | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c | 139 ++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c | 179 ++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c | 219 +++++++++
 .../Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c | 219 +++++++++
 MdeModulePkg/MdeModulePkg.dsc                      |   4 +
 .../UnitTest/AuthVarUnitTestUefiShell.inf          |  42 ++
 13 files changed, 2410 insertions(+)
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
 create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf

diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
new file mode 100644
index 0000000000..ce1ed168ea
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTest.c
@@ -0,0 +1,494 @@
+/** @file
+  Implement UnitTest for the Authenticated Variables.
+
+Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+#include <Uefi.h>
+#include <Library/DebugLib.h>
+#include <Library/UnitTestLib.h>
+#include <Library/UefiRuntimeServicesTableLib.h>
+#include <Guid/AuthenticatedVariableFormat.h>
+#include <Guid/GlobalVariable.h>
+
+extern UINT8  gPkRsa2048Sha256[];
+extern UINT32 gPkRsa2048Sha256Size;
+extern UINT8  gPkNewRsa2048Sha256[];
+extern UINT32 gPkNewRsa2048Sha256Size;
+extern UINT8  gPkRsa3072Sha256[];
+extern UINT32 gPkRsa3072Sha256Size;
+extern UINT8  gPkNewRsa3072Sha256[];
+extern UINT32 gPkNewRsa3072Sha256Size;
+extern UINT8  gPkRsa4096Sha256[];
+extern UINT32 gPkRsa4096Sha256Size;
+extern UINT8  gPkNewRsa4096Sha256[];
+extern UINT32 gPkNewRsa4096Sha256Size;
+extern UINT8  gPkRsa3072Sha384[];
+extern UINT32 gPkRsa3072Sha384Size;
+extern UINT8  gPkNewRsa3072Sha384[];
+extern UINT32 gPkNewRsa3072Sha384Size;
+extern UINT8  gPkRsa4096Sha512[];
+extern UINT32 gPkRsa4096Sha512Size;
+extern UINT8  gPkNewRsa4096Sha512[];
+extern UINT32 gPkNewRsa4096Sha512Size;
+
+#define UNIT_TEST_NAME    "AuthVarTest"
+#define UNIT_TEST_VERSION "0.1"
+typedef enum {
+  CONTEXT_RSA2048_SHA256 = 1,
+  CONTEXT_RSA3072_SHA256,
+  CONTEXT_RSA4096_SHA256,
+  CONTEXT_RSA3072_SHA384,
+  CONTEXT_RSA4096_SHA512
+} AuthVarTestContext;
+
+
+STATIC UINT32 mRsa2048Sha256 = CONTEXT_RSA2048_SHA256;
+STATIC UINT32 mRsa3072Sha256 = CONTEXT_RSA3072_SHA256;
+STATIC UINT32 mRsa4096Sha256 = CONTEXT_RSA4096_SHA256;
+STATIC UINT32 mRsa3072Sha384 = CONTEXT_RSA3072_SHA384;
+STATIC UINT32 mRsa4096Sha512 = CONTEXT_RSA4096_SHA512;
+
+/**
+  Set the platform secure boot mode to "custom" or "standard"
+  @param[in]  CustomMode        Value of 1 indicates Custom Mode.
+                                Value of 0 indicates Standard Mode.
+
+  @retval     EFI_SUCCESS       The platform has switched to the requested mode successfully
+  @retval     other             Failure to set the required boot mode
+**/
+EFI_STATUS
+SetSecureBootMode(
+  IN  UINT8     SecureBootMode
+  )
+{
+  return gRT->SetVariable (
+              EFI_CUSTOM_MODE_NAME,
+              &gEfiCustomModeEnableGuid,
+              EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+              sizeof (UINT8),
+              &SecureBootMode
+              );
+}
+
+/**
+  Enroll the base Authenticated Variable into the storage
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for enrollment.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarEnroll (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS  Status;
+  UINT32      Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *)Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkRsa2048Sha256Size;
+      Data     = gPkRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkRsa3072Sha256Size;
+      Data     = gPkRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkRsa4096Sha256Size;
+      Data     = gPkRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkRsa3072Sha384Size;
+      Data     = gPkRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkRsa4096Sha512Size;
+      Data     = gPkRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  //
+  // Set the platform mode in custom mode to enroll the
+  // base variable into the Authenticated Variable storage.
+  //
+  Status = SetSecureBootMode (CUSTOM_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Enroll the variable to be used for sign verification
+  // for next updates.
+  //
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  //
+  // Clear the custom mode of platform
+  //
+  Status = SetSecureBootMode (STANDARD_SECURE_BOOT_MODE);
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Update the Authenticated Variable enrolled earlier in custom mode
+  @param[in]  Context           Context is passed during test case registration.
+                                It is an integer value indicating which signed
+                                algorithm data to be used for update.
+
+  @retval  UNIT_TEST_PASSED     The test case is a success
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+UNIT_TEST_STATUS
+EFIAPI
+AuthVarUpdate (
+  IN UNIT_TEST_CONTEXT  Context
+  )
+{
+  EFI_STATUS Status;
+  UINT32     Attr;
+  UINT32      Value;
+  UINTN       DataSize;
+  VOID        *Data;
+
+  Value = *(UINT32 *) Context;
+
+  switch (Value) {
+    case CONTEXT_RSA2048_SHA256:
+      DataSize = gPkNewRsa2048Sha256Size;
+      Data     = gPkNewRsa2048Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA256:
+      DataSize = gPkNewRsa3072Sha256Size;
+      Data     = gPkNewRsa3072Sha256;
+      break;
+
+    case CONTEXT_RSA4096_SHA256:
+      DataSize = gPkNewRsa4096Sha256Size;
+      Data     = gPkNewRsa4096Sha256;
+      break;
+
+    case CONTEXT_RSA3072_SHA384:
+      DataSize = gPkNewRsa3072Sha384Size;
+      Data     = gPkNewRsa3072Sha384;
+      break;
+
+    case CONTEXT_RSA4096_SHA512:
+      DataSize = gPkNewRsa4096Sha512Size;
+      Data     = gPkNewRsa4096Sha512;
+      break;
+
+    default:
+      UT_ASSERT_TRUE (0);
+  }
+
+  Attr = EFI_VARIABLE_NON_VOLATILE |
+         EFI_VARIABLE_RUNTIME_ACCESS |
+         EFI_VARIABLE_BOOTSERVICE_ACCESS |
+         EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS;
+
+  //
+  // Update the Authenticated Variable enrolled earlier in custom mode
+  //
+  Status = gRT->SetVariable (
+                EFI_PLATFORM_KEY_NAME,
+                &gEfiGlobalVariableGuid,
+                Attr,
+                DataSize,
+                Data
+                );
+  UT_ASSERT_TRUE (Status == EFI_SUCCESS);
+  return UNIT_TEST_PASSED;
+}
+
+/**
+  Register the test cases for RSA2048/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA2048/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa2048Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Enroll", "RSA2048.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa2048Sha256);
+  Status |= AddTestCase (TestSuite, "RSA2048/SHA256 Auth Var Update", "RSA2048.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa2048Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Enroll", "RSA3072.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha256);
+  Status |= AddTestCase (TestSuite, "RSA3072/SHA256 Auth Var Update", "RSA3072.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA256 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA256 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha256Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Enroll", "RSA4096.SHA256.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha256);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA256 Auth Var Update", "RSA4096.SHA256.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha256);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA3072/SHA384 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA3072/SHA384 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa3072Sha384Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Enroll", "RSA3072.SHA384.Enroll", AuthVarEnroll, NULL, NULL, &mRsa3072Sha384);
+  Status |= AddTestCase(TestSuite, "RSA3072/SHA384 Auth Var Update", "RSA3072.SHA384.Update", AuthVarUpdate, NULL, NULL, &mRsa3072Sha384);
+  return Status;
+}
+
+/**
+  Register the test cases for RSA4096/SHA512 signing algorithm
+  @param[in]  TestSuite         Test Suite created to manage RSA4096/SHA512 test cases
+
+  @retval  UNIT_TEST_PASSED     The test case registration is successful
+  @retval  other                Unit Test Framework value from the respective assert
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterRsa4096Sha512Tests (
+  IN UNIT_TEST_SUITE_HANDLE  TestSuite
+  )
+{
+  EFI_STATUS Status;
+  Status  = AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Enroll", "RSA4096.SHA512.Enroll", AuthVarEnroll, NULL, NULL, &mRsa4096Sha512);
+  Status |= AddTestCase (TestSuite, "RSA4096/SHA512 Auth Var Update", "RSA4096.SHA512.Update", AuthVarUpdate, NULL, NULL, &mRsa4096Sha512);
+  return Status;
+}
+
+/**
+  Register Authenticated Variable tests based on different signing schemes.
+  The following test suites are registered
+  o RSA2048/SHA256
+  o RSA3072/SHA256
+  o RSA4096/SHA256
+  o RSA3072/SHA384
+  o RSA4096/SHA512
+
+  @retval  EFI_SUCCESS           All test suites are registered
+  @retval  EFI_OUT_OF_RESOURCES  System is out of resources for registering test suite
+**/
+EFI_STATUS
+EFIAPI
+AuthVarRegisterTests (
+ UNIT_TEST_FRAMEWORK_HANDLE Framework
+ )
+{
+  EFI_STATUS              Status;
+  UNIT_TEST_SUITE_HANDLE  Rsa2048Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha256Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa3072Sha384Suite;
+  UNIT_TEST_SUITE_HANDLE  Rsa4096Sha512Suite;
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA2048/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa2048Sha256Suite, Framework, "AuthVar RSA2048/SHA256", "RSA2048.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA2048/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA2048/SHA256
+  //
+  Status = AuthVarRegisterRsa2048Sha256Tests(Rsa2048Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA2048/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha256Suite, Framework, "AuthVar RSA3072/SHA256", "RSA3072.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA256
+  //
+  Status = AuthVarRegisterRsa3072Sha256Tests(Rsa3072Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA256
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha256Suite, Framework, "AuthVar RSA4096/SHA256", "RSA4096.SHA256", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA256 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA256
+  //
+  Status = AuthVarRegisterRsa4096Sha256Tests(Rsa4096Sha256Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA256 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA3072/SHA384
+  //
+  Status = CreateUnitTestSuite (&Rsa3072Sha384Suite, Framework, "AuthVar RSA3072/SHA384", "RSA3072.SHA384", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA3072/SHA384 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA3072/SHA384
+  //
+  Status = AuthVarRegisterRsa3072Sha384Tests(Rsa3072Sha384Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA3072/SHA384 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+  //
+  // Create Test Suite for Authenticated Variables signed with RSA4096/SHA512
+  //
+  Status = CreateUnitTestSuite (&Rsa4096Sha512Suite, Framework, "AuthVar RSA4096/SHA512", "RSA4096.SHA512", NULL, NULL);
+  if (EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_ERROR, "Failed to create Authenticated Variable RSA4096/SHA512 Test Suite (0x%x)", Status));
+      goto EXIT;
+  }
+
+  //
+  // Register Test cases for RSA4096/SHA512
+  //
+  Status = AuthVarRegisterRsa4096Sha512Tests (Rsa4096Sha512Suite);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to register test cases for RSA4096/SHA512 suite (0x%x)", Status));
+    goto EXIT;
+  }
+
+EXIT:
+  if (EFI_ERROR (Status)) {
+    Status = EFI_OUT_OF_RESOURCES;
+  }
+  return Status;
+}
+
+/**
+  Authenticated Variable Unit Test entry point
+**/
+EFI_STATUS
+EFIAPI
+AuthVarUnitTestEntryPoint (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
+  )
+{
+  EFI_STATUS Status;
+  UNIT_TEST_FRAMEWORK_HANDLE Framework;
+
+  Framework = NULL;
+
+  //
+  // Create a Framework object for Authenticated Variable Test
+  //
+  Status = InitUnitTestFramework (&Framework, UNIT_TEST_NAME, gEfiCallerBaseName, UNIT_TEST_VERSION);
+  if (EFI_ERROR (Status)) {
+    DEBUG ((DEBUG_ERROR, "Failed to create Framework Object (Status: %r)\n", Status));
+    goto EXIT;
+  }
+
+  //
+  // Register all the test suites the Unit Test Framwork
+  //
+  Status = AuthVarRegisterTests (Framework);
+  if (EFI_ERROR (Status )) {
+      DEBUG ((DEBUG_ERROR, "Failed to register the test suites with the framework (Status: %r)\n", Status));
+      goto EXIT;
+  }
+
+  //
+  // Execute all the tests
+  //
+  Status = RunAllTestSuites (Framework);
+
+EXIT:
+  if (Framework) {
+    FreeUnitTestFramework (Framework);
+  }
+  return Status;
+}
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
new file mode 100644
index 0000000000..50e50c23d3
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x2a, 0xe9, 0x0b, 0x40, 0x0e, 0xe1, 0xc6, 0xc5, 0xdc, 0xed, 0xbf, 0x9d,
+  0xc7, 0x5c, 0x17, 0xa0, 0xa6, 0x65, 0xaf, 0xff, 0x84, 0x4c, 0x91, 0x00, 0x6b, 0x0a, 0x3d, 0x21,
+  0x0e, 0xfb, 0x73, 0x1b, 0x5b, 0x5f, 0x05, 0x1b, 0x43, 0x20, 0xa7, 0x29, 0x68, 0x0d, 0x3f, 0xd9,
+  0x47, 0xed, 0x31, 0x87, 0x45, 0x69, 0x10, 0x1b, 0x6c, 0xb5, 0x62, 0xe6, 0xa2, 0xd7, 0x33, 0xb4,
+  0x1c, 0x1a, 0x8e, 0xa7, 0xa9, 0x6d, 0xde, 0x48, 0x17, 0xad, 0xea, 0x64, 0x01, 0xb6, 0xaa, 0xd6,
+  0x10, 0x22, 0xc7, 0x15, 0xaf, 0xb5, 0x2e, 0xb8, 0x93, 0x36, 0x03, 0x2a, 0x51, 0x9d, 0xc3, 0xf1,
+  0x0a, 0xbe, 0x94, 0x62, 0x24, 0xad, 0x2c, 0x3e, 0x7f, 0xaa, 0x85, 0xb2, 0x3d, 0x8a, 0xe2, 0xa4,
+  0x32, 0x0a, 0x87, 0x0c, 0xf0, 0xa1, 0x19, 0x29, 0xd0, 0x31, 0x63, 0x48, 0xb9, 0x36, 0x67, 0xea,
+  0x9a, 0x91, 0xc6, 0xa9, 0x51, 0x67, 0x76, 0xe1, 0xa3, 0x00, 0x26, 0x9e, 0x84, 0x80, 0xe3, 0x41,
+  0xa8, 0xc8, 0x60, 0xd8, 0xf7, 0xd3, 0x52, 0x71, 0x26, 0xe6, 0xee, 0xa5, 0x3f, 0x39, 0x75, 0x52,
+  0x56, 0x4f, 0xb5, 0xb4, 0xe7, 0xc2, 0x08, 0x7d, 0xe7, 0x9a, 0x8b, 0x7c, 0x5e, 0xdd, 0x4d, 0x1f,
+  0xfe, 0x1b, 0xc4, 0xee, 0x08, 0xa8, 0xf8, 0x41, 0x9f, 0x78, 0x51, 0x1b, 0x57, 0xc9, 0x58, 0x9b,
+  0xca, 0xa6, 0x3c, 0xef, 0xc1, 0x12, 0xab, 0x14, 0xde, 0xe3, 0x6a, 0x0d, 0xb3, 0xb1, 0x90, 0x4d,
+  0xf3, 0x39, 0x12, 0xa9, 0xee, 0x90, 0x88, 0xaf, 0x5b, 0xb7, 0x39, 0xfd, 0xe2, 0x76, 0xe6, 0x20,
+  0xe2, 0xc2, 0x09, 0x13, 0xaa, 0xa6, 0x87, 0x11, 0x11, 0x34, 0x64, 0x15, 0xf2, 0x41, 0xf2, 0xad,
+  0x6e, 0xa6, 0x3e, 0xf3, 0xc7, 0x5d, 0xa5, 0xb8, 0xdb, 0x73, 0x06, 0x86, 0x6e, 0x39, 0x0d, 0xe6,
+  0xa4, 0xee, 0x69, 0x9f, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x51,
+  0xc5, 0x6a, 0xc5, 0x75, 0xf6, 0xc1, 0xaf, 0xca, 0xce, 0x5e, 0xac, 0x62, 0x2e, 0xb1, 0x17, 0xf2,
+  0x6b, 0xcd, 0xa3, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb7, 0x41, 0x78, 0xd1, 0x4f, 0xff, 0x26, 0xee, 0x2f, 0x18, 0x21, 0x2a, 0x2a, 0x93, 0x3c,
+  0xde, 0xc3, 0x15, 0x59, 0x8b, 0xa3, 0xb7, 0x97, 0xba, 0xbf, 0x96, 0x89, 0x88, 0xcc, 0xf5, 0xb1,
+  0xc0, 0x72, 0x58, 0x8d, 0xcc, 0x3d, 0xe6, 0x86, 0x72, 0xfc, 0x77, 0x46, 0xce, 0x7d, 0xbb, 0x53,
+  0xd0, 0xed, 0x97, 0xe5, 0xa4, 0x5d, 0x1c, 0x59, 0x14, 0x21, 0x97, 0xe7, 0xdf, 0x77, 0xba, 0x19,
+  0x95, 0xee, 0xac, 0x3d, 0xaf, 0xd6, 0x08, 0xe9, 0x61, 0x17, 0x3e, 0x53, 0x45, 0x9f, 0x47, 0x27,
+  0x07, 0xc5, 0xd1, 0xf2, 0x1c, 0xc5, 0x9a, 0x0e, 0x60, 0xd3, 0x06, 0x2c, 0xbb, 0x05, 0xae, 0xed,
+  0x49, 0x28, 0x4b, 0xbe, 0x5c, 0x0e, 0xee, 0x9d, 0xcd, 0x5e, 0xd4, 0x2d, 0xc0, 0xd2, 0x61, 0xd5,
+  0x4a, 0xbd, 0xd5, 0xa4, 0x5f, 0xfb, 0x29, 0xc0, 0x1d, 0x9b, 0xd7, 0x4f, 0xa4, 0xae, 0x08, 0xfd,
+  0x88, 0xb1, 0x60, 0x61, 0x05, 0xf2, 0xc5, 0xca, 0x66, 0x7b, 0x83, 0x79, 0xb8, 0xee, 0x49, 0x21,
+  0x4f, 0x76, 0xd7, 0x3b, 0x32, 0x36, 0x4a, 0x26, 0x2c, 0x24, 0x67, 0xe6, 0xbe, 0x76, 0x23, 0x73,
+  0x4e, 0xf3, 0xc6, 0x32, 0xe0, 0x26, 0x61, 0x2f, 0x16, 0x15, 0xbf, 0xfd, 0x66, 0xa2, 0x6c, 0x9b,
+  0x25, 0x3d, 0xdf, 0xf8, 0x95, 0xa7, 0xda, 0x33, 0x59, 0xda, 0xf7, 0xea, 0x8f, 0xac, 0x11, 0xb2,
+  0xc4, 0x21, 0xfd, 0x30, 0x8d, 0x13, 0x61, 0x1e, 0xe5, 0x86, 0xd6, 0x48, 0xd1, 0xae, 0x92, 0xb6,
+  0x7c, 0x8c, 0xc7, 0x9f, 0x22, 0x64, 0x76, 0x88, 0xc3, 0x20, 0xe3, 0xd3, 0x9e, 0x1e, 0xe0, 0x1c,
+  0xad, 0xa2, 0x99, 0xb4, 0x0d, 0x0c, 0x62, 0x43, 0x41, 0x32, 0x68, 0x20, 0x0f, 0x8e, 0xdd, 0xb6,
+  0x0f, 0xa2, 0xea, 0x4c, 0xa9, 0xcf, 0x95, 0xc4, 0xa7, 0xd9, 0x1a, 0x09, 0x22, 0xa8, 0xfb, 0x72,
+  0x3b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45, 0x0c,
+  0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xc3, 0xab, 0xf0, 0xb9, 0x41, 0x55, 0x4b, 0xbd, 0xf2, 0x45,
+  0x0c, 0x3a, 0xb1, 0xc7, 0x09, 0x7a, 0xf5, 0xf8, 0x65, 0x28, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x1f,
+  0x2f, 0x49, 0xe9, 0x99, 0x0c, 0x0d, 0x17, 0x74, 0x2b, 0x21, 0x60, 0x99, 0xd2, 0xea, 0x35, 0x07,
+  0x6f, 0xf8, 0x09, 0x73, 0xf0, 0xba, 0x18, 0xf6, 0xe9, 0x1d, 0x35, 0xe1, 0x0f, 0x01, 0xa9, 0x5a,
+  0x13, 0xcc, 0xb7, 0xbb, 0xbf, 0x4b, 0xbc, 0x53, 0xc6, 0xac, 0xd9, 0x7e, 0x0f, 0xd0, 0xf1, 0xd4,
+  0x58, 0xdb, 0x95, 0x70, 0x3b, 0x93, 0xf1, 0x57, 0xbf, 0x73, 0xbd, 0xd9, 0xc2, 0x86, 0x47, 0x89,
+  0x86, 0x8f, 0x90, 0x1a, 0xd5, 0x42, 0x1a, 0xfc, 0x58, 0xb9, 0x10, 0xcd, 0x79, 0xca, 0x11, 0x6a,
+  0xd0, 0x56, 0x4e, 0x6a, 0x49, 0x4a, 0xaa, 0x1e, 0xe0, 0xee, 0xa2, 0x26, 0x6c, 0xb1, 0x40, 0x4d,
+  0x99, 0x41, 0xc0, 0xe3, 0x1f, 0xb0, 0xfc, 0x39, 0xcc, 0x06, 0x2a, 0xc9, 0x57, 0x84, 0xa6, 0xbf,
+  0x8f, 0x3e, 0x84, 0x81, 0x37, 0x8b, 0xed, 0x5c, 0xb5, 0xe1, 0x26, 0xe1, 0x9c, 0xc3, 0x22, 0xf3,
+  0xeb, 0xb6, 0x31, 0x08, 0xcf, 0x0c, 0x51, 0xe6, 0x0e, 0xb1, 0x26, 0x7e, 0x10, 0xb6, 0x1d, 0x7f,
+  0x28, 0x7e, 0xda, 0x9c, 0x11, 0x34, 0xdd, 0xf0, 0xc8, 0x4e, 0xf0, 0x91, 0xb3, 0x9f, 0x46, 0x36,
+  0x75, 0x52, 0x4e, 0xd6, 0x27, 0x1d, 0x85, 0x1b, 0x78, 0x97, 0x1e, 0x31, 0x39, 0x26, 0x8b, 0x59,
+  0x2e, 0xc2, 0x68, 0xb7, 0xf1, 0xbd, 0x07, 0x22, 0x91, 0x2a, 0x82, 0x33, 0x05, 0x75, 0x86, 0xd3,
+  0x23, 0x68, 0xb9, 0x87, 0xdc, 0x7e, 0xdc, 0x6b, 0x45, 0xa0, 0xac, 0x61, 0x3c, 0xc5, 0xf6, 0xbc,
+  0x56, 0xf0, 0xd0, 0xa1, 0x9d, 0xff, 0xa5, 0xee, 0xdc, 0xa7, 0x98, 0x75, 0xb0, 0x81, 0x75, 0xe6,
+  0x19, 0xd3, 0x67, 0x48, 0x07, 0x5c, 0xc4, 0x43, 0x90, 0x6d, 0xab, 0x18, 0xf2, 0xc0, 0xf6, 0x08,
+  0x84, 0x1a, 0x34, 0x45, 0xa3, 0x9e, 0x4f, 0xdd, 0x8e, 0xa3, 0xb0, 0x6a, 0x08, 0x0c, 0x6f
+};
+
+UINT32 gPkNewRsa2048Sha256Size = sizeof(gPkNewRsa2048Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
new file mode 100644
index 0000000000..c9de91552b
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xaf, 0xb5, 0xc9, 0xa8, 0xa0, 0x86, 0xd8, 0xbc, 0xa5, 0xc3, 0xfb, 0xc3,
+  0xef, 0x1f, 0x92, 0xd6, 0x20, 0x9c, 0x42, 0xea, 0xfa, 0xdd, 0x17, 0x13, 0xa1, 0xdb, 0x4a, 0x51,
+  0xe4, 0xa8, 0x49, 0xb5, 0xbf, 0xb8, 0x13, 0xa5, 0xa8, 0xa6, 0xb5, 0x69, 0x39, 0x93, 0xba, 0xa1,
+  0x50, 0x4f, 0x7a, 0xa4, 0x57, 0xba, 0x9f, 0xf4, 0xab, 0x4d, 0xf0, 0xb6, 0x60, 0xf2, 0x94, 0xd0,
+  0x42, 0x40, 0x23, 0xbc, 0xab, 0x56, 0xa1, 0xc8, 0xd5, 0xe5, 0x8a, 0xde, 0x6d, 0x51, 0xff, 0x75,
+  0x69, 0x32, 0x2f, 0xa5, 0x05, 0x39, 0xbc, 0x3e, 0x20, 0x89, 0x3d, 0x2d, 0x9c, 0x74, 0xfa, 0x75,
+  0x60, 0xaf, 0xfd, 0x7e, 0x94, 0x8e, 0xbc, 0x39, 0x15, 0x8c, 0x5f, 0x61, 0x96, 0x22, 0xd2, 0x05,
+  0x9d, 0x79, 0x6a, 0xe6, 0xf9, 0xa5, 0x4a, 0x95, 0x0a, 0x3b, 0x46, 0x3c, 0x50, 0x86, 0x42, 0xa6,
+  0x39, 0x5a, 0x13, 0xd4, 0x92, 0xe1, 0x05, 0x16, 0xae, 0xd7, 0x82, 0x79, 0x8e, 0xea, 0xf3, 0xe3,
+  0x67, 0xa7, 0xc9, 0xdb, 0x00, 0x52, 0xab, 0x32, 0xcb, 0x34, 0x30, 0x55, 0x14, 0xf1, 0x03, 0xbf,
+  0x31, 0x11, 0x91, 0xc2, 0x2a, 0xb9, 0x3d, 0xa8, 0x2d, 0x7b, 0x29, 0x20, 0x13, 0xda, 0x7c, 0x2d,
+  0x5e, 0x3b, 0xcd, 0xbd, 0xdf, 0x46, 0xba, 0x71, 0xc7, 0xfd, 0x50, 0x7f, 0x10, 0x15, 0xaf, 0x9f,
+  0xb3, 0xda, 0xe2, 0xad, 0xe2, 0xca, 0x0e, 0x95, 0x54, 0xd2, 0x4d, 0x33, 0x71, 0xff, 0x9d, 0x33,
+  0xc0, 0xb2, 0x77, 0xa2, 0xa5, 0x64, 0x59, 0x1f, 0xb3, 0x59, 0x4e, 0x96, 0x07, 0x55, 0xeb, 0xdf,
+  0xa9, 0x61, 0x7b, 0xb4, 0xb3, 0x5d, 0x4f, 0xbd, 0x5b, 0xfe, 0x0b, 0xdd, 0x31, 0x0a, 0xb8, 0x64,
+  0x7c, 0x0a, 0xd1, 0x57, 0x31, 0x89, 0xec, 0xa2, 0x41, 0x31, 0x9f, 0xf0, 0xc6, 0xf4, 0xb4, 0x8a,
+  0x24, 0xbb, 0x4d, 0x88, 0x42, 0xb6, 0xb4, 0x6e, 0x8b, 0x43, 0x9c, 0x0a, 0xf6, 0x30, 0xce, 0x28,
+  0xb6, 0x64, 0x75, 0xc2, 0xd0, 0xb5, 0xe6, 0xbf, 0x8b, 0x61, 0x8a, 0x51, 0xc7, 0x70, 0x1f, 0x6c,
+  0x34, 0xa5, 0x1d, 0x5c, 0xc3, 0xa3, 0x7c, 0x7e, 0x95, 0xab, 0xcc, 0x8a, 0xa0, 0x68, 0x17, 0x8a,
+  0xbf, 0x0d, 0x50, 0x99, 0x23, 0x77, 0x9c, 0xee, 0xb3, 0xa5, 0x42, 0x6e, 0x0d, 0xc6, 0xe5, 0x99,
+  0x0a, 0xff, 0x79, 0xbf, 0xc3, 0xf4, 0x4b, 0xe7, 0xdf, 0x14, 0x9c, 0x91, 0xac, 0x98, 0x7b, 0x16,
+  0x58, 0x56, 0xc9, 0x48, 0xfe, 0xc0, 0xf4, 0x07, 0x49, 0x32, 0x2e, 0x7c, 0x76, 0xaf, 0xba, 0x1c,
+  0x83, 0x9b, 0x33, 0xfa, 0x88, 0x13, 0x5b, 0xde, 0x36, 0xb5, 0x9c, 0x3d, 0x38, 0x2f, 0x08, 0x37,
+  0x5d, 0x95, 0x5c, 0xfd, 0x7b, 0xe5, 0xd2, 0xf8, 0xfc, 0x20, 0x92, 0x79, 0x6a, 0xc9, 0x53, 0xbc,
+  0xfb, 0x68, 0x25, 0xee, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x7f,
+  0x2f, 0x45, 0x86, 0x22, 0x18, 0x3b, 0xb6, 0x27, 0x30, 0x62, 0x62, 0xe6, 0x6d, 0xc4, 0xcc, 0x1c,
+  0x88, 0xd6, 0x58, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x57, 0x22, 0x1a, 0xec, 0x4b, 0x4e, 0xa8, 0x2b, 0x8b, 0x3b, 0x08, 0xf6, 0x71, 0x86,
+  0x94, 0x38, 0x66, 0xff, 0xef, 0x9c, 0xbe, 0x51, 0x87, 0x26, 0x35, 0x02, 0xfd, 0xa0, 0xd7, 0x53,
+  0xe4, 0x98, 0x52, 0xe9, 0x73, 0xea, 0x40, 0x9e, 0xa0, 0x75, 0x90, 0x20, 0xbe, 0x1d, 0x61, 0x85,
+  0xb5, 0xc9, 0x8f, 0xf3, 0x23, 0x61, 0x07, 0x7f, 0x9d, 0xf6, 0x52, 0xd2, 0x9a, 0xea, 0x97, 0x8b,
+  0xc0, 0x73, 0x89, 0xcb, 0x8b, 0x28, 0xfa, 0x45, 0xf5, 0x43, 0x15, 0x91, 0x1c, 0x21, 0xab, 0xb5,
+  0x7f, 0x86, 0x34, 0xea, 0x25, 0xea, 0x9f, 0xc4, 0xcd, 0x34, 0xe6, 0xb7, 0xd9, 0xba, 0xaf, 0x55,
+  0x96, 0x68, 0xf8, 0x8a, 0x9c, 0xa3, 0x87, 0xf1, 0x82, 0x44, 0xcc, 0xe7, 0x0b, 0xd6, 0xfb, 0x17,
+  0x01, 0x01, 0x4d, 0x5b, 0x0d, 0x25, 0xe3, 0x69, 0xf0, 0x15, 0x29, 0xf8, 0x16, 0x11, 0x63, 0xd1,
+  0xb7, 0x21, 0x18, 0x7c, 0x75, 0xaa, 0xec, 0x35, 0xe7, 0x2e, 0x94, 0x79, 0x95, 0x3d, 0x7f, 0xa2,
+  0x2a, 0x73, 0x62, 0x81, 0x6b, 0xcc, 0x35, 0xe6, 0x0c, 0x4c, 0x87, 0xb2, 0xcb, 0xa0, 0xfc, 0x10,
+  0x2e, 0x81, 0x4f, 0x39, 0xbf, 0xff, 0x89, 0x4b, 0xff, 0x8b, 0x86, 0x37, 0xfa, 0x80, 0x44, 0x2c,
+  0x61, 0x23, 0xfd, 0x7e, 0x9e, 0xc1, 0xc8, 0x46, 0xb9, 0x25, 0xc4, 0x24, 0x06, 0x99, 0xf0, 0x11,
+  0xc8, 0xfc, 0x55, 0x98, 0x5c, 0xd8, 0xf2, 0x26, 0x09, 0x60, 0x02, 0x94, 0x47, 0xbf, 0x86, 0x0b,
+  0x59, 0x9c, 0xb5, 0x5f, 0x13, 0xd3, 0x68, 0x11, 0xbb, 0xd6, 0xd2, 0x99, 0x35, 0x21, 0xfa, 0x7f,
+  0x6a, 0x3d, 0x3e, 0x9e, 0x2b, 0x65, 0x07, 0x1e, 0x54, 0xba, 0x56, 0xf1, 0x82, 0xa2, 0xd8, 0x7e,
+  0xd9, 0xca, 0x22, 0x75, 0x6a, 0x79, 0x14, 0x66, 0x2f, 0xbb, 0xe9, 0x67, 0x9b, 0x1c, 0x28, 0x06,
+  0x13, 0xaf, 0xbd, 0xab, 0xda, 0x98, 0xc4, 0x90, 0xed, 0xba, 0x7b, 0xe9, 0xe6, 0x90, 0x4c, 0x82,
+  0xfd, 0x34, 0x02, 0xea, 0x76, 0x9f, 0xb0, 0x8d, 0x42, 0xda, 0xd9, 0x0a, 0x56, 0x8e, 0xe9, 0x01,
+  0xb5, 0xc2, 0xa3, 0xfc, 0xc9, 0x73, 0xef, 0x72, 0x92, 0xa5, 0xe7, 0x27, 0x93, 0x63, 0x2e, 0xe7,
+  0x0b, 0x61, 0x94, 0x50, 0x94, 0x29, 0x3c, 0x67, 0x87, 0xa7, 0xf7, 0x5b, 0x09, 0x1f, 0xfa, 0x7b,
+  0xdd, 0x83, 0x7b, 0xc4, 0x3e, 0xd9, 0x04, 0xbf, 0x4e, 0x5b, 0x79, 0x1a, 0x37, 0x4f, 0x4d, 0xd5,
+  0x4b, 0x5b, 0x99, 0xe2, 0xc6, 0x6a, 0xa7, 0x75, 0x53, 0xab, 0xaa, 0xaa, 0xaf, 0x1e, 0x3b, 0xa1,
+  0x64, 0x4d, 0x75, 0x83, 0x84, 0x09, 0x92, 0x53, 0x32, 0x52, 0x8b, 0x86, 0xdd, 0x02, 0x69, 0xa2,
+  0xbc, 0x4e, 0xc5, 0xa4, 0x13, 0xc2, 0x36, 0x2f, 0x31, 0x60, 0xa4, 0x30, 0x93, 0x51, 0x5f, 0x0c,
+  0xa1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b, 0xa4,
+  0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x91, 0xb2, 0xbc, 0x33, 0xaa, 0xaa, 0x08, 0x05, 0x34, 0x2b,
+  0xa4, 0xbc, 0x4e, 0xe7, 0x87, 0xdb, 0x42, 0x92, 0xe6, 0x1a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x8c,
+  0xfe, 0x86, 0x60, 0x54, 0xf8, 0x9b, 0x13, 0xfc, 0xae, 0x43, 0xda, 0x43, 0xc8, 0x1c, 0xa4, 0x40,
+  0x62, 0xdb, 0x4d, 0x1f, 0x81, 0xf0, 0xf1, 0xf6, 0xb9, 0xfa, 0x3a, 0x14, 0x1e, 0x3c, 0x60, 0x54,
+  0x91, 0x06, 0x85, 0x56, 0x95, 0x4d, 0x20, 0x00, 0xd5, 0x26, 0x3b, 0xa5, 0x49, 0xaa, 0x95, 0x61,
+  0x09, 0x17, 0xf2, 0xa4, 0x58, 0xcd, 0x8f, 0xf9, 0xf0, 0xb8, 0xbd, 0x2d, 0x5d, 0x07, 0x13, 0x01,
+  0xb9, 0xe8, 0x88, 0x1b, 0x4d, 0xa3, 0x97, 0xc2, 0xb5, 0xf2, 0x15, 0xe1, 0xaa, 0xf0, 0xfd, 0x17,
+  0x88, 0x5f, 0xb4, 0xcc, 0xa9, 0x30, 0x2f, 0x8f, 0xd9, 0x3f, 0x18, 0xf2, 0x8a, 0x9c, 0xd3, 0xba,
+  0x1c, 0x6f, 0xf2, 0x10, 0xb5, 0xa6, 0x69, 0x8a, 0x9d, 0xd7, 0x6f, 0xea, 0xcc, 0x4b, 0x05, 0x08,
+  0xb6, 0xff, 0x4f, 0xae, 0xa4, 0xec, 0x10, 0xef, 0x02, 0x35, 0xac, 0x6a, 0xe0, 0x67, 0x68, 0x7f,
+  0x2a, 0x3c, 0x7f, 0x4d, 0x30, 0x38, 0x59, 0x81, 0x0b, 0xc4, 0x1c, 0x8c, 0x80, 0x16, 0x0a, 0x94,
+  0x67, 0x0d, 0xf6, 0x6b, 0xe5, 0xaf, 0x0d, 0x05, 0x27, 0x41, 0x79, 0x33, 0xc0, 0x6b, 0x34, 0xa2,
+  0xb6, 0x22, 0x26, 0x20, 0xeb, 0xee, 0x33, 0x1c, 0x43, 0x7f, 0x4d, 0x5b, 0x97, 0x74, 0x49, 0x00,
+  0xbd, 0xd7, 0x91, 0xdd, 0xc9, 0xa1, 0x6f, 0xfc, 0x65, 0x1b, 0x18, 0x4c, 0xb6, 0x5c, 0xca, 0xe1,
+  0xe1, 0x53, 0xc3, 0xc5, 0xa3, 0x23, 0x28, 0xaa, 0xec, 0x83, 0xe2, 0xd7, 0xc4, 0xb3, 0x97, 0xf0,
+  0xc3, 0x4c, 0x91, 0x3d, 0x0f, 0xc0, 0x68, 0xd2, 0x33, 0x8a, 0xce, 0xee, 0xe8, 0x7f, 0xc3, 0x81,
+  0x9d, 0xf6, 0xc6, 0xd0, 0xe9, 0x01, 0xd4, 0x52, 0x6b, 0xb7, 0x56, 0xc1, 0x20, 0x3b, 0x11, 0x18,
+  0xc6, 0xd9, 0x44, 0x07, 0x22, 0xe4, 0x61, 0xa5, 0x48, 0x54, 0xff, 0xb4, 0x74, 0x68, 0x6c, 0x2e,
+  0x6a, 0x61, 0x00, 0xfa, 0x90, 0x58, 0x53, 0x42, 0x2b, 0xe9, 0x16, 0xf2, 0x35, 0x08, 0xbc, 0xbb,
+  0x0c, 0xca, 0x56, 0xf8, 0x50, 0xae, 0x15, 0xba, 0xa0, 0x80, 0x97, 0xf3, 0x0a, 0xe2, 0x11, 0xed,
+  0x7d, 0x24, 0xdc, 0xb5, 0xbe, 0xc0, 0xd8, 0xd5, 0x96, 0x83, 0xbc, 0xca, 0x6e, 0x0a, 0x82, 0x56,
+  0x84, 0x9c, 0x16, 0xc5, 0xbb, 0x7e, 0x54, 0x2e, 0x6a, 0xfa, 0x88, 0x4d, 0x32, 0xdb, 0x42, 0xb5,
+  0xa5, 0x01, 0xfc, 0x36, 0x50, 0x68, 0xdb, 0xc0, 0x7c, 0x20, 0x70, 0x34, 0x2f, 0x53, 0x09, 0x2c,
+  0xd7, 0xaa, 0x21, 0xa9, 0xa1, 0x37, 0x70, 0xe9, 0x83, 0x13, 0xb1, 0x7d, 0x8b, 0x16, 0x04, 0xd5,
+  0x92, 0x78, 0x83, 0xbc, 0x22, 0x25, 0xbc, 0xd1, 0x72, 0xee, 0x53, 0x3c, 0xf3, 0x5f, 0xa7, 0x78,
+  0xb9, 0xce, 0x03, 0xe0, 0xe4, 0xcf, 0x80, 0x94, 0xdc, 0x0d, 0xd8, 0x53, 0xc1, 0x83, 0xbd
+};
+
+UINT32 gPkNewRsa3072Sha256Size = sizeof(gPkNewRsa3072Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
new file mode 100644
index 0000000000..8e7c2d64f1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x53, 0x5f, 0x07, 0x58, 0x7a, 0x77, 0x36, 0x03, 0x4e, 0xa8, 0x30, 0x83,
+  0x5d, 0x9b, 0xad, 0x4a, 0x1d, 0x08, 0xd9, 0xc5, 0x95, 0x28, 0x81, 0xb9, 0x89, 0x62, 0x5b, 0x03,
+  0xf2, 0x2c, 0xf0, 0xf1, 0x86, 0x01, 0x13, 0x5d, 0xb6, 0xc2, 0x30, 0x93, 0xa3, 0x0f, 0x37, 0x24,
+  0x89, 0x60, 0xfd, 0x0b, 0x43, 0x84, 0x79, 0x21, 0xed, 0x57, 0x89, 0x7f, 0x63, 0xf0, 0xf2, 0x82,
+  0x01, 0x5d, 0x39, 0x8a, 0x1c, 0xe3, 0x37, 0xff, 0x92, 0xc2, 0xbd, 0x0e, 0x5a, 0x84, 0x05, 0xe2,
+  0x50, 0x11, 0x58, 0xec, 0x2f, 0x69, 0x3d, 0xbe, 0x14, 0xe2, 0x45, 0x36, 0x3b, 0x49, 0x1d, 0x10,
+  0xf2, 0x53, 0x99, 0x4f, 0x96, 0x05, 0x48, 0xba, 0xfe, 0xb5, 0x6e, 0xf4, 0x4f, 0x48, 0xc6, 0x82,
+  0xaa, 0x80, 0x31, 0x07, 0x42, 0x81, 0xdc, 0x37, 0xca, 0xd4, 0xaf, 0xd0, 0x7b, 0x29, 0xeb, 0x62,
+  0x7c, 0x98, 0x5a, 0xf2, 0x35, 0xaf, 0x75, 0x24, 0xad, 0x3d, 0x1e, 0xe8, 0xa8, 0xaa, 0xfd, 0x6a,
+  0xd6, 0x6e, 0xed, 0xdd, 0x00, 0x7e, 0x2c, 0x9a, 0x57, 0xbf, 0xd0, 0x41, 0x36, 0x18, 0x76, 0x9e,
+  0x29, 0x70, 0x88, 0xfd, 0x1e, 0x5f, 0x5f, 0xd7, 0x72, 0x1a, 0xda, 0xf4, 0xe8, 0x55, 0x7e, 0x2d,
+  0xf4, 0x9a, 0x43, 0x9b, 0x06, 0xcf, 0x28, 0x28, 0xd7, 0x00, 0x24, 0xf9, 0x9b, 0xc4, 0xa6, 0xa8,
+  0x6e, 0x6d, 0x3f, 0x16, 0x0e, 0x37, 0x56, 0x74, 0x02, 0x5c, 0x81, 0xae, 0x21, 0x1a, 0x44, 0xf3,
+  0x16, 0xbe, 0xf3, 0x60, 0xf8, 0x33, 0x34, 0xab, 0x21, 0xdb, 0x31, 0x56, 0xa6, 0x79, 0xdc, 0x2a,
+  0xcc, 0x6c, 0x57, 0x2c, 0xff, 0x56, 0x5d, 0xb8, 0x45, 0x86, 0xd5, 0xeb, 0x63, 0xc2, 0x0f, 0xc8,
+  0xb8, 0xc2, 0x17, 0x58, 0xf0, 0x5d, 0xc0, 0xc2, 0x4c, 0x18, 0x3d, 0x0f, 0x15, 0x05, 0x62, 0xca,
+  0x74, 0x85, 0x46, 0x43, 0x19, 0x7f, 0x55, 0xef, 0xa8, 0xbc, 0x74, 0x05, 0xbe, 0x50, 0x35, 0x83,
+  0x22, 0x6c, 0xa1, 0x8a, 0xf0, 0xe0, 0x3b, 0xac, 0x2a, 0xee, 0x40, 0x5b, 0x01, 0xbe, 0x34, 0x3a,
+  0x65, 0x3b, 0xde, 0x60, 0x90, 0x7b, 0x45, 0x79, 0x44, 0x24, 0xf6, 0x12, 0xf9, 0x04, 0x09, 0xec,
+  0x39, 0x95, 0x33, 0x0f, 0xb5, 0x77, 0x65, 0xb6, 0x1d, 0x00, 0xa2, 0x78, 0x4b, 0xc9, 0x9a, 0x76,
+  0xb0, 0x56, 0x94, 0xb8, 0xa1, 0xc1, 0xd9, 0x56, 0xe4, 0x74, 0xee, 0x2e, 0x16, 0x4d, 0xae, 0x40,
+  0xcf, 0xf1, 0xaa, 0x61, 0xac, 0x06, 0x3a, 0x3b, 0xe9, 0xf4, 0x09, 0x36, 0xa8, 0x0c, 0x42, 0x3b,
+  0x3e, 0x04, 0xd9, 0x4c, 0x75, 0xeb, 0x43, 0x41, 0x11, 0x5a, 0xb8, 0xff, 0x8d, 0xaf, 0x79, 0x50,
+  0xff, 0x72, 0xa6, 0xa4, 0xba, 0xde, 0xe0, 0x03, 0x96, 0xca, 0x55, 0x56, 0xfe, 0x91, 0x1f, 0xf6,
+  0x79, 0xbd, 0xa4, 0x9a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x34, 0x16, 0x1f, 0x52, 0x09, 0x02, 0x83, 0xf4, 0x74, 0x86, 0xf3, 0xf5, 0xbe, 0xe4, 0x7c, 0xec,
+  0xe3, 0x7d, 0x29, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x31, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x31,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0x9d, 0x39, 0x0e, 0x96, 0x5e, 0xb8, 0x06, 0x19, 0xad, 0xf9, 0xfd, 0xcf, 0xcd, 0xc4, 0x8f,
+  0xd8, 0xd5, 0x8a, 0xc1, 0xdf, 0x84, 0x0c, 0x34, 0x4e, 0x0d, 0xf9, 0x60, 0x7c, 0xd5, 0xc1, 0x8e,
+  0xc1, 0x40, 0x52, 0xda, 0xc6, 0xd0, 0x41, 0x4f, 0xa7, 0x16, 0xc9, 0x97, 0x89, 0x8c, 0x5e, 0x7a,
+  0xea, 0x3e, 0xe9, 0xc0, 0x1e, 0x57, 0x21, 0xda, 0x94, 0x8b, 0xba, 0xd6, 0xcf, 0x3d, 0xb0, 0x28,
+  0x98, 0xa9, 0x61, 0xc4, 0x5b, 0xc3, 0xf5, 0x46, 0xfb, 0x3a, 0x57, 0xc1, 0x78, 0xa0, 0x1d, 0xd7,
+  0x35, 0x72, 0xb4, 0x37, 0xc8, 0xbe, 0xf0, 0xb3, 0x7d, 0xb7, 0xfb, 0x2f, 0x6a, 0x7a, 0x4e, 0x28,
+  0xb3, 0xe6, 0x79, 0xdc, 0xe0, 0xf7, 0x5f, 0x66, 0xa4, 0x56, 0x79, 0x8e, 0x2b, 0xa5, 0x06, 0xe2,
+  0x3d, 0x48, 0xb3, 0x4f, 0x7d, 0xba, 0x4a, 0x44, 0x33, 0xbb, 0x14, 0x13, 0x54, 0x90, 0x89, 0x80,
+  0xe9, 0x57, 0x43, 0xf7, 0xb1, 0x59, 0xec, 0xbf, 0x41, 0xe1, 0xf3, 0xb5, 0x19, 0xd1, 0x3d, 0x2b,
+  0x05, 0x66, 0x58, 0xb5, 0xcd, 0x2a, 0xfe, 0x54, 0xa0, 0x13, 0xe9, 0x89, 0x4c, 0xd1, 0xb8, 0xd3,
+  0xf3, 0xc9, 0x1c, 0xe4, 0xe4, 0xa4, 0x97, 0xc6, 0x55, 0x5b, 0x78, 0xb0, 0x4f, 0x90, 0x52, 0x82,
+  0x32, 0xd0, 0xc7, 0x0a, 0xa6, 0x25, 0xfb, 0xf1, 0x13, 0xfc, 0x78, 0xeb, 0x58, 0xd6, 0x33, 0x24,
+  0xc9, 0xa7, 0xb9, 0x14, 0x8f, 0x9d, 0x05, 0xbd, 0x44, 0x2e, 0x76, 0xb1, 0x00, 0x9e, 0x09, 0xd6,
+  0x4a, 0x17, 0x6c, 0x9c, 0xf4, 0xa2, 0xa6, 0xe7, 0x48, 0x96, 0x29, 0x6e, 0x62, 0x07, 0xd9, 0xd2,
+  0x84, 0x18, 0xd7, 0x3b, 0x29, 0x8d, 0x2d, 0x13, 0x88, 0xbd, 0xed, 0x78, 0x06, 0x5e, 0x8d, 0x4e,
+  0xb0, 0xed, 0xf7, 0x60, 0x4b, 0x81, 0x71, 0x6e, 0x31, 0x21, 0x95, 0x8f, 0xed, 0x05, 0x86, 0x49,
+  0xff, 0xc6, 0x66, 0xf6, 0xa5, 0xf2, 0x56, 0xb3, 0x1e, 0xb6, 0x25, 0xac, 0x2c, 0x0d, 0x43, 0xfb,
+  0xac, 0xa6, 0x49, 0xe7, 0xae, 0x05, 0x79, 0xd3, 0x98, 0xad, 0xdf, 0xae, 0x13, 0x7a, 0xd5, 0x78,
+  0x14, 0xcb, 0xe7, 0x66, 0x85, 0xf8, 0x50, 0x50, 0xd2, 0x60, 0xfa, 0x9d, 0x94, 0x71, 0x4e, 0x9a,
+  0xd7, 0x9e, 0x17, 0x06, 0xc2, 0x94, 0x07, 0xb7, 0xf7, 0x07, 0xf0, 0x23, 0x11, 0x50, 0x58, 0x16,
+  0x6e, 0x52, 0xcd, 0x83, 0x06, 0xfb, 0x33, 0x7b, 0x6f, 0x30, 0x01, 0x62, 0x0a, 0x63, 0x32, 0x2e,
+  0x99, 0xee, 0x26, 0xa2, 0x07, 0x02, 0x6b, 0x45, 0xd1, 0x46, 0x2c, 0xa1, 0x3f, 0x9b, 0xfe, 0x58,
+  0x20, 0xc8, 0xd8, 0x3e, 0xc5, 0xc0, 0x11, 0xa0, 0x30, 0xac, 0x0d, 0x6b, 0x4b, 0x45, 0xab, 0xca,
+  0x10, 0x66, 0x77, 0x35, 0x57, 0x72, 0x67, 0xc2, 0x99, 0xe9, 0x9b, 0xc7, 0x2a, 0x5c, 0x84, 0x8f,
+  0x55, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8, 0x70,
+  0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x88, 0xe3, 0x9c, 0xbd, 0x68, 0xf0, 0x93, 0x4d, 0x10, 0xf8,
+  0x70, 0x33, 0x27, 0x69, 0x5f, 0x99, 0x27, 0x09, 0x99, 0xdd, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x91,
+  0x61, 0x62, 0xff, 0x17, 0xb7, 0x31, 0x14, 0x72, 0x53, 0x61, 0xc4, 0xfd, 0xc9, 0x45, 0xfa, 0x39,
+  0x58, 0x0c, 0x9a, 0xc0, 0x45, 0x50, 0xd3, 0xb1, 0x95, 0x85, 0x0e, 0x3c, 0xc7, 0xbe, 0xa2, 0x81,
+  0x99, 0x19, 0x9e, 0x80, 0xa6, 0x35, 0xa4, 0x56, 0x85, 0xea, 0x91, 0x2c, 0xf8, 0xd9, 0x4e, 0x7c,
+  0xf4, 0x59, 0x81, 0xd2, 0xb9, 0x85, 0xe0, 0x14, 0x6f, 0xd3, 0xfa, 0xb4, 0xf9, 0xcf, 0x4b, 0x9c,
+  0x81, 0x55, 0x67, 0xe9, 0x48, 0xee, 0x9e, 0xd8, 0x89, 0xe0, 0xba, 0x3e, 0x04, 0x86, 0x8e, 0x42,
+  0xf0, 0x72, 0x61, 0x76, 0xdb, 0x25, 0xea, 0x82, 0x2f, 0x78, 0xc6, 0x5a, 0xa9, 0xef, 0x85, 0x03,
+  0xb9, 0xa1, 0x66, 0x8e, 0xb2, 0xc0, 0xfe, 0xad, 0x6b, 0xda, 0x32, 0xd4, 0x85, 0x2a, 0xa6, 0xcd,
+  0xde, 0xce, 0xe1, 0x64, 0x5a, 0x09, 0x63, 0xf0, 0xf1, 0x68, 0x66, 0xa3, 0x41, 0x72, 0x67, 0xd2,
+  0x56, 0x1c, 0x53, 0x58, 0x4a, 0xd6, 0x8b, 0xfc, 0x15, 0xb5, 0x8b, 0xeb, 0x6d, 0x84, 0x37, 0x77,
+  0x42, 0xae, 0x9e, 0x21, 0x9c, 0x4b, 0x4b, 0x4e, 0x32, 0x78, 0x07, 0x81, 0x19, 0xf2, 0xce, 0x4c,
+  0xc4, 0xaf, 0xa3, 0xe7, 0x67, 0x4f, 0x8f, 0xd2, 0xda, 0x73, 0x7f, 0x87, 0xff, 0x57, 0xbf, 0x4a,
+  0x15, 0x98, 0x9c, 0xf1, 0x1c, 0x1f, 0x89, 0x91, 0x4c, 0xcf, 0xa8, 0xfb, 0x38, 0x73, 0xb7, 0xb6,
+  0xa1, 0x80, 0xb2, 0x39, 0xe6, 0x43, 0xbf, 0x4d, 0xb1, 0x4f, 0xbf, 0x4c, 0x13, 0x98, 0xa5, 0x52,
+  0xc7, 0x50, 0xe2, 0x17, 0xc7, 0x0b, 0xee, 0xcb, 0xa9, 0x3a, 0x93, 0xa1, 0x89, 0xb3, 0x39, 0x04,
+  0x4e, 0x75, 0xc6, 0x40, 0x18, 0x80, 0x95, 0xed, 0xd3, 0x79, 0x1c, 0xa2, 0xe2, 0x6e, 0x65, 0x85,
+  0xec, 0xbf, 0x62, 0xe5, 0x5b, 0xd3, 0x07, 0xf0, 0x6a, 0x43, 0xd5, 0xee, 0x2f, 0x3c, 0x43, 0x3e,
+  0x74, 0xdb, 0x2b, 0xec, 0x01, 0x50, 0xc9, 0x09, 0xf9, 0xeb, 0x39, 0xcc, 0x4d, 0x6a, 0x38, 0x15,
+  0xe6, 0x26, 0xb9, 0x32, 0xe2, 0xf4, 0x5f, 0x9d, 0xac, 0x52, 0x55, 0xe8, 0x73, 0xf4, 0x4b, 0xf3,
+  0xf5, 0x3b, 0x13, 0x44, 0x07, 0x2f, 0x5f, 0x3a, 0x45, 0x38, 0xd5, 0x2b, 0xce, 0x63, 0x41, 0x41,
+  0x9d, 0x04, 0x31, 0xa7, 0x31, 0x1e, 0x20, 0xfc, 0xd9, 0xab, 0x70, 0x4e, 0xd4, 0xc1, 0x75, 0xff,
+  0x76, 0xa8, 0x9c, 0x89, 0x00, 0xc3, 0xb9, 0x15, 0x30, 0xf4, 0xa0, 0x19, 0x1b, 0xab, 0xad, 0x41,
+  0x72, 0x75, 0x41, 0x26, 0x58, 0x8f, 0xe1, 0x33, 0xd5, 0xae, 0x2b, 0xf0, 0xb9, 0x6f, 0x3b, 0x35,
+  0x65, 0xde, 0x2a, 0x99, 0xed, 0xc3, 0x3f, 0xb0, 0xb6, 0x1d, 0xe9, 0x2f, 0x38, 0xc2, 0xf8, 0x57,
+  0xd4, 0xe0, 0x06, 0x24, 0x71, 0xe5, 0x90, 0xf5, 0xfc, 0x4d, 0x11, 0xa7, 0xb7, 0xfc, 0xb2
+};
+
+UINT32 gPkNewRsa3072Sha384Size = sizeof(gPkNewRsa3072Sha384);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
new file mode 100644
index 0000000000..5d59baf091
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x06, 0x6f, 0x06, 0xe8, 0xd0, 0xa6, 0x98, 0x26, 0x9f, 0xf2, 0xd2, 0xa8,
+  0x50, 0x96, 0xa1, 0x34, 0xe9, 0xd5, 0xcd, 0x31, 0x40, 0x78, 0x2f, 0x58, 0x80, 0xa3, 0xf9, 0x69,
+  0x9b, 0xd8, 0x81, 0xe2, 0x32, 0xa7, 0xa6, 0x52, 0xc4, 0xb4, 0x3b, 0xf6, 0xe8, 0x14, 0x38, 0xe8,
+  0x08, 0x8d, 0x96, 0x17, 0x05, 0x15, 0xc5, 0x80, 0x61, 0xd7, 0x43, 0x20, 0xdf, 0x90, 0x85, 0x4a,
+  0xaa, 0x18, 0x5b, 0xb5, 0x0e, 0xdc, 0xb6, 0x13, 0xbf, 0x6e, 0xe8, 0x1c, 0x15, 0xec, 0xea, 0xc1,
+  0x80, 0x96, 0xbd, 0x90, 0xdf, 0x52, 0x89, 0xfa, 0x12, 0xa4, 0xc4, 0xfc, 0xcb, 0xc6, 0x78, 0xea,
+  0xee, 0xff, 0x47, 0x9c, 0xa2, 0xd5, 0xaa, 0xe8, 0x06, 0x89, 0xe1, 0xdc, 0xcd, 0x91, 0x76, 0x61,
+  0x92, 0x8a, 0x2f, 0x88, 0xb5, 0x10, 0xd6, 0xa3, 0xbe, 0x0e, 0x9b, 0x6a, 0xbf, 0xdd, 0x5b, 0xdc,
+  0x8d, 0x81, 0x15, 0x84, 0x24, 0x92, 0x64, 0x37, 0x1b, 0x31, 0x7c, 0x4e, 0x88, 0x64, 0xd1, 0x99,
+  0xab, 0x57, 0xc5, 0xc5, 0x74, 0xe7, 0x03, 0x34, 0xf8, 0xc8, 0x0f, 0x05, 0x6f, 0xc6, 0x2c, 0x55,
+  0x82, 0x9b, 0xd5, 0xfd, 0x7e, 0x81, 0x74, 0x5e, 0xbe, 0xee, 0x6a, 0x3a, 0x3c, 0xae, 0x6a, 0x21,
+  0x47, 0x7b, 0x11, 0xb2, 0x7e, 0x84, 0xcb, 0x62, 0x7f, 0xbd, 0x47, 0x4a, 0xbe, 0x33, 0x95, 0xd0,
+  0x49, 0xf0, 0xfc, 0x4d, 0xdc, 0x56, 0x24, 0xa5, 0x13, 0xcc, 0x2f, 0x70, 0xeb, 0x04, 0x38, 0xd1,
+  0xe2, 0xa2, 0x4d, 0xbe, 0x00, 0x4e, 0xa4, 0xee, 0x08, 0x97, 0x56, 0xc4, 0x82, 0xfa, 0x41, 0x24,
+  0x5d, 0xf8, 0xa4, 0xfa, 0x44, 0xc6, 0x88, 0x63, 0x08, 0xc9, 0xc6, 0xd0, 0x07, 0xef, 0x02, 0x1a,
+  0x5e, 0x2a, 0x5f, 0x15, 0x67, 0x35, 0x7f, 0xcf, 0x07, 0x4f, 0x9c, 0xfb, 0x13, 0xe7, 0x79, 0x43,
+  0xa5, 0xd4, 0xc6, 0x20, 0x07, 0x86, 0x8d, 0xdf, 0x5e, 0x94, 0xf8, 0x91, 0xab, 0x05, 0xf1, 0xd6,
+  0x1c, 0x93, 0x1b, 0x33, 0xdb, 0x0f, 0x03, 0x35, 0xbf, 0x93, 0xc9, 0xb9, 0x35, 0x5f, 0x59, 0x50,
+  0xd7, 0xef, 0x23, 0x16, 0xdf, 0x83, 0x6a, 0x6a, 0x3a, 0xc0, 0xc6, 0x74, 0x80, 0xb3, 0x86, 0x83,
+  0xe7, 0xef, 0x08, 0x2d, 0x5a, 0x6c, 0xa9, 0xc7, 0x33, 0x07, 0xe4, 0x22, 0x0f, 0xdf, 0x1f, 0x15,
+  0x0c, 0x56, 0x01, 0xcf, 0x97, 0x50, 0x7e, 0x2c, 0xc5, 0xd4, 0xea, 0x2a, 0x4a, 0x95, 0xcb, 0x55,
+  0xa4, 0x7f, 0xaf, 0x7b, 0xad, 0x10, 0x84, 0x4f, 0x39, 0xbe, 0x19, 0x1a, 0x63, 0x19, 0x8e, 0x24,
+  0x38, 0xca, 0x5b, 0x2b, 0x02, 0x16, 0xa9, 0x29, 0xd0, 0x0c, 0x1b, 0x12, 0xd5, 0x44, 0x0f, 0x17,
+  0x4a, 0x77, 0x3e, 0x46, 0xaa, 0x17, 0x9f, 0xc6, 0xb6, 0x84, 0x73, 0x82, 0x4d, 0xdc, 0x35, 0x3e,
+  0xa3, 0x57, 0x08, 0x89, 0x6a, 0x12, 0x03, 0xd6, 0xc2, 0xb4, 0x3b, 0xae, 0xfe, 0xa0, 0x39, 0x92,
+  0x34, 0xf4, 0x4c, 0x1a, 0x12, 0x96, 0xae, 0xf5, 0x51, 0x27, 0xf6, 0x2b, 0x2e, 0x9a, 0x9a, 0x18,
+  0xd5, 0x77, 0xf0, 0x73, 0x7c, 0x2f, 0x8d, 0xbd, 0x9f, 0xec, 0x15, 0x92, 0x58, 0x5f, 0x69, 0x97,
+  0x23, 0x02, 0x1f, 0xe1, 0x42, 0xb4, 0x55, 0x94, 0x92, 0x89, 0x7a, 0xaf, 0x52, 0x86, 0x4f, 0x70,
+  0x65, 0x6c, 0x84, 0x24, 0x93, 0xc0, 0xac, 0x1b, 0x45, 0xf7, 0x4a, 0x20, 0x9e, 0xc0, 0x00, 0x6b,
+  0x93, 0x97, 0x20, 0xc7, 0x6f, 0x3d, 0x48, 0xd0, 0xe3, 0x21, 0x2e, 0xb7, 0x94, 0x16, 0xb7, 0xa4,
+  0x29, 0xb3, 0xe3, 0x07, 0x7e, 0x3b, 0xc3, 0x1a, 0x89, 0xee, 0x5b, 0xeb, 0xb8, 0x83, 0xb5, 0x15,
+  0xb5, 0x7a, 0xee, 0xec, 0x94, 0x34, 0x8b, 0x88, 0xde, 0x83, 0x70, 0xaa, 0x3b, 0xfc, 0xd3, 0xcc,
+  0x2f, 0xad, 0x35, 0xd4, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0f,
+  0x71, 0x2e, 0x15, 0x55, 0x8b, 0x4a, 0xc1, 0x31, 0x73, 0x6b, 0x12, 0x3a, 0xbd, 0x29, 0x5d, 0x7b,
+  0xac, 0x57, 0x79, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x38, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x38,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb5, 0x96, 0xc3, 0x48, 0xea, 0x90, 0xb8, 0x77, 0x42, 0xea, 0x55, 0x12, 0x15, 0x58, 0x91,
+  0x8e, 0x09, 0xae, 0xf5, 0x5c, 0xf6, 0x1a, 0x64, 0x62, 0xa5, 0xc0, 0xf0, 0x54, 0x60, 0xa0, 0xa6,
+  0x9c, 0x11, 0xa8, 0x62, 0x25, 0xa5, 0x6e, 0x0e, 0xc2, 0x3f, 0x90, 0xbe, 0xe2, 0x10, 0xcd, 0x98,
+  0xc1, 0xc9, 0x35, 0x39, 0x62, 0x0b, 0x50, 0x04, 0x4c, 0xc9, 0xe4, 0x31, 0x1d, 0xd8, 0xde, 0x9d,
+  0x49, 0xeb, 0x68, 0x67, 0xae, 0x75, 0x84, 0x88, 0xff, 0x9d, 0xc8, 0xab, 0x36, 0x40, 0x92, 0x3f,
+  0x50, 0x6c, 0x80, 0x93, 0x06, 0xd7, 0xb7, 0x1d, 0xb4, 0x02, 0xe2, 0x43, 0xd0, 0x04, 0xe3, 0x8f,
+  0xc5, 0xc2, 0xdd, 0x92, 0xaf, 0xb7, 0xc2, 0x46, 0xdc, 0x3a, 0x42, 0xa2, 0x93, 0xbb, 0x57, 0x72,
+  0x2b, 0x7c, 0xf4, 0x30, 0x86, 0x01, 0x85, 0x1a, 0xe1, 0xb0, 0x57, 0xc3, 0xe0, 0xe5, 0xb2, 0xe1,
+  0xcc, 0x72, 0xbb, 0xe7, 0xef, 0x38, 0xb0, 0xf9, 0x22, 0x05, 0xeb, 0x49, 0xbe, 0xe4, 0x3b, 0x1a,
+  0xc5, 0xe0, 0xa3, 0xb4, 0x3a, 0xcf, 0xa5, 0xcc, 0x53, 0x1c, 0x5a, 0x1f, 0x69, 0x76, 0x23, 0x6e,
+  0xcd, 0x3c, 0x96, 0xae, 0x8e, 0xda, 0x18, 0xec, 0xc4, 0x8e, 0x30, 0x87, 0x09, 0xbb, 0x00, 0xf0,
+  0x36, 0x3a, 0x59, 0x48, 0x09, 0x83, 0xab, 0x2e, 0x7c, 0x07, 0xef, 0xdc, 0x02, 0x2c, 0xde, 0x85,
+  0x0b, 0xe4, 0xd2, 0xe6, 0x1d, 0x51, 0x89, 0x43, 0x60, 0x43, 0x3c, 0x57, 0x61, 0x05, 0x5f, 0x6b,
+  0x3c, 0x5c, 0x4f, 0xef, 0x9f, 0xba, 0xed, 0xa5, 0xfa, 0xfd, 0xf4, 0x25, 0xa9, 0x61, 0xc6, 0x28,
+  0x13, 0x23, 0xaa, 0x63, 0xf4, 0xbe, 0xae, 0x7e, 0x10, 0x57, 0x55, 0xcd, 0x5a, 0xde, 0xb3, 0x1f,
+  0x2d, 0x97, 0x03, 0xc1, 0x85, 0xdb, 0xf7, 0xdf, 0xc4, 0x78, 0x6e, 0x26, 0xa8, 0x47, 0xd5, 0xd5,
+  0x09, 0x16, 0x5d, 0x6d, 0x7e, 0xc1, 0x4f, 0x98, 0x53, 0xe2, 0x76, 0x09, 0xe0, 0x38, 0xcf, 0xa0,
+  0x93, 0xd3, 0x20, 0x50, 0xeb, 0x4f, 0xff, 0xa4, 0x03, 0xbf, 0x6f, 0xe0, 0x91, 0x51, 0x00, 0x52,
+  0x1a, 0xe7, 0x40, 0x03, 0xa7, 0xd2, 0xa6, 0x89, 0xb1, 0x78, 0xc4, 0xfd, 0xc5, 0xbf, 0x69, 0x9b,
+  0x42, 0xbd, 0x75, 0x28, 0x5e, 0xa9, 0x73, 0xb8, 0xdf, 0x81, 0x12, 0xfe, 0x89, 0x61, 0x97, 0x1d,
+  0x4b, 0x9a, 0x9a, 0xc1, 0x76, 0x34, 0x6a, 0x51, 0x6b, 0xf9, 0x0e, 0x75, 0xfd, 0x12, 0xdd, 0xe4,
+  0x82, 0x1b, 0x6b, 0xbb, 0x89, 0xf4, 0x03, 0xa8, 0xc9, 0xea, 0x97, 0x78, 0xfc, 0xa2, 0xa9, 0xb5,
+  0xad, 0x21, 0xc3, 0x15, 0xe0, 0x26, 0x37, 0x17, 0x81, 0x11, 0x14, 0x39, 0x25, 0x5f, 0xb4, 0x1f,
+  0x97, 0x35, 0xef, 0x40, 0xf9, 0x41, 0xaa, 0xf1, 0x36, 0xfd, 0xcf, 0x19, 0xf2, 0xb7, 0xf2, 0xbb,
+  0x9f, 0xb8, 0x43, 0xbc, 0x93, 0x61, 0x29, 0xb4, 0xee, 0x62, 0x41, 0xd9, 0x79, 0x87, 0x00, 0xea,
+  0x69, 0x6d, 0x7c, 0xeb, 0xb3, 0x55, 0x0c, 0x23, 0xa5, 0xb0, 0x73, 0x57, 0x1e, 0x16, 0x74, 0x23,
+  0x6d, 0xb7, 0x74, 0x92, 0x14, 0xa0, 0x4b, 0x75, 0x99, 0x97, 0xbb, 0x0f, 0xe3, 0xae, 0xe2, 0xfd,
+  0xa5, 0x23, 0x98, 0x4d, 0x61, 0xde, 0x5e, 0xd0, 0x27, 0x6f, 0xc3, 0x89, 0xe9, 0xea, 0x01, 0x09,
+  0x2b, 0x74, 0x64, 0x7b, 0x89, 0xc5, 0xe6, 0xa4, 0x26, 0x13, 0xf2, 0x3c, 0xa1, 0x9f, 0x40, 0xe3,
+  0xcf, 0x00, 0xe0, 0x92, 0x38, 0xee, 0xe5, 0x62, 0xb1, 0x3b, 0xc3, 0x5b, 0xbe, 0xf3, 0xee, 0x20,
+  0x41, 0xaf, 0x56, 0x66, 0xfa, 0x0c, 0x68, 0xc8, 0x3d, 0x52, 0x13, 0xcb, 0xab, 0x86, 0xbf, 0x54,
+  0x8b, 0x3f, 0xf3, 0x1f, 0xc2, 0xc2, 0xf9, 0xe4, 0xdf, 0x32, 0x2a, 0xb4, 0x1b, 0x83, 0x5f, 0xe6,
+  0x31, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19, 0x6c,
+  0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x0a, 0x73, 0x53, 0x49, 0xf1, 0x15, 0x45, 0x66, 0x31, 0x19,
+  0x6c, 0x63, 0xd5, 0xf4, 0xe9, 0x38, 0xe4, 0x9e, 0x6f, 0xf3, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x34,
+  0xa1, 0xf6, 0xaa, 0xb3, 0x23, 0xe4, 0x50, 0x14, 0x36, 0xb2, 0x15, 0x1e, 0xbc, 0x52, 0x6d, 0x8b,
+  0x64, 0x95, 0x37, 0x2c, 0x73, 0x1a, 0x7e, 0x78, 0x5c, 0x83, 0x15, 0x09, 0xc0, 0xaf, 0x46, 0x6c,
+  0x11, 0xf5, 0x99, 0x9e, 0x69, 0x10, 0x11, 0x70, 0x81, 0x35, 0xa0, 0xef, 0x55, 0x3e, 0xa3, 0x17,
+  0x12, 0xdc, 0x55, 0x88, 0x5d, 0xb8, 0xe9, 0x89, 0xdf, 0x78, 0xaa, 0x5e, 0x14, 0x5d, 0x44, 0x46,
+  0x1e, 0x6b, 0xbc, 0xfa, 0x42, 0x07, 0x74, 0x26, 0xb5, 0x41, 0xad, 0xf8, 0x5f, 0xbb, 0x62, 0xfd,
+  0x86, 0xd5, 0xe0, 0x3d, 0x6f, 0xb2, 0x7f, 0x81, 0x65, 0x41, 0x65, 0xd6, 0x57, 0xc9, 0x61, 0x6c,
+  0x78, 0x90, 0xa9, 0x75, 0x6e, 0xbf, 0xc6, 0xed, 0xdc, 0x72, 0x37, 0x93, 0xd2, 0xb9, 0x64, 0xe1,
+  0xa0, 0x41, 0x66, 0x86, 0x8a, 0x9a, 0xae, 0x14, 0x3e, 0x5e, 0x19, 0x4a, 0xaa, 0xd2, 0xff, 0xa6,
+  0xd3, 0xac, 0x73, 0xbf, 0x6b, 0x5a, 0x38, 0x1b, 0xd9, 0x32, 0x02, 0xab, 0x70, 0xe2, 0xa5, 0x73,
+  0x9f, 0x8b, 0xab, 0xed, 0xe4, 0x0b, 0xb4, 0xfd, 0x8e, 0x45, 0xc4, 0x2d, 0xa7, 0xb0, 0x5e, 0x0a,
+  0xc7, 0x97, 0x6b, 0x91, 0x78, 0x3b, 0x90, 0x16, 0x10, 0xb3, 0xf9, 0x06, 0xfa, 0x1e, 0xc1, 0xfc,
+  0xc3, 0x15, 0x04, 0x90, 0xe9, 0x46, 0x94, 0xe6, 0xe9, 0x70, 0x12, 0x35, 0x36, 0xdc, 0xad, 0x7f,
+  0x59, 0x34, 0x91, 0xf7, 0x23, 0xe9, 0x4c, 0x39, 0x6e, 0xe9, 0x63, 0x72, 0x55, 0x1b, 0xbc, 0x91,
+  0xec, 0x1a, 0x66, 0x48, 0xa6, 0x84, 0xa2, 0x7f, 0xe7, 0x35, 0x49, 0xea, 0xe0, 0x85, 0x55, 0x9c,
+  0xee, 0xfa, 0x64, 0xfe, 0xb0, 0x34, 0x99, 0x3b, 0x84, 0xe1, 0x13, 0x19, 0xeb, 0x89, 0x40, 0xb3,
+  0x56, 0x0d, 0xdc, 0xe9, 0x63, 0xdc, 0x0b, 0x70, 0xc9, 0x9c, 0x46, 0xb5, 0x18, 0x0f, 0x85, 0xda,
+  0x31, 0x11, 0x8a, 0x54, 0x6a, 0x2e, 0x2e, 0x62, 0x93, 0x1c, 0xef, 0xdc, 0x12, 0x77, 0xe9, 0x93,
+  0xcc, 0x40, 0xb3, 0x43, 0x0d, 0x7c, 0x27, 0x12, 0x81, 0x57, 0x81, 0x4c, 0x07, 0xda, 0x2b, 0x99,
+  0xb6, 0xb1, 0xef, 0x93, 0x0e, 0xff, 0x26, 0x83, 0xd3, 0xb7, 0x43, 0xa4, 0x59, 0x64, 0x23, 0xe1,
+  0xde, 0x9a, 0xf1, 0xf9, 0xf6, 0xba, 0x10, 0x3c, 0x25, 0x22, 0x7e, 0x0a, 0x2f, 0x49, 0x29, 0xa9,
+  0xd3, 0x17, 0x03, 0x7d, 0x63, 0x39, 0x11, 0x51, 0x68, 0x8d, 0x92, 0xf8, 0x8c, 0xf4, 0xfc, 0x0d,
+  0xe1, 0x9e, 0xbc, 0x67, 0x08, 0x3f, 0xf8, 0xb4, 0x0d, 0x4d, 0xc5, 0x02, 0xdd, 0x4c, 0xa8, 0x86,
+  0x70, 0x3a, 0x73, 0x60, 0xe1, 0x40, 0xc4, 0x7f, 0xe6, 0xb8, 0xf5, 0xac, 0xd8, 0xcc, 0xed, 0x14,
+  0x0f, 0x5e, 0x02, 0xbb, 0x7e, 0x50, 0x7d, 0xd3, 0x45, 0xf5, 0x26, 0x59, 0x83, 0x3d, 0xb5, 0x23,
+  0xe5, 0xab, 0xb4, 0xd0, 0xfe, 0x52, 0xeb, 0xfd, 0x96, 0x3d, 0x8b, 0x7d, 0x80, 0x58, 0xcb, 0x98,
+  0xe9, 0x13, 0x7c, 0x8d, 0x33, 0x26, 0x3d, 0x34, 0x29, 0x9f, 0x2c, 0x36, 0xca, 0xe2, 0x2c, 0x4d,
+  0x7a, 0x1f, 0x2e, 0x4d, 0x63, 0x57, 0xda, 0xdd, 0x99, 0x1f, 0x94, 0x7c, 0xe3, 0x41, 0x2f, 0x84,
+  0x57, 0xfe, 0x10, 0x39, 0x4b, 0x73, 0xe6, 0xe2, 0xb1, 0xc9, 0xe0, 0xbc, 0x60, 0x2c, 0xe1, 0xe3,
+  0x93, 0xc3, 0x2f, 0xb9, 0x65, 0x40, 0x6c, 0xcb, 0x7a, 0xef, 0xe5, 0x45, 0xf4, 0x68, 0x7a, 0x94,
+  0xff, 0xe2, 0x15, 0xee, 0x77, 0x4c, 0xa3, 0x53, 0x84, 0x41, 0xb0, 0xe7, 0x29, 0x1e, 0x88, 0x6e,
+  0xc7, 0x69, 0x79, 0x01, 0x62, 0xd1, 0x5e, 0xa7, 0xb2, 0x40, 0xab, 0x71, 0x2c, 0x3d, 0x9b, 0xe1,
+  0xb4, 0xa1, 0xc9, 0xda, 0x05, 0xd1, 0xfb, 0x19, 0x3c, 0x22, 0x26, 0x20, 0x4e, 0xdf, 0x45
+};
+
+UINT32 gPkNewRsa4096Sha256Size = sizeof(gPkNewRsa4096Sha256);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
new file mode 100644
index 0000000000..be0bfc5032
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkNewRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkNewRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0x1c, 0x11, 0x07, 0x0c, 0xb8, 0xdb, 0x8f, 0x18, 0x8f, 0xac, 0x12, 0xc9,
+  0x31, 0xea, 0x4f, 0x7e, 0x57, 0xe6, 0xd5, 0x8f, 0x5c, 0xf8, 0x7f, 0x2f, 0xff, 0x14, 0x49, 0x4c,
+  0x0b, 0xef, 0xa1, 0x56, 0x92, 0x99, 0x4f, 0x5e, 0xc2, 0xb2, 0x79, 0x58, 0x84, 0xb3, 0x55, 0xff,
+  0x5d, 0x6e, 0x87, 0x44, 0x20, 0xad, 0x7a, 0xc9, 0xe5, 0xb1, 0x4b, 0x2b, 0xff, 0x95, 0x53, 0xbc,
+  0xff, 0x0d, 0xb1, 0xbb, 0x87, 0x06, 0xf1, 0x1d, 0xea, 0xc9, 0x88, 0x1b, 0x85, 0xe8, 0xe9, 0x87,
+  0xff, 0x12, 0xf9, 0xea, 0x69, 0x15, 0x4a, 0x1d, 0x58, 0x93, 0xed, 0x03, 0xfe, 0x9c, 0x27, 0x8e,
+  0x1d, 0xfd, 0x18, 0x20, 0x1c, 0x5d, 0x82, 0xd7, 0x4d, 0x97, 0x1a, 0xa6, 0x0a, 0x6b, 0x17, 0x8b,
+  0xab, 0xaa, 0x78, 0x82, 0xdd, 0x4a, 0xec, 0x95, 0xaa, 0x0f, 0x12, 0x40, 0x4d, 0xad, 0xf1, 0x11,
+  0xbf, 0x59, 0x09, 0x4a, 0x42, 0x55, 0xa6, 0x65, 0xb8, 0x75, 0x83, 0xdb, 0x19, 0x50, 0x82, 0x66,
+  0xf6, 0xaf, 0x72, 0xb2, 0x39, 0x72, 0xad, 0x92, 0x45, 0xdf, 0x93, 0x88, 0xe0, 0x0b, 0xe6, 0x62,
+  0x4d, 0x21, 0x05, 0x92, 0xf1, 0x12, 0x5f, 0x1a, 0xbe, 0x14, 0xd4, 0x78, 0x66, 0x48, 0xa8, 0xa5,
+  0xb5, 0xf5, 0x84, 0x42, 0xad, 0x82, 0xc7, 0x75, 0xce, 0x4b, 0xed, 0x1b, 0xc4, 0x3b, 0x80, 0xa8,
+  0x75, 0x42, 0xef, 0xb7, 0x8b, 0x37, 0xa7, 0x82, 0xd2, 0x21, 0xae, 0x8f, 0x95, 0xf4, 0xbc, 0xbf,
+  0x1d, 0xfc, 0x34, 0x44, 0x17, 0x35, 0x1b, 0xc3, 0x4b, 0x1d, 0x2b, 0x85, 0xc3, 0x86, 0x8d, 0xb4,
+  0x63, 0x56, 0x2d, 0x3a, 0xfc, 0x22, 0x30, 0xb3, 0xc1, 0x8b, 0x3b, 0xc6, 0x5c, 0x8a, 0x3d, 0x91,
+  0x99, 0x21, 0x97, 0x10, 0xba, 0xd0, 0x8d, 0x7b, 0x28, 0x35, 0xcd, 0x4a, 0xa0, 0x1b, 0xcd, 0x3c,
+  0x6f, 0xb3, 0xe7, 0x3e, 0x51, 0xa0, 0xf8, 0xb1, 0xd9, 0xe5, 0xe3, 0xfb, 0x44, 0xaa, 0xdb, 0x88,
+  0xf5, 0x65, 0xea, 0xd8, 0x80, 0xf7, 0x40, 0x4e, 0xb4, 0xa8, 0x47, 0x7f, 0x50, 0xa1, 0xe1, 0x88,
+  0x5d, 0x13, 0xc9, 0x2c, 0x09, 0x63, 0x51, 0x70, 0x1e, 0xa8, 0x9e, 0x8f, 0xee, 0x40, 0x1a, 0x68,
+  0x13, 0x05, 0x6a, 0xb1, 0xa9, 0x5d, 0x91, 0x06, 0x03, 0xf2, 0x94, 0x0c, 0x21, 0xe8, 0x0c, 0xc0,
+  0x73, 0x1c, 0x76, 0x15, 0x80, 0xe5, 0x63, 0xce, 0xc0, 0x20, 0x58, 0x75, 0xde, 0xaf, 0x34, 0x73,
+  0xff, 0x59, 0x20, 0x7b, 0x2e, 0xc2, 0xc8, 0x5d, 0xcf, 0x1e, 0x84, 0x11, 0x56, 0x79, 0x8e, 0x76,
+  0xe8, 0x11, 0xff, 0xeb, 0x0e, 0x68, 0x36, 0x6c, 0x2a, 0x93, 0xde, 0x7c, 0xe0, 0x3b, 0x9b, 0x73,
+  0x87, 0x82, 0x2e, 0x56, 0xfb, 0x8f, 0x58, 0x4c, 0x6c, 0x0c, 0x1f, 0xf3, 0x47, 0xe7, 0x05, 0xaa,
+  0x85, 0x61, 0x02, 0x7e, 0x88, 0x78, 0xc0, 0xfb, 0x4f, 0xe9, 0xb7, 0x00, 0xdb, 0x5b, 0x6b, 0x0f,
+  0x2e, 0xa2, 0xc1, 0x19, 0xea, 0x0a, 0x49, 0x63, 0x07, 0x7a, 0x9a, 0x09, 0x2c, 0x82, 0x28, 0x85,
+  0xe6, 0x8f, 0x76, 0x1c, 0xc2, 0xba, 0xb7, 0x1c, 0x4e, 0x2c, 0xcd, 0xd3, 0xe4, 0x27, 0xf8, 0x81,
+  0x5b, 0xbf, 0x51, 0x17, 0x03, 0x14, 0xa0, 0x70, 0xe5, 0x3d, 0x12, 0x66, 0x4f, 0xa3, 0xb1, 0x88,
+  0x77, 0xfd, 0x34, 0x9f, 0xc7, 0x94, 0xc4, 0x85, 0xc9, 0x43, 0x34, 0x22, 0x0a, 0x40, 0x80, 0xbd,
+  0xd9, 0xdf, 0xa3, 0xf3, 0xc6, 0x39, 0x15, 0xbe, 0x92, 0x54, 0xd3, 0x7a, 0x46, 0xd0, 0x11, 0xac,
+  0x13, 0x70, 0x05, 0xc8, 0xca, 0xcb, 0xad, 0x31, 0xcc, 0xb5, 0x6c, 0xb8, 0x66, 0xab, 0x8a, 0x87,
+  0xd5, 0x04, 0x26, 0x8e, 0x51, 0x88, 0x42, 0x7d, 0xc9, 0x71, 0x42, 0xcd, 0x11, 0x5e, 0x6d, 0xf1,
+  0xb2, 0xfd, 0x3d, 0x52, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0xf1, 0x26, 0x06, 0x11, 0xd9, 0x7a, 0xc4, 0xf3, 0x97, 0x36, 0xde, 0x6d, 0x9a, 0xa4, 0xde, 0xeb,
+  0x03, 0x3e, 0x70, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0x97, 0x6d, 0x00, 0x5e, 0xb1, 0x15, 0x9b, 0x3a, 0xaf, 0x49, 0xc9, 0x5a, 0xdf, 0xce, 0x14,
+  0x58, 0xa3, 0x8c, 0xbf, 0x01, 0x16, 0x87, 0xbd, 0xe8, 0x2e, 0x34, 0x96, 0x74, 0xc5, 0xd1, 0x35,
+  0x30, 0x9e, 0xbc, 0x25, 0x2e, 0x28, 0xf5, 0xaf, 0xaa, 0xbc, 0x3a, 0x20, 0x14, 0xc3, 0xc4, 0x1a,
+  0x5e, 0x46, 0x8c, 0x1e, 0xd3, 0x3c, 0x54, 0x60, 0xa5, 0x9e, 0x67, 0xf5, 0xca, 0x27, 0xc4, 0x21,
+  0x33, 0xa9, 0xaa, 0x4e, 0xdc, 0xa9, 0x12, 0xb4, 0xf5, 0x37, 0xba, 0xcf, 0xee, 0x2e, 0x04, 0x95,
+  0x8c, 0x36, 0x0b, 0x8c, 0x4a, 0xda, 0xb9, 0x17, 0xf3, 0x14, 0xd2, 0x5f, 0x2d, 0xd5, 0x9e, 0x54,
+  0x77, 0xa4, 0x62, 0x6e, 0x3b, 0x64, 0x71, 0x98, 0xe7, 0x2f, 0x37, 0xdf, 0xbb, 0x15, 0xb6, 0xf9,
+  0xb7, 0xaf, 0x4a, 0xf4, 0xcf, 0xb0, 0x8c, 0x14, 0x0c, 0x20, 0xc8, 0x70, 0x68, 0x8d, 0x6a, 0x10,
+  0x8b, 0x2e, 0x70, 0xc3, 0xc1, 0x1e, 0x9c, 0xd4, 0xa7, 0x80, 0x21, 0xda, 0xac, 0x41, 0x75, 0x23,
+  0xb2, 0x5e, 0xa2, 0x5e, 0xfd, 0x2c, 0x94, 0x10, 0x0a, 0xfb, 0xe7, 0x6e, 0x77, 0x99, 0x60, 0x6f,
+  0xc8, 0x51, 0x38, 0xf5, 0xdb, 0xe1, 0x38, 0x43, 0x50, 0x6b, 0x18, 0xde, 0x37, 0xc2, 0xe1, 0x88,
+  0x62, 0x3e, 0xac, 0xc4, 0x40, 0xc6, 0x57, 0x1d, 0xe0, 0x56, 0xad, 0x30, 0x58, 0x7d, 0xbb, 0x4b,
+  0x1d, 0x73, 0x18, 0x80, 0xaf, 0x77, 0x98, 0x17, 0x87, 0x67, 0x47, 0x41, 0xb6, 0x55, 0x10, 0x9b,
+  0x80, 0x33, 0x14, 0x46, 0x5d, 0xa0, 0xb2, 0xca, 0x9b, 0xc8, 0xac, 0x19, 0x2b, 0x2e, 0xe8, 0x8a,
+  0x08, 0x9e, 0xae, 0x47, 0xeb, 0x20, 0x7c, 0xaa, 0x56, 0xb8, 0x44, 0x5e, 0xdc, 0x74, 0x56, 0x6b,
+  0x42, 0x14, 0xf9, 0xb0, 0x09, 0xf2, 0x89, 0xad, 0xc4, 0xda, 0x07, 0x5a, 0xe5, 0xf0, 0xe3, 0x0e,
+  0x27, 0x31, 0x79, 0x5f, 0x63, 0x4c, 0xad, 0x7d, 0x7a, 0xd2, 0xf8, 0x79, 0x6f, 0x05, 0x22, 0x20,
+  0x19, 0x98, 0x22, 0x63, 0xef, 0x33, 0x90, 0x32, 0xbb, 0x87, 0x0d, 0x77, 0x90, 0x4c, 0xb8, 0x5d,
+  0x34, 0x2b, 0xda, 0x3b, 0xb9, 0x5e, 0xc6, 0xab, 0x35, 0x38, 0x69, 0xd3, 0xf9, 0xd9, 0xac, 0x29,
+  0x39, 0x59, 0xea, 0x30, 0xa4, 0xed, 0x26, 0x91, 0xd3, 0xe3, 0x74, 0x73, 0x4f, 0x0d, 0x1e, 0xbd,
+  0xe2, 0x66, 0x67, 0xa3, 0x90, 0x3d, 0x34, 0x4e, 0x07, 0x39, 0x19, 0x78, 0x30, 0x24, 0xff, 0x41,
+  0x1d, 0x3e, 0x75, 0x03, 0xdd, 0x5b, 0xf8, 0xea, 0xe4, 0x8c, 0x2e, 0xdd, 0x47, 0x5f, 0x42, 0x15,
+  0xe4, 0x0e, 0x21, 0x6b, 0xe1, 0x4c, 0xf5, 0x78, 0x17, 0x92, 0xb2, 0xba, 0xc2, 0x12, 0x3d, 0x1f,
+  0x81, 0xdd, 0x62, 0x14, 0xc9, 0xd0, 0xc8, 0x8f, 0x74, 0xe2, 0x46, 0x8d, 0x6f, 0xa2, 0x77, 0x6a,
+  0x96, 0xd2, 0x42, 0xc3, 0x6c, 0x95, 0x9a, 0x13, 0xda, 0x4f, 0x2f, 0x32, 0x2d, 0x90, 0x28, 0x1d,
+  0xbc, 0xda, 0x54, 0x87, 0xe7, 0xa9, 0x93, 0xdd, 0x8c, 0x9b, 0xe1, 0x54, 0xba, 0x27, 0x0a, 0x55,
+  0x05, 0x64, 0x06, 0xc2, 0x37, 0x5b, 0x07, 0x03, 0x9b, 0xc6, 0xd7, 0x60, 0x02, 0xea, 0xc5, 0x0e,
+  0xb1, 0x75, 0x34, 0xb2, 0x18, 0xb8, 0x65, 0x40, 0x1d, 0x60, 0x02, 0xd1, 0x33, 0xfc, 0x76, 0x46,
+  0x87, 0x6e, 0x33, 0xde, 0x21, 0x06, 0x21, 0x2b, 0xf3, 0x4a, 0x7a, 0xd1, 0xaf, 0xa0, 0x65, 0x83,
+  0x94, 0x60, 0x4f, 0xee, 0x2c, 0x26, 0xa1, 0x03, 0xdb, 0x5d, 0x34, 0x30, 0x36, 0x43, 0x28, 0x24,
+  0xa4, 0xb8, 0x97, 0x93, 0xe3, 0xb3, 0x21, 0x31, 0x3a, 0x84, 0x38, 0xe6, 0xe7, 0x6f, 0xbd, 0xd4,
+  0x47, 0xba, 0xfe, 0x36, 0xe4, 0xe2, 0x9b, 0xd4, 0x15, 0x93, 0xb5, 0x6b, 0xdc, 0x6f, 0xb9, 0x89,
+  0x3f, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f, 0x34,
+  0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x07, 0xd6, 0x44, 0xb2, 0xfc, 0x0e, 0x4c, 0xc3, 0xb1, 0x4f,
+  0x34, 0x02, 0xc7, 0x76, 0x2c, 0x0d, 0xd5, 0xc1, 0x74, 0xe7, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x18,
+  0x60, 0x10, 0xaa, 0x2b, 0x44, 0x90, 0xd1, 0xdc, 0x45, 0x1d, 0xfc, 0xca, 0x3a, 0x5b, 0x8e, 0xb0,
+  0x29, 0x85, 0x46, 0x8c, 0x0e, 0xbe, 0x65, 0x81, 0xf5, 0x4c, 0xcc, 0xd8, 0x31, 0xc0, 0x90, 0x78,
+  0xa6, 0x26, 0xa7, 0xd2, 0x34, 0x7e, 0xbf, 0x57, 0x5f, 0xa1, 0x27, 0x0e, 0xf9, 0x39, 0xf8, 0x1c,
+  0x06, 0xff, 0xfd, 0x66, 0x4d, 0x50, 0x52, 0x25, 0x83, 0x72, 0xe8, 0x87, 0xd5, 0x93, 0x23, 0x33,
+  0x5e, 0xc5, 0x12, 0x68, 0xb4, 0x85, 0xbb, 0xc2, 0xca, 0x96, 0xb7, 0x83, 0xf2, 0xc7, 0xfb, 0x35,
+  0xf7, 0x76, 0x85, 0x0c, 0xce, 0xc5, 0xc6, 0x76, 0xc0, 0x10, 0x1b, 0x9a, 0x6f, 0x03, 0x6d, 0x41,
+  0x01, 0xa8, 0x23, 0xab, 0x54, 0x10, 0x38, 0x3d, 0x33, 0x5b, 0x45, 0xb6, 0xbd, 0x91, 0x98, 0x9d,
+  0x59, 0x17, 0xea, 0x85, 0x68, 0x16, 0x1a, 0xa0, 0xec, 0x68, 0x43, 0x46, 0x40, 0xdb, 0xc9, 0x71,
+  0x20, 0xc8, 0x43, 0xa2, 0xc1, 0x7f, 0x54, 0x01, 0xa6, 0x50, 0x49, 0xc0, 0x03, 0x22, 0xd2, 0x2f,
+  0x10, 0xf7, 0xbf, 0x71, 0x9a, 0xe8, 0x50, 0xa7, 0xb2, 0x3e, 0x64, 0x1c, 0xfd, 0xa5, 0x7e, 0x7e,
+  0x75, 0x43, 0xab, 0xf1, 0x49, 0x06, 0x56, 0x72, 0xa4, 0x17, 0xe4, 0x13, 0xae, 0x93, 0x8f, 0xf9,
+  0xbf, 0x08, 0xa4, 0x9a, 0xb5, 0xf5, 0xb7, 0x8b, 0x72, 0x1c, 0xb3, 0xe9, 0x07, 0x13, 0xcc, 0x8b,
+  0xf5, 0x43, 0xeb, 0x86, 0x28, 0xc1, 0x74, 0x03, 0xd6, 0x51, 0x7d, 0x0f, 0x8f, 0xba, 0xc8, 0x25,
+  0x48, 0x5e, 0xe3, 0xc0, 0xd0, 0xde, 0x42, 0xea, 0x11, 0x8f, 0x2e, 0x75, 0xf0, 0xb0, 0x47, 0xf0,
+  0x75, 0x41, 0x02, 0x80, 0x3b, 0xb4, 0xe5, 0xaf, 0xc9, 0x38, 0x37, 0x69, 0xaa, 0x70, 0x40, 0x78,
+  0xbf, 0x1b, 0x1b, 0x02, 0x2b, 0x7b, 0x33, 0x2d, 0x0d, 0x53, 0x97, 0x7c, 0x09, 0x1b, 0x14, 0x28,
+  0xed, 0x94, 0x7f, 0xe6, 0x25, 0xf8, 0x89, 0x86, 0x9e, 0x34, 0xce, 0x57, 0x19, 0x54, 0x2a, 0x00,
+  0xdc, 0x5b, 0x98, 0xff, 0xb2, 0xbe, 0x99, 0x85, 0xa4, 0x80, 0xd1, 0xec, 0xba, 0xe3, 0x69, 0xcc,
+  0x11, 0xc2, 0x7a, 0xd8, 0x44, 0xc5, 0xf1, 0xba, 0xb2, 0x7e, 0x2d, 0x82, 0x5f, 0x8a, 0xe6, 0x77,
+  0x6f, 0x59, 0xa2, 0xec, 0x39, 0xb6, 0xf5, 0x44, 0x5f, 0x33, 0x4d, 0xca, 0x33, 0x73, 0xf7, 0xd7,
+  0x9c, 0x64, 0xc8, 0xd3, 0x8b, 0xfa, 0xfe, 0x6f, 0xd7, 0x9a, 0x59, 0x7e, 0x1d, 0x11, 0xe2, 0x15,
+  0x73, 0xc5, 0x62, 0x17, 0x0c, 0x73, 0xf3, 0x44, 0xb0, 0x67, 0xa9, 0xcc, 0x1c, 0xbe, 0x8d, 0xc9,
+  0x75, 0xb6, 0xa5, 0x50, 0x73, 0xa7, 0x3d, 0xaf, 0xc3, 0xe6, 0x1c, 0xe8, 0x96, 0xe2, 0xae, 0xf6,
+  0x3a, 0x36, 0xb7, 0x65, 0x33, 0x89, 0x39, 0xf6, 0xe9, 0x54, 0x99, 0x9a, 0xec, 0x32, 0x1b, 0xa6,
+  0xe7, 0x42, 0xc3, 0xce, 0x14, 0xea, 0x28, 0x95, 0xd1, 0xc1, 0x35, 0x2c, 0x34, 0xfb, 0xf7, 0xf8,
+  0xce, 0x85, 0x59, 0x1a, 0xcf, 0xcc, 0x6d, 0x15, 0x58, 0xe5, 0xb2, 0x04, 0x3b, 0xe5, 0xa5, 0xd4,
+  0x7f, 0xce, 0x16, 0x04, 0x12, 0xe3, 0xb9, 0xa7, 0xfa, 0x52, 0x4e, 0x96, 0xd3, 0x6f, 0x86, 0xf2,
+  0x8c, 0xce, 0xfa, 0xda, 0x74, 0x94, 0x7d, 0xd9, 0x78, 0x3a, 0xaf, 0x70, 0x81, 0xd3, 0xa9, 0x66,
+  0x85, 0x95, 0xd8, 0x70, 0x4b, 0x02, 0xbc, 0x07, 0xa1, 0x5b, 0xf7, 0x52, 0x93, 0x1a, 0xf8, 0xc4,
+  0x26, 0xf1, 0x93, 0x32, 0x5e, 0x89, 0xe0, 0xe0, 0x75, 0x97, 0x23, 0x0d, 0xde, 0x79, 0xd6, 0x9e,
+  0x29, 0x47, 0x89, 0xed, 0x89, 0xdc, 0xc2, 0x75, 0xda, 0x27, 0xe9, 0x8b, 0x58, 0xd1, 0xf7, 0xd3,
+  0x0a, 0x2b, 0xbb, 0xeb, 0x7b, 0x0f, 0x00, 0xd1, 0x68, 0x7b, 0xc8, 0x1d, 0x48, 0xe7, 0xaa
+};
+
+UINT32 gPkNewRsa4096Sha512Size = sizeof(gPkNewRsa4096Sha512);
\ No newline at end of file
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
new file mode 100644
index 0000000000..63274028d7
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa2048Sha256.c
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa2048Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x04, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x04, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x02,
+  0xff, 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x41, 0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12,
+  0xd1, 0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01,
+  0x01, 0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e,
+  0x1b, 0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44,
+  0x84, 0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7,
+  0x7d, 0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76,
+  0x1d, 0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b,
+  0x7e, 0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54,
+  0xba, 0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60,
+  0xec, 0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46,
+  0x9a, 0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49,
+  0x22, 0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1,
+  0x97, 0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97,
+  0x4e, 0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2,
+  0xc3, 0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b,
+  0x07, 0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19,
+  0x7c, 0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57,
+  0x66, 0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74,
+  0xd2, 0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a,
+  0x9f, 0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00,
+  0x92, 0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78,
+  0x15, 0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb,
+  0xc6, 0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b,
+  0x00, 0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0,
+  0xa4, 0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc,
+  0x10, 0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79,
+  0xb2, 0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e,
+  0x3f, 0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8,
+  0xb5, 0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9,
+  0x97, 0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0,
+  0xfb, 0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46,
+  0xda, 0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d,
+  0x05, 0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6,
+  0x56, 0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23,
+  0xd4, 0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0,
+  0x17, 0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a,
+  0x31, 0x82, 0x01, 0x50, 0x30, 0x82, 0x01, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x41, 0xcf,
+  0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1, 0x78,
+  0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x00, 0x21, 0x20, 0x17, 0x73, 0x39, 0x2b, 0xc1, 0x1b, 0xf2, 0xa2, 0x5a, 0xa5,
+  0x77, 0xd6, 0x93, 0xd1, 0x46, 0x43, 0x80, 0xad, 0xf1, 0x2c, 0xba, 0x27, 0xaf, 0xfa, 0x0e, 0x2b,
+  0xfc, 0xf3, 0x45, 0xbe, 0x39, 0xd6, 0x1e, 0xb7, 0xe2, 0xb9, 0x9a, 0x81, 0xe9, 0x2d, 0xaa, 0xd3,
+  0x9a, 0x37, 0xea, 0x43, 0xb5, 0xe7, 0xed, 0x60, 0xd8, 0x15, 0xff, 0x64, 0x27, 0x0e, 0x6a, 0x05,
+  0xaf, 0xd1, 0x6e, 0xbf, 0x4e, 0x8d, 0x19, 0x15, 0x72, 0x8b, 0xb5, 0x8c, 0x3b, 0x7b, 0xaf, 0xd3,
+  0x79, 0xd6, 0x73, 0xe2, 0x61, 0x48, 0xca, 0xc1, 0xa3, 0x8e, 0x48, 0x7b, 0x39, 0xa4, 0x29, 0x24,
+  0xf3, 0x08, 0x28, 0x13, 0x58, 0x9c, 0xdc, 0x93, 0x8d, 0x17, 0xfe, 0xa3, 0x70, 0x80, 0xad, 0x62,
+  0xbe, 0xae, 0x55, 0xff, 0x14, 0x98, 0x08, 0x84, 0xe5, 0xa2, 0xed, 0xac, 0xc2, 0x9d, 0xc3, 0x1d,
+  0x25, 0xc6, 0x3e, 0xa6, 0x2f, 0xb7, 0xec, 0x65, 0xb4, 0xbc, 0x49, 0xf3, 0x32, 0xf6, 0xd4, 0x5f,
+  0x72, 0x95, 0x58, 0x28, 0x81, 0x5e, 0x69, 0x35, 0x04, 0x0c, 0x75, 0x96, 0xf9, 0xaa, 0xa2, 0x64,
+  0xdd, 0xe0, 0x52, 0x3d, 0x33, 0x4c, 0x27, 0xb0, 0x4a, 0xc3, 0xf1, 0xc5, 0x81, 0x31, 0x65, 0xab,
+  0xf9, 0x2f, 0x42, 0x0e, 0x0b, 0xc8, 0x54, 0xc9, 0x47, 0x01, 0xb5, 0xe5, 0xc0, 0x55, 0x22, 0xb3,
+  0xcc, 0x26, 0xca, 0x08, 0xcc, 0x62, 0x09, 0x54, 0x3a, 0xa0, 0xfc, 0x5a, 0x3a, 0x6a, 0x28, 0xb6,
+  0x86, 0xac, 0xa6, 0x4b, 0xce, 0x41, 0xd3, 0xe5, 0xa4, 0xd6, 0xc5, 0x22, 0x64, 0x4c, 0x8b, 0x8d,
+  0xa2, 0xec, 0xe9, 0x11, 0x6c, 0x39, 0x96, 0xc7, 0xfd, 0x30, 0xab, 0xe7, 0x28, 0xb4, 0xab, 0xc6,
+  0x8a, 0x64, 0xad, 0xe2, 0x84, 0xf0, 0x46, 0xa4, 0x01, 0xf2, 0x7a, 0x0d, 0x62, 0xe6, 0x80, 0x8a,
+  0xf7, 0xfb, 0xac, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x03, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x41,
+  0xcf, 0xa4, 0x01, 0xb8, 0x94, 0x1e, 0x75, 0xb8, 0xc8, 0xe0, 0x5a, 0x29, 0xd4, 0xbb, 0x12, 0xd1,
+  0x78, 0xfa, 0x6c, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x30, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x30,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01,
+  0x00, 0xb9, 0x6f, 0x6d, 0x8f, 0xe4, 0xc3, 0x53, 0xa3, 0x7e, 0xe4, 0x02, 0x02, 0x6d, 0x3e, 0x1b,
+  0xae, 0x2a, 0xd1, 0x78, 0xbb, 0xc3, 0x6d, 0xff, 0x66, 0xc9, 0x38, 0x03, 0xda, 0x1f, 0x44, 0x84,
+  0x0b, 0xa2, 0xf3, 0x3b, 0x57, 0xb9, 0xc2, 0xfb, 0x5e, 0xbe, 0x57, 0x70, 0x44, 0xe7, 0xc7, 0x7d,
+  0xcb, 0x82, 0x54, 0x29, 0x01, 0x3b, 0x00, 0x0c, 0x31, 0x8e, 0x81, 0x1c, 0x25, 0x76, 0x76, 0x1d,
+  0xcc, 0x33, 0xbf, 0xfa, 0x50, 0xd5, 0xd5, 0xb1, 0x25, 0x66, 0x9d, 0x1d, 0x83, 0x01, 0x3b, 0x7e,
+  0x4f, 0xf2, 0xf9, 0x47, 0x59, 0x07, 0x5e, 0x46, 0x1d, 0x17, 0x6a, 0xd9, 0x56, 0x94, 0x54, 0xba,
+  0xb7, 0xe8, 0x55, 0x9a, 0x14, 0x23, 0x9d, 0x08, 0xf4, 0x0d, 0x6b, 0xe1, 0xe9, 0x1a, 0x60, 0xec,
+  0x4b, 0x09, 0x7b, 0x91, 0xb4, 0x66, 0x1a, 0xb0, 0xfc, 0x22, 0x0f, 0xc3, 0x35, 0xa5, 0x46, 0x9a,
+  0x91, 0x5a, 0x59, 0x62, 0x84, 0xba, 0xba, 0x8a, 0x1a, 0x24, 0x4d, 0x72, 0x06, 0xbc, 0x49, 0x22,
+  0x28, 0x3c, 0x75, 0x9c, 0xfd, 0x39, 0x58, 0xd7, 0xf8, 0xfe, 0x45, 0xba, 0x63, 0x59, 0xe1, 0x97,
+  0xf9, 0xf9, 0x52, 0x49, 0x1d, 0x4e, 0x01, 0x07, 0xa6, 0xf1, 0x1e, 0x30, 0xd0, 0x29, 0x97, 0x4e,
+  0xcb, 0x32, 0x9c, 0xa6, 0xa3, 0x1b, 0x10, 0x17, 0xd0, 0xe4, 0x63, 0x04, 0x67, 0x1e, 0xe2, 0xc3,
+  0x5c, 0xd0, 0xdc, 0x37, 0x5a, 0x4c, 0x62, 0xe4, 0x49, 0x22, 0x32, 0x08, 0xec, 0x1a, 0x2b, 0x07,
+  0x7b, 0xb8, 0xa2, 0x45, 0xad, 0x3b, 0x3a, 0xca, 0x7f, 0x24, 0xbf, 0x8f, 0x30, 0xa4, 0x19, 0x7c,
+  0xc3, 0xc0, 0x36, 0xec, 0x9b, 0x72, 0x86, 0x29, 0x94, 0x04, 0xe0, 0x12, 0xd3, 0xa8, 0x57, 0x66,
+  0x5a, 0xa1, 0x94, 0x0f, 0xe6, 0x2a, 0x6a, 0x8f, 0xe7, 0x9f, 0x17, 0xb2, 0xdb, 0xf4, 0x74, 0xd2,
+  0xc5, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f, 0x19,
+  0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8e, 0xa8, 0x8c, 0xce, 0x26, 0xa5, 0xdc, 0x83, 0x6a, 0x9f,
+  0x19, 0x9a, 0x88, 0xd1, 0x87, 0x20, 0x9d, 0x41, 0x4e, 0xf2, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x92,
+  0x2b, 0x85, 0xe1, 0x6f, 0x60, 0x63, 0x97, 0x7d, 0x76, 0x42, 0x05, 0xbb, 0x92, 0x5e, 0x78, 0x15,
+  0xd3, 0xcd, 0xde, 0xae, 0x8b, 0x5e, 0x0e, 0xc8, 0xf0, 0x91, 0x45, 0xd1, 0x65, 0xc0, 0xcb, 0xc6,
+  0x0d, 0x3b, 0xd5, 0xe9, 0x14, 0x07, 0x7a, 0x7c, 0xc5, 0xd6, 0x6e, 0x17, 0xaa, 0xdc, 0x2b, 0x00,
+  0x01, 0x9e, 0xdb, 0xd8, 0xdb, 0x65, 0x9b, 0xe0, 0xf7, 0x9a, 0x71, 0x71, 0xe3, 0x06, 0xb0, 0xa4,
+  0x98, 0x89, 0xa6, 0x13, 0x20, 0x58, 0x2e, 0xb6, 0xf9, 0xa6, 0x43, 0x8a, 0xce, 0x83, 0xdc, 0x10,
+  0xd2, 0xba, 0xe3, 0x97, 0x3b, 0x1e, 0xf5, 0x11, 0x7d, 0x32, 0x61, 0x62, 0xbe, 0x82, 0x79, 0xb2,
+  0x14, 0x1e, 0x02, 0xb7, 0x8d, 0x5b, 0x23, 0xe5, 0x99, 0xf0, 0x6b, 0x10, 0xec, 0x78, 0x6e, 0x3f,
+  0x1e, 0xb4, 0xb0, 0x62, 0x1f, 0x2b, 0x68, 0xa2, 0x2c, 0x34, 0x02, 0xc9, 0x5a, 0x6a, 0xb8, 0xb5,
+  0x73, 0xb8, 0x31, 0x0a, 0x0e, 0x62, 0xed, 0x34, 0x08, 0x0c, 0x45, 0x9e, 0xc2, 0x3b, 0xd9, 0x97,
+  0x4c, 0xd4, 0xba, 0xa0, 0xd9, 0x61, 0xc3, 0xb2, 0x71, 0x38, 0x2a, 0xed, 0x6a, 0xb7, 0xe0, 0xfb,
+  0x6c, 0xca, 0x20, 0xd4, 0x82, 0xfc, 0xee, 0x1e, 0x94, 0xae, 0xd7, 0x30, 0xfd, 0x54, 0x46, 0xda,
+  0xe0, 0xbb, 0x30, 0xf6, 0x98, 0xf7, 0x74, 0xa2, 0x21, 0x91, 0xf1, 0x23, 0x67, 0x58, 0x4d, 0x05,
+  0x9f, 0xd5, 0xa6, 0xf3, 0x9e, 0x34, 0xde, 0xd7, 0x2b, 0x8a, 0x5f, 0x76, 0x25, 0xb2, 0xd6, 0x56,
+  0x65, 0x2d, 0x25, 0x10, 0x6f, 0x26, 0x1e, 0x35, 0x01, 0x93, 0xe2, 0xf0, 0x3f, 0xa1, 0x23, 0xd4,
+  0x27, 0xb5, 0x81, 0x74, 0xf1, 0x91, 0xbf, 0x91, 0x5a, 0x1b, 0xa3, 0x0e, 0x20, 0x56, 0xd0, 0x17,
+  0x17, 0x2a, 0xfe, 0xba, 0x88, 0xeb, 0x5d, 0xa8, 0xa9, 0x73, 0x0f, 0x34, 0x92, 0x83, 0x2a
+};
+
+UINT32 gPkRsa2048Sha256Size = sizeof(gPkRsa2048Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
new file mode 100644
index 0000000000..a0e81d7bd1
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha256.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x0e, 0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89,
+  0x03, 0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60,
+  0xbb, 0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e,
+  0x44, 0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91,
+  0x9d, 0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a,
+  0x0b, 0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c,
+  0x56, 0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f,
+  0x4c, 0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c,
+  0x7b, 0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0,
+  0x87, 0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67,
+  0xbe, 0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77,
+  0x50, 0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2,
+  0xba, 0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f,
+  0x66, 0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab,
+  0x88, 0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8,
+  0x8b, 0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0,
+  0x94, 0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4,
+  0xf5, 0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12,
+  0xa5, 0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9,
+  0x84, 0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e,
+  0xbe, 0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53,
+  0x7b, 0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25,
+  0x57, 0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8,
+  0x8f, 0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2,
+  0x60, 0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89,
+  0x46, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b,
+  0xfe, 0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0x48, 0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1,
+  0xbf, 0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e,
+  0x6f, 0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a,
+  0x0a, 0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09,
+  0xd0, 0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a,
+  0x9e, 0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a,
+  0xd3, 0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c,
+  0xe2, 0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4,
+  0x1e, 0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c,
+  0xa9, 0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f,
+  0x67, 0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc,
+  0x5c, 0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15,
+  0xc2, 0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd,
+  0x2f, 0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc,
+  0x1e, 0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb,
+  0x87, 0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba,
+  0xeb, 0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11,
+  0x6c, 0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29,
+  0x39, 0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b,
+  0xeb, 0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f,
+  0x87, 0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf,
+  0x69, 0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa,
+  0x0c, 0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7,
+  0xf9, 0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x0e, 0xa9,
+  0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03, 0xb6,
+  0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0xa7, 0xdf, 0x37, 0xa8, 0xbc, 0xa5, 0x42, 0xb9, 0x1e, 0x7d, 0x56, 0x9c,
+  0xb1, 0xa1, 0x65, 0x04, 0x2a, 0x00, 0xd4, 0x3c, 0x3d, 0x0d, 0x5f, 0x55, 0x61, 0x92, 0x3c, 0xe7,
+  0x88, 0x14, 0xf2, 0x2a, 0xdb, 0x42, 0x7d, 0x8e, 0x7e, 0xc8, 0x92, 0xb4, 0x29, 0x2a, 0x4e, 0x2c,
+  0x4e, 0xc9, 0x17, 0x76, 0x24, 0xa8, 0xbf, 0xd2, 0x57, 0x53, 0xd6, 0xa8, 0xe1, 0x48, 0xd7, 0x94,
+  0x06, 0xf8, 0xf5, 0x2c, 0x0b, 0x34, 0x60, 0xf9, 0x3a, 0x97, 0xe5, 0x30, 0x74, 0x90, 0x9c, 0x7b,
+  0xc2, 0xd6, 0x73, 0x8d, 0x08, 0x29, 0x20, 0xd2, 0xc4, 0x5f, 0xea, 0x87, 0xe1, 0x29, 0x20, 0xc2,
+  0x22, 0x39, 0xff, 0x26, 0x51, 0x4d, 0xb1, 0xd4, 0xa2, 0xd4, 0x14, 0x55, 0x56, 0x29, 0x7b, 0x14,
+  0xf9, 0x42, 0x65, 0x02, 0xf4, 0x85, 0x7c, 0xa0, 0x2a, 0x9c, 0x9b, 0x72, 0x0e, 0x79, 0xcd, 0xee,
+  0x74, 0x08, 0x3b, 0x1f, 0x12, 0x3d, 0xb2, 0xd5, 0x60, 0xe8, 0xc2, 0x05, 0x78, 0x0d, 0x0b, 0x58,
+  0x9a, 0xba, 0xcf, 0x4f, 0x6b, 0x8c, 0x8d, 0xc6, 0x0c, 0x42, 0xe3, 0xb8, 0xba, 0x7f, 0x16, 0x1b,
+  0x26, 0x19, 0x66, 0xec, 0x5c, 0xdf, 0xa5, 0x8b, 0x30, 0x02, 0x45, 0xa6, 0x9a, 0x3d, 0x6c, 0x9b,
+  0x95, 0xe4, 0x4c, 0x53, 0xdb, 0xf9, 0x6a, 0x78, 0x0a, 0xdc, 0xbe, 0xff, 0xb4, 0x1b, 0x85, 0x28,
+  0x5e, 0x5d, 0x05, 0x6a, 0x6b, 0xe2, 0x9f, 0x0e, 0x36, 0x22, 0x92, 0xae, 0x0c, 0x0b, 0xab, 0x55,
+  0xab, 0xc4, 0xdf, 0xcb, 0xa3, 0x62, 0xa0, 0x21, 0xc3, 0x19, 0xa2, 0x3f, 0x9d, 0xfa, 0x60, 0xb2,
+  0xe7, 0x82, 0x52, 0xca, 0x62, 0x59, 0xd9, 0x3c, 0x83, 0x5e, 0x10, 0x16, 0xf2, 0xcf, 0xb6, 0xaa,
+  0x44, 0x56, 0xc8, 0xc2, 0x89, 0x4c, 0x4f, 0x32, 0x2d, 0x09, 0x4d, 0xd1, 0x7d, 0x71, 0x10, 0xdc,
+  0x09, 0x8b, 0xd1, 0x26, 0x3c, 0xe6, 0x35, 0x0b, 0x66, 0x4b, 0x49, 0x35, 0x22, 0x38, 0x99, 0x5f,
+  0x27, 0x33, 0x03, 0x6e, 0x57, 0x04, 0x90, 0x03, 0x0c, 0x08, 0xd2, 0xda, 0xb1, 0x34, 0x78, 0x49,
+  0x84, 0x98, 0x8e, 0x80, 0x06, 0x9e, 0xf7, 0x9c, 0x5c, 0xe9, 0xcc, 0x23, 0x3a, 0x60, 0xbe, 0x76,
+  0xb6, 0x13, 0x30, 0xdd, 0x48, 0xa0, 0x66, 0xba, 0x79, 0xcc, 0xa1, 0x7c, 0x8c, 0xb7, 0x77, 0x00,
+  0x76, 0x5c, 0x6c, 0x1b, 0xc4, 0x25, 0xba, 0x45, 0x3e, 0x43, 0x27, 0x0b, 0xe5, 0xdc, 0x5f, 0x78,
+  0x83, 0x38, 0x34, 0x12, 0xf1, 0xab, 0xd6, 0xfe, 0xa4, 0x26, 0x51, 0x8e, 0xb9, 0x37, 0x46, 0xe3,
+  0xff, 0x59, 0x37, 0x26, 0xa4, 0xc4, 0xa7, 0xa9, 0xfa, 0xa9, 0xb7, 0xb3, 0x11, 0xf9, 0x87, 0x46,
+  0x7e, 0x5e, 0xca, 0x2e, 0xa5, 0xfc, 0x3e, 0xf3, 0x81, 0xa4, 0x67, 0x7d, 0x38, 0xb2, 0xd8, 0xf3,
+  0xfb, 0x8a, 0xf1, 0x3a, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0e,
+  0xa9, 0x76, 0xb9, 0x2d, 0x79, 0xbe, 0xc2, 0xc2, 0xd8, 0x07, 0x15, 0xb8, 0x33, 0x3e, 0x89, 0x03,
+  0xb6, 0xe3, 0x05, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xbb, 0xbf, 0xa1, 0xf3, 0x31, 0x4e, 0x48, 0xaf, 0x6e, 0xa9, 0x11, 0x1e, 0x4f, 0x60, 0xbb,
+  0x03, 0xac, 0x64, 0x03, 0x56, 0xed, 0x09, 0xc8, 0x64, 0x2a, 0xe7, 0x8a, 0x60, 0x2a, 0x3e, 0x44,
+  0xc1, 0xbd, 0x47, 0x30, 0x0c, 0xb1, 0x95, 0x62, 0x5b, 0xd1, 0x05, 0xa2, 0x37, 0x9e, 0x91, 0x9d,
+  0x96, 0x08, 0x27, 0x29, 0xb7, 0x44, 0x9f, 0x06, 0xce, 0x7d, 0xf1, 0xcd, 0x0d, 0x0c, 0x6a, 0x0b,
+  0x89, 0xb4, 0x7f, 0x8a, 0x77, 0xdd, 0x93, 0xab, 0x19, 0x60, 0x8f, 0xa0, 0xd3, 0x67, 0x4c, 0x56,
+  0x6c, 0xdc, 0x65, 0x27, 0x2d, 0x12, 0x82, 0x8b, 0x22, 0xcd, 0x3e, 0x8e, 0x7a, 0xf9, 0x5f, 0x4c,
+  0xff, 0x4a, 0xa6, 0x52, 0x25, 0xf3, 0xc2, 0x97, 0x41, 0x45, 0x7d, 0xd9, 0x04, 0xd0, 0x8c, 0x7b,
+  0x40, 0xcf, 0x04, 0x1b, 0x5e, 0x85, 0xe9, 0x8f, 0xfa, 0x7b, 0xde, 0x88, 0x5e, 0xd2, 0xf0, 0x87,
+  0xb2, 0x9f, 0x7d, 0x18, 0x29, 0xa9, 0xbc, 0x0c, 0x8a, 0x3d, 0x79, 0xbe, 0x6d, 0x38, 0x67, 0xbe,
+  0x90, 0xaa, 0xf9, 0x2b, 0xbc, 0x3c, 0x41, 0x84, 0xf0, 0x7e, 0xb3, 0x2c, 0x54, 0x83, 0x77, 0x50,
+  0x1a, 0x59, 0x5e, 0xe4, 0x75, 0x29, 0xb0, 0xf7, 0xea, 0xb9, 0x71, 0x8e, 0x68, 0xbf, 0xf2, 0xba,
+  0xbf, 0x85, 0xae, 0x35, 0xa2, 0xfa, 0x23, 0x45, 0x07, 0xd0, 0xc8, 0xb2, 0xd4, 0xc0, 0x4f, 0x66,
+  0x55, 0x53, 0x0e, 0x49, 0x00, 0x2b, 0xd8, 0x13, 0xb7, 0x17, 0x42, 0xea, 0x94, 0xd2, 0xab, 0x88,
+  0x06, 0xb1, 0x0a, 0x1b, 0x73, 0xde, 0xdb, 0x46, 0xfa, 0xfa, 0x3d, 0xb8, 0x07, 0xd5, 0xf8, 0x8b,
+  0xc9, 0x37, 0x83, 0x77, 0x12, 0xbc, 0xee, 0xd0, 0xcd, 0xa2, 0xbb, 0xa6, 0x7e, 0x08, 0xc0, 0x94,
+  0xa8, 0x38, 0x08, 0xff, 0xce, 0xd3, 0x3c, 0xa1, 0x03, 0xef, 0x37, 0xaa, 0x60, 0x08, 0xa4, 0xf5,
+  0x11, 0xae, 0xa2, 0x0f, 0x87, 0x49, 0xeb, 0x7e, 0x69, 0xe8, 0xba, 0xc3, 0xab, 0xc8, 0x12, 0xa5,
+  0x3d, 0x32, 0xff, 0x69, 0x2c, 0x25, 0x6d, 0xe0, 0x4d, 0x31, 0xb6, 0x6f, 0x7b, 0x3a, 0xb9, 0x84,
+  0x56, 0x5b, 0xfb, 0xf1, 0xce, 0x2a, 0xcd, 0x04, 0xb5, 0x1e, 0x3e, 0xa1, 0x1a, 0xdf, 0x0e, 0xbe,
+  0x5d, 0x8d, 0x49, 0xef, 0xaa, 0x68, 0xfc, 0xe3, 0x7a, 0x4c, 0xf4, 0xbd, 0xd4, 0xf7, 0x53, 0x7b,
+  0xb1, 0x94, 0x68, 0x2f, 0xe5, 0x24, 0x52, 0xd4, 0xbd, 0x33, 0x8a, 0xa0, 0xf7, 0x4c, 0x25, 0x57,
+  0x3f, 0x64, 0xb6, 0x9e, 0x7d, 0x14, 0x0d, 0xc9, 0xa2, 0x9b, 0x74, 0x14, 0xd3, 0xe6, 0xf8, 0x8f,
+  0xfe, 0x41, 0x9c, 0xe9, 0xeb, 0xbe, 0x3e, 0xbc, 0xe5, 0xd5, 0x89, 0x77, 0xc8, 0xc7, 0xc2, 0x60,
+  0xa6, 0x2e, 0xb3, 0xfe, 0x03, 0xa5, 0x0b, 0x41, 0xe6, 0x2e, 0xd1, 0xd6, 0xac, 0x02, 0x89, 0x46,
+  0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe, 0x4d,
+  0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xd4, 0xe9, 0x80, 0xf0, 0xb4, 0xb9, 0x68, 0x8b, 0x8b, 0xfe,
+  0x4d, 0xa8, 0x76, 0xf7, 0x5a, 0xfc, 0x3b, 0xc8, 0xd6, 0x49, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0x48,
+  0x49, 0xa3, 0x80, 0x34, 0xf4, 0xb5, 0x92, 0xb4, 0x94, 0x02, 0x39, 0x6a, 0xfb, 0x1e, 0xc1, 0xbf,
+  0xfc, 0xcd, 0x3d, 0xcd, 0x02, 0x43, 0x2c, 0xe8, 0xa0, 0xcf, 0x5e, 0xbf, 0x78, 0x3a, 0x6e, 0x6f,
+  0x42, 0x87, 0x80, 0xee, 0x13, 0x7c, 0x88, 0x38, 0xa4, 0x36, 0x9f, 0xd5, 0x33, 0xc7, 0x0a, 0x0a,
+  0x46, 0x05, 0xf8, 0xa9, 0x50, 0x38, 0x3d, 0x44, 0x44, 0x21, 0x10, 0xcf, 0x06, 0xf7, 0x09, 0xd0,
+  0x06, 0xff, 0x3d, 0x3e, 0x0a, 0xd7, 0x27, 0xb6, 0x82, 0x37, 0x68, 0xd0, 0x22, 0xd1, 0x2a, 0x9e,
+  0xc1, 0x62, 0xc8, 0x5f, 0x43, 0xb4, 0x23, 0xe0, 0x98, 0x3c, 0x69, 0x36, 0x2d, 0x4a, 0x2a, 0xd3,
+  0xbd, 0x00, 0x9c, 0x1e, 0x7e, 0xd9, 0xaa, 0xf8, 0x00, 0x5f, 0xd9, 0x6a, 0xea, 0x4e, 0x8c, 0xe2,
+  0x03, 0x28, 0x4d, 0xd6, 0xa3, 0xd2, 0x3e, 0xa2, 0x95, 0x6a, 0xe8, 0x2a, 0x6d, 0xde, 0xa4, 0x1e,
+  0xda, 0xd4, 0xb6, 0xfa, 0xb9, 0x76, 0x35, 0x7e, 0x5c, 0xf4, 0xb0, 0x72, 0xf5, 0x82, 0x3c, 0xa9,
+  0x37, 0x5f, 0x49, 0x5c, 0x4a, 0x18, 0xd7, 0xa7, 0x79, 0xd0, 0x26, 0x26, 0xe8, 0x5b, 0x2f, 0x67,
+  0x90, 0x7a, 0xe9, 0x67, 0x2e, 0xec, 0x14, 0x01, 0x9a, 0x69, 0xb7, 0x59, 0xb6, 0x66, 0xfc, 0x5c,
+  0xd8, 0x0a, 0x78, 0x94, 0x2e, 0x90, 0x28, 0x22, 0xc9, 0xfa, 0xf9, 0x0e, 0x8d, 0x8e, 0x15, 0xc2,
+  0xc1, 0x62, 0xae, 0xec, 0xba, 0xec, 0x5d, 0x95, 0xb4, 0x11, 0x2c, 0xb5, 0x69, 0xd1, 0xcd, 0x2f,
+  0xb2, 0xfb, 0xc2, 0x50, 0xe3, 0xf2, 0xf8, 0x1a, 0xe8, 0x7c, 0xf5, 0x62, 0x3b, 0x3d, 0xcc, 0x1e,
+  0x7d, 0xe7, 0x54, 0x8f, 0x82, 0xc5, 0x93, 0x7b, 0x3f, 0x3a, 0x41, 0x7f, 0x32, 0x01, 0xdb, 0x87,
+  0x7c, 0x95, 0xf2, 0x2a, 0x7c, 0x30, 0x7b, 0x80, 0xe1, 0x24, 0x8c, 0x18, 0x5c, 0xdd, 0xba, 0xeb,
+  0x96, 0x2b, 0x73, 0x96, 0x87, 0x6d, 0xc5, 0xe1, 0x76, 0xc3, 0x07, 0x1e, 0x36, 0x06, 0x11, 0x6c,
+  0xd7, 0x7e, 0xe8, 0xbd, 0x9d, 0xb4, 0xd7, 0x0d, 0xf4, 0xef, 0x34, 0xc1, 0x75, 0x99, 0x29, 0x39,
+  0x81, 0x31, 0xbe, 0xa6, 0xf7, 0x26, 0xc0, 0xcf, 0xe3, 0x4c, 0x4d, 0xca, 0x86, 0x91, 0x4b, 0xeb,
+  0x8b, 0x2c, 0x45, 0x5c, 0x80, 0x37, 0xa8, 0xa5, 0x71, 0xce, 0x92, 0x72, 0x90, 0xae, 0x6f, 0x87,
+  0x48, 0xcf, 0x62, 0xe1, 0x5d, 0x74, 0xfa, 0xf3, 0xd2, 0x69, 0x7a, 0xee, 0x1e, 0x5b, 0xdf, 0x69,
+  0x47, 0x7d, 0x77, 0xb6, 0x64, 0xc7, 0xd0, 0xcf, 0xb1, 0xe9, 0xa8, 0xfc, 0x36, 0x7f, 0xaa, 0x0c,
+  0xe2, 0x8d, 0xaf, 0x6c, 0x96, 0x8d, 0x97, 0xf7, 0x1d, 0x95, 0xa2, 0x27, 0xc6, 0xfa, 0xb7, 0xf9,
+  0xf9, 0xab, 0x29, 0x77, 0xe3, 0x08, 0x20, 0x7b, 0xe6, 0xa5, 0x3a, 0xa5, 0x01, 0xbd, 0xea
+};
+
+UINT32 gPkRsa3072Sha256Size = sizeof(gPkRsa3072Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
new file mode 100644
index 0000000000..68b12d3891
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa3072Sha384.c
@@ -0,0 +1,179 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa3072Sha384[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x14, 0x06, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x05, 0xf8, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x03,
+  0xff, 0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x70, 0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61,
+  0x90, 0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0c, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01,
+  0x81, 0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45,
+  0x0d, 0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50,
+  0x2f, 0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e,
+  0x8f, 0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b,
+  0x5a, 0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7,
+  0x4c, 0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda,
+  0x8d, 0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2,
+  0x13, 0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca,
+  0x66, 0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca,
+  0xe4, 0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68,
+  0xa5, 0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8,
+  0xbb, 0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8,
+  0xff, 0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f,
+  0xa0, 0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc,
+  0x14, 0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b,
+  0x88, 0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a,
+  0x48, 0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16,
+  0x66, 0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79,
+  0xf4, 0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc,
+  0xb8, 0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57,
+  0x68, 0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27,
+  0x83, 0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88,
+  0xb2, 0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5,
+  0x5e, 0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b,
+  0x4e, 0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1,
+  0xb3, 0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00,
+  0xa2, 0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4,
+  0x6e, 0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d,
+  0xc6, 0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7,
+  0xa8, 0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3,
+  0xf8, 0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5,
+  0xab, 0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2,
+  0xa3, 0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14,
+  0xed, 0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00,
+  0x78, 0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6,
+  0x1a, 0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2,
+  0x55, 0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38,
+  0xf5, 0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42,
+  0xdb, 0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1,
+  0xa2, 0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61,
+  0x12, 0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93,
+  0x1b, 0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01,
+  0x8f, 0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1,
+  0x0c, 0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b,
+  0x77, 0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74,
+  0x45, 0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc,
+  0xa7, 0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e,
+  0x88, 0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07,
+  0xd3, 0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12,
+  0x1d, 0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31,
+  0x31, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0xcc, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x70, 0x25,
+  0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90, 0x43,
+  0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x02, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x01, 0x80, 0x88, 0xd6, 0xed, 0xd7, 0x70, 0x05, 0x93, 0xf5, 0xde, 0xfb, 0x73, 0xee,
+  0x7d, 0xb1, 0x73, 0x42, 0xb1, 0xe9, 0xd7, 0x99, 0xfb, 0xcc, 0x73, 0x5f, 0x2b, 0xe1, 0x3b, 0x27,
+  0x84, 0x40, 0xb9, 0x71, 0x29, 0x54, 0xc0, 0x1b, 0x80, 0xf8, 0xa1, 0x26, 0xc0, 0xaa, 0x64, 0x7f,
+  0xe3, 0xff, 0xd3, 0xce, 0xd3, 0x8c, 0xa5, 0x46, 0x42, 0xf1, 0xe3, 0x0c, 0x97, 0x3e, 0x48, 0x4f,
+  0x61, 0x60, 0x38, 0x56, 0xa2, 0xf0, 0x0c, 0x02, 0x67, 0xa2, 0x5f, 0x9f, 0xb1, 0xc8, 0x48, 0xf6,
+  0xbf, 0x4f, 0x27, 0x57, 0xf2, 0x73, 0xb9, 0x52, 0x9c, 0x54, 0xbd, 0x33, 0x18, 0x97, 0x83, 0x99,
+  0x5d, 0xb0, 0x19, 0x1e, 0xb1, 0x15, 0xb8, 0xcb, 0xe4, 0xe2, 0x82, 0xb7, 0x2c, 0x14, 0xbb, 0x70,
+  0x99, 0x67, 0x10, 0x80, 0xec, 0x7c, 0xfe, 0x74, 0x31, 0x4d, 0x6e, 0x20, 0x80, 0x25, 0x89, 0x67,
+  0x0a, 0xf5, 0x5e, 0x62, 0x7e, 0xd8, 0xf7, 0xf5, 0xb8, 0x0c, 0x31, 0x6c, 0x0e, 0x41, 0x54, 0xb0,
+  0xff, 0xf6, 0xf2, 0xc6, 0x00, 0x34, 0x16, 0x57, 0x72, 0x23, 0xb6, 0xa1, 0x4b, 0xc7, 0x7a, 0xe4,
+  0x84, 0xd0, 0x40, 0x3f, 0xea, 0x7c, 0x95, 0xc2, 0x4d, 0x3d, 0x06, 0xc9, 0x71, 0xa3, 0x94, 0x9d,
+  0x70, 0x3b, 0x23, 0xc2, 0x7d, 0x73, 0xd6, 0xa4, 0xf1, 0x07, 0xe5, 0xb9, 0x4b, 0x59, 0xa5, 0x2c,
+  0xa9, 0xc0, 0x8b, 0x87, 0xaa, 0xba, 0xa5, 0xd1, 0x61, 0xac, 0xa5, 0xb4, 0x38, 0x04, 0x58, 0xb1,
+  0xbe, 0xeb, 0xd9, 0xd7, 0xaf, 0x36, 0xb4, 0xf8, 0xce, 0x32, 0x1e, 0x66, 0xcb, 0x52, 0xe6, 0xc9,
+  0x07, 0xd5, 0xe2, 0x11, 0x3c, 0x5d, 0xd7, 0xca, 0x3b, 0xea, 0x71, 0x62, 0x7f, 0x24, 0x91, 0xd7,
+  0x05, 0x8f, 0x69, 0xfe, 0x10, 0xc7, 0x49, 0xb7, 0xec, 0x91, 0x24, 0x11, 0x43, 0xb4, 0xe6, 0xfe,
+  0xd0, 0x4e, 0xa5, 0x75, 0x6b, 0x48, 0xd6, 0xad, 0x3a, 0xab, 0xed, 0xd4, 0x12, 0x88, 0x67, 0x18,
+  0x2a, 0x90, 0x81, 0xcd, 0x72, 0x68, 0x76, 0xfc, 0xd1, 0xfa, 0x83, 0xed, 0x25, 0x38, 0xc9, 0x71,
+  0xd0, 0x22, 0x7d, 0xd0, 0xd5, 0x20, 0x65, 0xa4, 0x04, 0x19, 0x8e, 0xc2, 0xa3, 0x73, 0x69, 0x9a,
+  0x73, 0x22, 0xf0, 0x7f, 0xf0, 0x3f, 0x7c, 0x6e, 0xf6, 0x77, 0x7c, 0xf0, 0x1a, 0x67, 0x67, 0xda,
+  0x64, 0xec, 0x73, 0xa7, 0xf1, 0x09, 0xd8, 0xab, 0x04, 0x81, 0x66, 0xa3, 0x1e, 0x43, 0x1f, 0x00,
+  0x2e, 0xb1, 0xaa, 0x3d, 0x3c, 0xb6, 0x07, 0xdd, 0x2c, 0x8d, 0x5e, 0x92, 0xdf, 0x2f, 0xd2, 0x3f,
+  0x59, 0xb7, 0xca, 0x6f, 0x7e, 0x9d, 0x6c, 0x2a, 0x3d, 0x90, 0xe1, 0x36, 0x8f, 0x9a, 0xd1, 0xf4,
+  0x46, 0x37, 0x77, 0x0f, 0x9c, 0xd5, 0x62, 0x88, 0x38, 0x44, 0x2a, 0xde, 0x6f, 0xe2, 0xe2, 0x75,
+  0x25, 0xd7, 0x71, 0xb0, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x04, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x03, 0xfb, 0x30, 0x82, 0x02, 0x63, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x70,
+  0x25, 0x22, 0x46, 0xb2, 0xc0, 0xa9, 0x51, 0x32, 0xb1, 0xd2, 0xa3, 0xa2, 0x1c, 0xf5, 0x61, 0x90,
+  0x43, 0x95, 0x99, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x39, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x39,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x01, 0xa2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x8f, 0x00, 0x30, 0x82, 0x01, 0x8a, 0x02, 0x82, 0x01, 0x81,
+  0x00, 0xac, 0x30, 0xdc, 0x67, 0x6b, 0xf0, 0x73, 0xd4, 0x6c, 0xae, 0x0b, 0xbb, 0x81, 0x45, 0x0d,
+  0x22, 0x62, 0xb4, 0x7a, 0x67, 0x02, 0x3a, 0x74, 0x86, 0x58, 0xfd, 0x33, 0xb2, 0xf4, 0x50, 0x2f,
+  0x64, 0xa7, 0xce, 0x20, 0x83, 0x76, 0x00, 0x3f, 0xce, 0xd3, 0xbd, 0x92, 0xfe, 0x48, 0x1e, 0x8f,
+  0x18, 0xd7, 0x61, 0xfd, 0xbc, 0x5c, 0xf6, 0x54, 0x8a, 0xb8, 0xd9, 0x19, 0xc4, 0x5e, 0x2b, 0x5a,
+  0x23, 0xab, 0x62, 0x6c, 0xf9, 0x59, 0x1a, 0xf8, 0x99, 0xec, 0x9e, 0xea, 0x09, 0x1a, 0xe7, 0x4c,
+  0x55, 0x50, 0x33, 0x96, 0x51, 0xd3, 0xc4, 0x4d, 0x6d, 0xf0, 0x77, 0x63, 0x54, 0x37, 0xda, 0x8d,
+  0x9b, 0xdb, 0x01, 0x59, 0x2e, 0x0f, 0xd0, 0x03, 0xf6, 0x4d, 0x63, 0x78, 0xd2, 0x17, 0xa2, 0x13,
+  0x92, 0x1a, 0x7d, 0x16, 0xf4, 0x84, 0x20, 0xc4, 0xb1, 0x38, 0x24, 0xe4, 0xef, 0x52, 0xca, 0x66,
+  0x00, 0xfb, 0x0b, 0x66, 0x91, 0xb3, 0x0b, 0x80, 0xd4, 0xd2, 0x94, 0xa4, 0x47, 0x83, 0xca, 0xe4,
+  0xba, 0xa0, 0xd9, 0x77, 0x83, 0xc7, 0x37, 0xad, 0xca, 0x5a, 0xae, 0xf3, 0x48, 0x52, 0x68, 0xa5,
+  0x8f, 0x27, 0x58, 0x2e, 0xaa, 0x0a, 0x75, 0x9c, 0x1c, 0x00, 0x60, 0xbc, 0xdd, 0xf5, 0xb8, 0xbb,
+  0xc4, 0x62, 0x8b, 0x9e, 0x7a, 0xaf, 0xd3, 0x2f, 0x5d, 0xcc, 0xbe, 0x8f, 0x24, 0x31, 0xf8, 0xff,
+  0xb2, 0xbd, 0xc0, 0xe9, 0x26, 0x0e, 0x79, 0x65, 0xf8, 0xa1, 0x7f, 0x99, 0x54, 0x9a, 0x6f, 0xa0,
+  0x41, 0x8e, 0x97, 0xff, 0x5d, 0xe4, 0xc2, 0x69, 0xb2, 0x46, 0xb3, 0x7e, 0x26, 0xd4, 0xdc, 0x14,
+  0x2e, 0x72, 0xb5, 0x1e, 0xbd, 0xbb, 0x4c, 0x8b, 0xc3, 0x60, 0xa6, 0x43, 0x37, 0x0a, 0x3b, 0x88,
+  0xc4, 0x47, 0xde, 0x01, 0xda, 0x7c, 0xdd, 0xc2, 0x02, 0x27, 0x56, 0xaa, 0x1b, 0x6f, 0x3a, 0x48,
+  0x38, 0x14, 0xb0, 0x1c, 0xeb, 0xf4, 0x74, 0xdd, 0xc5, 0xd3, 0xa0, 0x77, 0x67, 0xe9, 0x16, 0x66,
+  0xd1, 0x50, 0x9b, 0xca, 0x72, 0x4f, 0x2a, 0x08, 0x1f, 0xbd, 0x36, 0xd3, 0x0d, 0x1c, 0x79, 0xf4,
+  0x7d, 0x5c, 0xf8, 0xe6, 0x3b, 0x9e, 0xce, 0xe4, 0x2a, 0xaa, 0x29, 0x07, 0xd0, 0x2a, 0xcc, 0xb8,
+  0x3b, 0xe5, 0x4b, 0x20, 0xe7, 0xcb, 0x7f, 0x28, 0x92, 0x84, 0x23, 0x13, 0x87, 0x44, 0x57, 0x68,
+  0xaa, 0xf0, 0x56, 0xc4, 0xc0, 0x01, 0xc3, 0x59, 0xb2, 0x87, 0x99, 0x97, 0x02, 0x01, 0x27, 0x83,
+  0x5c, 0xb7, 0x86, 0xbf, 0xac, 0xe6, 0xad, 0x91, 0x48, 0x2d, 0x95, 0x6e, 0x4d, 0x94, 0x88, 0xb2,
+  0xd1, 0x9b, 0xa7, 0xca, 0x91, 0xc0, 0xf1, 0xb4, 0xa8, 0xc1, 0x0e, 0xae, 0x68, 0x70, 0xc5, 0x5e,
+  0x95, 0x8c, 0x8a, 0x07, 0xe1, 0xf3, 0x8d, 0xd9, 0x82, 0x84, 0x09, 0x5d, 0x94, 0x09, 0x0b, 0x4e,
+  0xed, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3, 0x57,
+  0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x8f, 0xf2, 0x44, 0x50, 0x0b, 0xa8, 0x40, 0xc5, 0xd1, 0xb3,
+  0x57, 0x0c, 0x47, 0x5b, 0xe1, 0x51, 0x98, 0x7f, 0x1b, 0x6a, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0c, 0x05, 0x00, 0x03, 0x82, 0x01, 0x81, 0x00, 0xa2,
+  0x77, 0xf3, 0x1d, 0x71, 0x09, 0x47, 0x1c, 0x6f, 0x39, 0x6b, 0xec, 0xbd, 0x14, 0x9a, 0xa4, 0x6e,
+  0xec, 0xe8, 0x7d, 0xfa, 0x5a, 0x52, 0x98, 0xc7, 0x16, 0xe3, 0x14, 0x7c, 0x20, 0x06, 0x8d, 0xc6,
+  0xd5, 0x27, 0x01, 0x78, 0x05, 0x71, 0xe3, 0xaa, 0x70, 0xcc, 0x56, 0xc2, 0x73, 0x0d, 0xb7, 0xa8,
+  0x36, 0xa4, 0x34, 0x2d, 0xe5, 0x21, 0x76, 0x60, 0xe4, 0xef, 0x7b, 0x9b, 0x3e, 0x00, 0xc3, 0xf8,
+  0xe9, 0x51, 0x2e, 0x7d, 0x59, 0x8a, 0x82, 0x1f, 0xd1, 0x65, 0x1b, 0x8e, 0xbe, 0x6d, 0xd5, 0xab,
+  0x43, 0xbd, 0x3f, 0xc6, 0x91, 0x4a, 0xd4, 0x56, 0x3a, 0xb7, 0x4b, 0x7b, 0xd1, 0xc1, 0xe2, 0xa3,
+  0xae, 0xc7, 0x3d, 0x90, 0xb6, 0x04, 0x05, 0x45, 0xe8, 0x45, 0x31, 0x6b, 0xbc, 0xe0, 0x14, 0xed,
+  0xda, 0xce, 0xf8, 0x87, 0xca, 0xda, 0x08, 0x5d, 0x7c, 0x89, 0xbb, 0xe1, 0xe9, 0x17, 0x00, 0x78,
+  0x7a, 0x06, 0xa9, 0x47, 0x79, 0xf4, 0x6a, 0x99, 0xa8, 0x3a, 0x6f, 0xe5, 0xf1, 0x82, 0xa6, 0x1a,
+  0xa3, 0xfb, 0xfd, 0x1b, 0xe4, 0xd2, 0x0e, 0x52, 0x1e, 0x04, 0x38, 0x4b, 0xf5, 0x17, 0xb2, 0x55,
+  0xc9, 0x2a, 0xbb, 0x1b, 0x8f, 0xe3, 0x54, 0xcc, 0xcb, 0x42, 0x50, 0x9b, 0x30, 0x43, 0x38, 0xf5,
+  0x2a, 0xe7, 0x71, 0x04, 0x7f, 0xb5, 0x1d, 0xe2, 0x7b, 0xeb, 0xf4, 0x90, 0x53, 0x73, 0x42, 0xdb,
+  0x3b, 0x19, 0xe1, 0x8d, 0xdb, 0x86, 0x66, 0x0d, 0xed, 0x77, 0xbf, 0xb2, 0x51, 0xd5, 0xf1, 0xa2,
+  0x94, 0x59, 0xae, 0x8f, 0x49, 0x4e, 0xe0, 0xa6, 0x45, 0x9d, 0x3a, 0x89, 0xaa, 0xb6, 0x61, 0x12,
+  0x61, 0xad, 0x7f, 0x03, 0x4d, 0xb0, 0xc6, 0x9a, 0x60, 0xc4, 0x6c, 0x9d, 0xc6, 0xa7, 0x93, 0x1b,
+  0x27, 0x6b, 0x76, 0xbd, 0x13, 0x8e, 0x92, 0x49, 0x78, 0x2d, 0x54, 0xa7, 0x16, 0x71, 0x01, 0x8f,
+  0xa6, 0xf1, 0xe3, 0xd9, 0x7e, 0x12, 0x75, 0x15, 0x31, 0xd5, 0x3c, 0xa0, 0x2c, 0xbc, 0xc1, 0x0c,
+  0x87, 0xa8, 0x3a, 0x02, 0x87, 0x7d, 0xe5, 0x76, 0xd8, 0xa0, 0x90, 0x97, 0x80, 0xb0, 0x5b, 0x77,
+  0x6e, 0x3a, 0xcd, 0x9f, 0x88, 0xc8, 0xff, 0xe3, 0xf6, 0x16, 0xa1, 0x9c, 0xe2, 0x98, 0x74, 0x45,
+  0x12, 0xf9, 0x88, 0x78, 0xd8, 0x62, 0x1e, 0xff, 0xeb, 0x68, 0x26, 0xa9, 0x64, 0x07, 0xfc, 0xa7,
+  0x58, 0x49, 0xfd, 0x3b, 0x92, 0x83, 0x29, 0xd1, 0xaa, 0xa2, 0x66, 0x76, 0x38, 0x62, 0x9e, 0x88,
+  0x55, 0x83, 0xa6, 0x9e, 0xc1, 0xa2, 0x73, 0xec, 0x03, 0x70, 0x72, 0xb3, 0xd4, 0x01, 0x07, 0xd3,
+  0xbd, 0xba, 0xe7, 0xf5, 0x98, 0xb6, 0x0f, 0x92, 0xa5, 0xf2, 0x9e, 0x44, 0x2d, 0xbb, 0x12, 0x1d,
+  0xbc, 0x1f, 0x63, 0x60, 0x3a, 0xf4, 0xd9, 0xb1, 0x8c, 0x59, 0xc9, 0xc4, 0xa9, 0x77, 0x31
+};
+
+UINT32 gPkRsa3072Sha384Size = sizeof(gPkRsa3072Sha384);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
new file mode 100644
index 0000000000..9f59781e24
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha256.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha256[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x3b, 0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e,
+  0x8d, 0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0b, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x30, 0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75,
+  0x72, 0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30,
+  0xf6, 0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c,
+  0xa1, 0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c,
+  0xc6, 0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad,
+  0x6a, 0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb,
+  0xc2, 0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c,
+  0xc4, 0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb,
+  0x05, 0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a,
+  0x66, 0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7,
+  0xdc, 0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53,
+  0x22, 0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3,
+  0x41, 0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10,
+  0x21, 0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7,
+  0x46, 0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88,
+  0xb5, 0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc,
+  0x74, 0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3,
+  0x81, 0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8,
+  0x4c, 0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4,
+  0x01, 0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c,
+  0x0f, 0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83,
+  0xa9, 0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7,
+  0x7b, 0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f,
+  0xf0, 0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18,
+  0x82, 0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70,
+  0xa1, 0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85,
+  0xa6, 0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97,
+  0x14, 0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10,
+  0x91, 0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c,
+  0x44, 0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8,
+  0xe9, 0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f,
+  0x5b, 0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24,
+  0x42, 0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43,
+  0x26, 0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x57, 0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18,
+  0x28, 0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66,
+  0x44, 0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c,
+  0xd1, 0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6,
+  0xca, 0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f,
+  0x15, 0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7,
+  0xcd, 0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f,
+  0xc7, 0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c,
+  0xc0, 0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a,
+  0x94, 0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe,
+  0xef, 0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b,
+  0xed, 0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55,
+  0xc3, 0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90,
+  0x9e, 0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e,
+  0x0d, 0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61,
+  0xa8, 0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44,
+  0x85, 0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82,
+  0xde, 0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc,
+  0x59, 0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c,
+  0xef, 0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18,
+  0x72, 0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51,
+  0x38, 0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4,
+  0xd8, 0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14,
+  0xa7, 0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c,
+  0xaa, 0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20,
+  0xa2, 0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19,
+  0x50, 0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5,
+  0xc1, 0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85,
+  0xdb, 0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d,
+  0x0a, 0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60,
+  0x1b, 0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c,
+  0xc0, 0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x3b, 0x44,
+  0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d, 0x77,
+  0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xa0, 0xb4, 0xdb, 0xcb, 0x81, 0x4a, 0xc3, 0x08, 0x79, 0xaa, 0x3e, 0x2f,
+  0x3e, 0xdf, 0x1f, 0xc9, 0xe3, 0x85, 0xf5, 0xa3, 0x8c, 0xbb, 0xcc, 0xb6, 0x9f, 0x53, 0x2b, 0x1b,
+  0xca, 0x6d, 0x8e, 0x87, 0xd8, 0x24, 0xbd, 0xc8, 0x69, 0x6f, 0xca, 0xe8, 0x45, 0xf0, 0xac, 0x6c,
+  0x5e, 0x11, 0xef, 0x07, 0x11, 0xf5, 0x48, 0x89, 0x01, 0x09, 0x0d, 0xa3, 0x1f, 0xa6, 0x35, 0x37,
+  0x94, 0x71, 0x3e, 0x3e, 0x6b, 0x9b, 0x61, 0xa3, 0xed, 0xd6, 0x9d, 0xd7, 0x40, 0x16, 0x7c, 0x43,
+  0xf1, 0xb2, 0xcd, 0x90, 0x8a, 0x33, 0x1b, 0x0e, 0x3f, 0x85, 0x02, 0xca, 0xb8, 0x22, 0xea, 0xe1,
+  0x8a, 0xc4, 0xb7, 0xdb, 0x29, 0x25, 0xab, 0xf8, 0xfa, 0x21, 0x6e, 0xb0, 0x95, 0xb1, 0x0a, 0x48,
+  0x8b, 0x35, 0x96, 0x64, 0x35, 0x2c, 0x8f, 0xb2, 0x54, 0x1e, 0x68, 0x6f, 0xca, 0xb9, 0x4e, 0xb9,
+  0x43, 0x7b, 0x27, 0x42, 0x99, 0xce, 0x29, 0x0b, 0xca, 0xc7, 0x80, 0xac, 0x75, 0x2c, 0x8d, 0x88,
+  0x8b, 0x2b, 0x62, 0x39, 0x61, 0xf7, 0xd4, 0xf2, 0x22, 0xba, 0xa0, 0xd0, 0x5e, 0x02, 0x45, 0xdd,
+  0xee, 0xbd, 0x19, 0x91, 0x5a, 0x8a, 0xbe, 0xa9, 0xf4, 0x47, 0x07, 0xae, 0x69, 0x4c, 0x54, 0xe4,
+  0xe6, 0x92, 0x99, 0x85, 0x7f, 0xaf, 0xc3, 0x75, 0x43, 0x8e, 0x79, 0x5a, 0x65, 0x8c, 0x0d, 0x18,
+  0x2c, 0x52, 0xe7, 0x81, 0x90, 0xc2, 0x6b, 0x79, 0xf2, 0x98, 0x73, 0x9f, 0xef, 0xe7, 0xbd, 0x12,
+  0x1a, 0x4c, 0xb3, 0x68, 0x28, 0x31, 0xaa, 0xd4, 0x0d, 0x13, 0x3d, 0x43, 0x75, 0x15, 0x00, 0xeb,
+  0xcb, 0xe7, 0x89, 0xcf, 0x6c, 0xd5, 0x07, 0x0b, 0xd6, 0x5e, 0x9d, 0xdd, 0x05, 0x65, 0xd1, 0xd5,
+  0xec, 0x3e, 0xe8, 0x81, 0x52, 0xec, 0x46, 0x4e, 0xbc, 0x0f, 0xd3, 0x8d, 0xed, 0x09, 0x2c, 0xab,
+  0x49, 0x25, 0x3f, 0xd0, 0xe5, 0x57, 0x8f, 0x72, 0x14, 0x97, 0x5b, 0x49, 0x7a, 0x29, 0x15, 0xc8,
+  0x3b, 0x73, 0xd7, 0xce, 0x41, 0xfa, 0x79, 0x50, 0x4c, 0x65, 0x7f, 0x90, 0xd6, 0x52, 0x21, 0xc3,
+  0x4e, 0x00, 0x85, 0x13, 0x92, 0x7e, 0xb9, 0x01, 0x31, 0xef, 0xd1, 0xdd, 0x46, 0xf4, 0xe4, 0x10,
+  0x65, 0x25, 0xfa, 0x95, 0x4b, 0xa8, 0x23, 0xba, 0xb8, 0x92, 0x0b, 0x8b, 0x4e, 0xb8, 0x09, 0xfe,
+  0xca, 0x3a, 0xa8, 0x47, 0x9d, 0x4a, 0xa6, 0x2f, 0x31, 0x2f, 0x63, 0xa9, 0x0d, 0x98, 0x1d, 0x2f,
+  0x68, 0x36, 0x64, 0xee, 0x8f, 0xa7, 0xa7, 0x03, 0xc5, 0x6c, 0xe3, 0xdd, 0xca, 0x99, 0xa5, 0x3a,
+  0x93, 0x94, 0x0f, 0x26, 0xad, 0xc1, 0xfd, 0x59, 0x5b, 0x68, 0x11, 0x40, 0xed, 0xc1, 0xd1, 0xb9,
+  0xa1, 0x56, 0xa9, 0x7a, 0x54, 0x0c, 0x98, 0xc1, 0xa1, 0x95, 0x1e, 0x10, 0xd2, 0xdd, 0xa7, 0xa7,
+  0xf3, 0x37, 0x43, 0xa2, 0x37, 0x2f, 0x0e, 0x4c, 0xdd, 0xde, 0x23, 0x0c, 0x66, 0xe1, 0x52, 0x7f,
+  0x7b, 0x02, 0xcb, 0x57, 0x60, 0xc3, 0x12, 0x54, 0x51, 0x81, 0x8b, 0xb0, 0x28, 0x57, 0x64, 0xa8,
+  0x1f, 0x7d, 0x23, 0xe3, 0x8a, 0x6c, 0x6b, 0x46, 0xda, 0xd2, 0xd1, 0x71, 0xa3, 0x4d, 0xd8, 0xe2,
+  0x16, 0x5a, 0x92, 0xa9, 0x52, 0x04, 0xe3, 0x31, 0xce, 0xe6, 0xe5, 0xa0, 0xde, 0xb3, 0x9f, 0x57,
+  0x6e, 0x02, 0xeb, 0xcb, 0x17, 0x21, 0x0f, 0x42, 0x75, 0x1a, 0x61, 0xd4, 0xcb, 0x42, 0x28, 0xa7,
+  0xf6, 0xdf, 0xad, 0xc9, 0x4a, 0xd9, 0x14, 0x98, 0x09, 0xb5, 0x71, 0x89, 0x65, 0x0d, 0xa3, 0x3b,
+  0x1b, 0x61, 0x41, 0xac, 0x1a, 0xf7, 0x7a, 0x72, 0x61, 0xbc, 0x6c, 0x6e, 0x29, 0xfc, 0x56, 0xaa,
+  0x89, 0x21, 0x5e, 0x50, 0x00, 0xd4, 0xee, 0x26, 0xcc, 0x97, 0x99, 0x37, 0x8a, 0x01, 0x4a, 0x40,
+  0x24, 0x6a, 0xfd, 0x0b, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x3b,
+  0x44, 0x8b, 0x2f, 0xc5, 0x9a, 0xca, 0x99, 0x02, 0x57, 0x60, 0xc2, 0x22, 0x9e, 0xe1, 0x4e, 0x8d,
+  0x77, 0xbb, 0x21, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x30,
+  0x35, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x30, 0x35,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xb6, 0x62, 0x79, 0x48, 0x3a, 0x7d, 0xd1, 0xbc, 0x10, 0xb4, 0x66, 0x71, 0x34, 0x75, 0x72,
+  0x9c, 0x9e, 0x38, 0x1b, 0x65, 0x9f, 0x0b, 0x4f, 0xdc, 0x66, 0xb2, 0x46, 0x4b, 0x31, 0x30, 0xf6,
+  0xd6, 0xe4, 0x3d, 0x07, 0x95, 0x72, 0x4f, 0xec, 0x50, 0x3c, 0x22, 0x35, 0x43, 0xeb, 0x7c, 0xa1,
+  0x62, 0x17, 0xbd, 0xc7, 0xda, 0xe3, 0x6b, 0x7e, 0xe0, 0xb0, 0x02, 0x31, 0xd5, 0x33, 0x6c, 0xc6,
+  0xaf, 0x21, 0x54, 0x7f, 0x6f, 0xe6, 0x9b, 0x62, 0xc4, 0xde, 0xc5, 0x17, 0xf2, 0x5e, 0xad, 0x6a,
+  0xf6, 0x41, 0x96, 0xd8, 0x98, 0xd4, 0x85, 0xea, 0x58, 0x6b, 0x2f, 0x5d, 0xae, 0xc1, 0xcb, 0xc2,
+  0x7d, 0x9d, 0x03, 0xde, 0xd8, 0x24, 0x5b, 0xec, 0xb9, 0x0e, 0x56, 0x86, 0x19, 0x5e, 0x9c, 0xc4,
+  0x7f, 0xaa, 0x79, 0x37, 0xab, 0xca, 0x45, 0x66, 0x43, 0x6b, 0xab, 0xf9, 0xfa, 0x13, 0xdb, 0x05,
+  0xd2, 0x31, 0xc2, 0x40, 0xc3, 0xeb, 0x15, 0x2a, 0x09, 0x97, 0x7b, 0x87, 0xa2, 0x30, 0x1a, 0x66,
+  0x73, 0xf6, 0x93, 0x80, 0xaf, 0xfc, 0x1a, 0xba, 0xbf, 0x51, 0xdb, 0x06, 0x75, 0x46, 0xb7, 0xdc,
+  0x2c, 0xa4, 0x93, 0x58, 0x01, 0x4d, 0x95, 0x01, 0x81, 0x52, 0xe5, 0xd8, 0xf8, 0xc6, 0x53, 0x22,
+  0xee, 0xf1, 0x45, 0xe4, 0xfa, 0x7b, 0xac, 0x81, 0xd9, 0x98, 0x8d, 0x00, 0x03, 0xf0, 0xd3, 0x41,
+  0x91, 0xa9, 0x34, 0x40, 0xf5, 0xd2, 0x7a, 0xe3, 0x57, 0x67, 0x37, 0x6b, 0x27, 0x3b, 0x10, 0x21,
+  0x7c, 0xa2, 0x77, 0x57, 0xfe, 0x9b, 0x9f, 0x91, 0x3e, 0x8f, 0x19, 0x1b, 0x8b, 0xb3, 0xa7, 0x46,
+  0x45, 0xdb, 0x9e, 0xf6, 0x90, 0x1a, 0xa9, 0x9c, 0x64, 0xdc, 0xf3, 0x10, 0x2b, 0x32, 0x88, 0xb5,
+  0xd7, 0x3d, 0x94, 0x64, 0xfd, 0x0e, 0x15, 0xe8, 0x3a, 0x69, 0x33, 0x80, 0x7a, 0x31, 0xfc, 0x74,
+  0xc3, 0xa9, 0xfc, 0xad, 0xce, 0x6b, 0xe5, 0x38, 0xb3, 0x33, 0xf6, 0xc4, 0x48, 0x43, 0xf3, 0x81,
+  0xd0, 0xcd, 0x87, 0x54, 0x64, 0xf3, 0xbd, 0x96, 0x79, 0x36, 0x3a, 0x8c, 0x05, 0x80, 0xd8, 0x4c,
+  0x83, 0x73, 0x36, 0x31, 0xd9, 0x76, 0x62, 0xc1, 0x3d, 0x44, 0xe6, 0x02, 0xc9, 0x50, 0xa4, 0x01,
+  0x67, 0xb5, 0x77, 0xb9, 0x1c, 0x83, 0xb8, 0xe8, 0x16, 0x9d, 0x48, 0x70, 0x1e, 0xf0, 0x7c, 0x0f,
+  0x7c, 0x77, 0xac, 0x4b, 0xda, 0xd4, 0x2a, 0x10, 0x40, 0x2b, 0x7a, 0x5e, 0xba, 0x35, 0x83, 0xa9,
+  0x5a, 0x52, 0x18, 0x07, 0x73, 0x10, 0xaf, 0x09, 0x31, 0xd5, 0xdc, 0xdb, 0x80, 0xd0, 0xa7, 0x7b,
+  0x4f, 0x06, 0x47, 0x4f, 0x22, 0xd9, 0xb0, 0x8e, 0xca, 0x61, 0x17, 0x37, 0x97, 0x8b, 0x2f, 0xf0,
+  0xca, 0x68, 0x6d, 0xbf, 0x76, 0xfe, 0xe6, 0xe3, 0x47, 0xbd, 0xb4, 0xed, 0x7f, 0x32, 0x18, 0x82,
+  0xfd, 0x63, 0xb3, 0xf1, 0x99, 0xab, 0x57, 0x00, 0x7b, 0xe2, 0x62, 0x20, 0xb5, 0x17, 0x70, 0xa1,
+  0x3d, 0xf1, 0x94, 0x09, 0xcf, 0xde, 0x94, 0x9f, 0x7d, 0xc9, 0xd2, 0x08, 0x66, 0x04, 0x85, 0xa6,
+  0xb3, 0x63, 0xde, 0xce, 0x86, 0x05, 0x6e, 0x8c, 0x8e, 0x63, 0x06, 0xf2, 0x63, 0xd6, 0x97, 0x14,
+  0x46, 0x1e, 0xf0, 0x25, 0x63, 0xa1, 0x14, 0xaa, 0x68, 0x13, 0xaf, 0xd9, 0x5a, 0xd5, 0x10, 0x91,
+  0xe2, 0x2d, 0xff, 0x02, 0xb9, 0x5a, 0xec, 0x5a, 0x44, 0x6e, 0x48, 0xf7, 0x8b, 0x1b, 0x1c, 0x44,
+  0xac, 0x07, 0x69, 0x67, 0xc8, 0x23, 0x92, 0x74, 0xb3, 0x49, 0x84, 0xb0, 0xe9, 0xbc, 0xd8, 0xe9,
+  0x89, 0x6a, 0xf4, 0xc5, 0xe5, 0xf6, 0xb0, 0xa8, 0x2e, 0xaa, 0xb6, 0x90, 0x19, 0x0a, 0x5f, 0x5b,
+  0x58, 0xce, 0x8b, 0xe2, 0x4b, 0xee, 0x39, 0x74, 0x92, 0x90, 0xd1, 0x11, 0xb8, 0x36, 0x24, 0x42,
+  0x75, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26, 0x5f,
+  0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x73, 0xc0, 0x61, 0x65, 0x69, 0x11, 0xcc, 0xcd, 0x43, 0x26,
+  0x5f, 0x20, 0x0e, 0xc0, 0xb9, 0x08, 0xa3, 0x30, 0x25, 0xb0, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x57,
+  0x9d, 0x92, 0x11, 0x4a, 0x30, 0x8f, 0x17, 0x19, 0x0c, 0x97, 0xea, 0x4c, 0xd7, 0x93, 0x18, 0x28,
+  0x06, 0x09, 0x16, 0xc1, 0x26, 0x59, 0x58, 0x87, 0xee, 0x2a, 0x9f, 0x63, 0x32, 0xcb, 0x66, 0x44,
+  0xa0, 0xe1, 0x63, 0x8c, 0x54, 0x11, 0x5f, 0x73, 0xbd, 0xff, 0x6b, 0xb5, 0x0a, 0xec, 0x7c, 0xd1,
+  0x5c, 0x17, 0x6f, 0x32, 0x1a, 0x28, 0x0b, 0x63, 0xa6, 0x05, 0x9e, 0x13, 0x9b, 0x62, 0xa6, 0xca,
+  0xa5, 0xeb, 0x90, 0x3e, 0x99, 0xae, 0xdb, 0xf0, 0x6d, 0x38, 0x37, 0xf1, 0x29, 0xce, 0x6f, 0x15,
+  0xec, 0x5a, 0xb5, 0x00, 0xd3, 0x80, 0x08, 0xfa, 0x58, 0xa6, 0x82, 0xe6, 0x54, 0xc5, 0xf7, 0xcd,
+  0xa8, 0x0a, 0xc3, 0x1b, 0xf7, 0x60, 0x17, 0xc9, 0xe5, 0xd4, 0x24, 0xa8, 0xe4, 0x4d, 0x1f, 0xc7,
+  0x40, 0x2d, 0x2c, 0x49, 0x99, 0xc0, 0x17, 0xf9, 0x35, 0x63, 0x3c, 0xa1, 0x48, 0xc7, 0x8c, 0xc0,
+  0xc3, 0x6c, 0xf9, 0xb3, 0x83, 0x0d, 0xed, 0xf3, 0x78, 0x23, 0x5c, 0xfe, 0x7e, 0x78, 0x9a, 0x94,
+  0xc6, 0xa3, 0x5b, 0xb6, 0x03, 0xcd, 0x50, 0x92, 0xc3, 0x91, 0x0b, 0x34, 0xdd, 0x85, 0xbe, 0xef,
+  0xa9, 0x93, 0x31, 0x8f, 0x1e, 0xf2, 0x5e, 0xa8, 0xac, 0x0f, 0xcb, 0xf4, 0x60, 0x04, 0x5b, 0xed,
+  0xeb, 0xde, 0x35, 0x20, 0x7c, 0x7b, 0x62, 0xfb, 0xf5, 0x34, 0x1b, 0xab, 0x35, 0xbe, 0x55, 0xc3,
+  0x31, 0x06, 0x93, 0xb8, 0x48, 0x45, 0xd7, 0xa6, 0x41, 0xd4, 0x23, 0x6d, 0xfa, 0x0c, 0x90, 0x9e,
+  0x0b, 0xea, 0x5e, 0xed, 0xdf, 0xcb, 0x95, 0x0b, 0x96, 0x5f, 0x27, 0x6a, 0xee, 0xa7, 0x3e, 0x0d,
+  0xea, 0x88, 0x73, 0x0d, 0x37, 0x0e, 0xc5, 0xd9, 0x48, 0x2f, 0xcc, 0x25, 0x17, 0x1e, 0x61, 0xa8,
+  0xcd, 0x3d, 0x66, 0x73, 0xe3, 0xd4, 0x40, 0xa5, 0x46, 0x9b, 0x08, 0x55, 0xb2, 0x0f, 0x44, 0x85,
+  0xc3, 0xd9, 0x4f, 0xf9, 0xca, 0x1f, 0xba, 0x0d, 0x9d, 0xe1, 0xb3, 0x77, 0x3f, 0xc9, 0x82, 0xde,
+  0xbf, 0xff, 0xc1, 0x0f, 0xc8, 0x03, 0x4e, 0x39, 0x2b, 0x54, 0x60, 0xcf, 0x91, 0x75, 0xdc, 0x59,
+  0x39, 0xbc, 0x3f, 0x8d, 0x0c, 0xa3, 0xba, 0x3d, 0x77, 0x2d, 0x25, 0x79, 0x52, 0xcf, 0x5c, 0xef,
+  0xc1, 0x61, 0xe2, 0xf1, 0xd4, 0x63, 0x13, 0xbc, 0xf4, 0x53, 0x89, 0xed, 0x0d, 0x22, 0x18, 0x72,
+  0xf4, 0x30, 0x29, 0x1c, 0x04, 0x38, 0xf3, 0x4a, 0xc3, 0x24, 0xe1, 0x23, 0x90, 0xbb, 0x51, 0x38,
+  0x98, 0x73, 0x7c, 0x05, 0x07, 0x64, 0x01, 0x59, 0x2e, 0x85, 0x8d, 0xb6, 0xe8, 0x8f, 0xe4, 0xd8,
+  0x9a, 0xf9, 0xc4, 0x77, 0x07, 0xd2, 0x8b, 0x24, 0x51, 0x49, 0x9c, 0xf3, 0x90, 0x30, 0x14, 0xa7,
+  0xb4, 0xb5, 0xb7, 0xec, 0x35, 0x09, 0x0e, 0xd5, 0x09, 0xfd, 0x20, 0xcf, 0x86, 0x53, 0x2c, 0xaa,
+  0x43, 0x0e, 0x28, 0x6b, 0x5c, 0x11, 0x82, 0x8d, 0xec, 0x5d, 0x68, 0x9a, 0x3e, 0xd5, 0x20, 0xa2,
+  0xc9, 0x91, 0xcb, 0x27, 0xcd, 0xd0, 0x55, 0x55, 0xed, 0x1d, 0xfe, 0x33, 0x56, 0xe3, 0x19, 0x50,
+  0xf9, 0x6d, 0xb4, 0xd4, 0xaa, 0x31, 0x7f, 0xff, 0xc4, 0x22, 0xf1, 0xac, 0xb7, 0xc6, 0xe5, 0xc1,
+  0x51, 0x8b, 0xf9, 0xf2, 0x15, 0x2c, 0x72, 0xdb, 0x50, 0x85, 0xd8, 0x01, 0x7d, 0xc7, 0x85, 0xdb,
+  0x21, 0x47, 0x78, 0x4a, 0xcb, 0xdc, 0xcb, 0xa6, 0x50, 0x31, 0x35, 0xe9, 0x5e, 0xc3, 0x5d, 0x0a,
+  0xc3, 0xda, 0x61, 0x1a, 0x60, 0xd2, 0xd9, 0x2b, 0x3a, 0x7a, 0xc2, 0x92, 0x9c, 0x3b, 0x60, 0x1b,
+  0xb1, 0x71, 0x06, 0x00, 0x4a, 0x1f, 0x2e, 0x2f, 0xa2, 0xf9, 0x64, 0x5a, 0x2b, 0x15, 0x2c, 0xc0,
+  0xae, 0xf8, 0x4a, 0x5e, 0x46, 0xc0, 0xaa, 0xba, 0xe5, 0x7e, 0xa9, 0xbf, 0x26, 0x78, 0x46
+};
+
+UINT32 gPkRsa4096Sha256Size = sizeof(gPkRsa4096Sha256);
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
new file mode 100644
index 0000000000..5770e1b8bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/PkRsa4096Sha512.c
@@ -0,0 +1,219 @@
+/*
+ * Copyright 2020 Intel Corporation
+ * SPDX-License-Identifier: BSD-2-Clause-Patent
+ */
+/*
+ * This file is Auto generated by bin2arr
+ */
+
+#include <Uefi.h>
+
+UINT8 gPkRsa4096Sha512[] = {
+  0xe4, 0x07, 0x0c, 0x0a, 0x07, 0x0d, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x94, 0x07, 0x00, 0x00, 0x00, 0x02, 0xf1, 0x0e, 0x9d, 0xd2, 0xaf, 0x4a, 0xdf, 0x68, 0xee, 0x49,
+  0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7, 0x30, 0x82, 0x07, 0x78, 0x02, 0x01, 0x01, 0x31,
+  0x0f, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05, 0x00,
+  0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82, 0x04,
+  0xff, 0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14,
+  0x62, 0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2,
+  0xb8, 0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x0d, 0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02,
+  0x50, 0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33,
+  0x31, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01,
+  0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02,
+  0x01, 0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2,
+  0x7b, 0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61,
+  0xbf, 0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b,
+  0x41, 0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb,
+  0x37, 0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8,
+  0xdb, 0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70,
+  0xc0, 0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf,
+  0x27, 0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81,
+  0xd2, 0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8,
+  0xe3, 0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19,
+  0x88, 0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5,
+  0x55, 0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90,
+  0x90, 0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03,
+  0x7d, 0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8,
+  0x7e, 0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41,
+  0x78, 0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0,
+  0xd4, 0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0,
+  0x4b, 0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7,
+  0x00, 0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65,
+  0xb8, 0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5,
+  0xcc, 0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b,
+  0x06, 0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31,
+  0x65, 0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08,
+  0x4b, 0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69,
+  0xf4, 0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4,
+  0xb0, 0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3,
+  0xf4, 0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e,
+  0xa9, 0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58,
+  0x86, 0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6,
+  0x8a, 0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65,
+  0x8b, 0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0,
+  0x76, 0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44,
+  0xf4, 0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55,
+  0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+  0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f,
+  0x9a, 0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55,
+  0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09,
+  0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00,
+  0x72, 0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e,
+  0xe4, 0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00,
+  0x65, 0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47,
+  0xbf, 0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c,
+  0x11, 0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e,
+  0x81, 0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53,
+  0xff, 0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8,
+  0xc2, 0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b,
+  0x2a, 0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f,
+  0x90, 0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53,
+  0x3f, 0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43,
+  0x4e, 0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb,
+  0x21, 0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1,
+  0x25, 0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2,
+  0x5b, 0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94,
+  0xd4, 0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8,
+  0xe5, 0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b,
+  0xe5, 0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17,
+  0x4c, 0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb,
+  0x4b, 0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa,
+  0x12, 0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5,
+  0x98, 0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18,
+  0x28, 0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f,
+  0xed, 0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59,
+  0x97, 0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5,
+  0xeb, 0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d,
+  0xef, 0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4,
+  0x19, 0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00,
+  0x52, 0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90,
+  0x4d, 0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78,
+  0x13, 0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82,
+  0xca, 0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef,
+  0x31, 0x82, 0x02, 0x50, 0x30, 0x82, 0x02, 0x4c, 0x02, 0x01, 0x01, 0x30, 0x25, 0x30, 0x0d, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b, 0x02, 0x14, 0x62, 0x10,
+  0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8, 0x5a,
+  0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x03, 0x05,
+  0x00, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+  0x04, 0x82, 0x02, 0x00, 0xb2, 0xeb, 0xa6, 0xd3, 0xf6, 0x8b, 0xc3, 0x51, 0x8b, 0x6b, 0x65, 0x70,
+  0x69, 0xf8, 0x55, 0xf5, 0x19, 0x85, 0x08, 0x26, 0x34, 0x50, 0x26, 0xe0, 0x12, 0xb6, 0x62, 0x51,
+  0x4b, 0x2a, 0x65, 0x3f, 0x7c, 0x86, 0x45, 0x61, 0x7d, 0xcd, 0xad, 0x0a, 0xaa, 0xb5, 0x2d, 0x72,
+  0xf7, 0x3b, 0x19, 0x65, 0x1d, 0x6f, 0x0d, 0x4f, 0x2a, 0xdf, 0xe0, 0x43, 0xee, 0xb1, 0xb0, 0xb7,
+  0x19, 0xa8, 0x27, 0xad, 0x83, 0xa0, 0x54, 0xb4, 0x78, 0xc8, 0xc1, 0x79, 0x05, 0xac, 0x48, 0x2d,
+  0xc3, 0xe9, 0xb3, 0x9c, 0x75, 0x13, 0xae, 0x79, 0x91, 0xe3, 0xab, 0xe1, 0x9c, 0x8f, 0x39, 0x4d,
+  0xdd, 0xc9, 0x27, 0xbc, 0x5d, 0x81, 0x59, 0x2c, 0x07, 0xfd, 0xab, 0xda, 0x54, 0x07, 0x31, 0x12,
+  0xbb, 0xda, 0x4f, 0x76, 0x60, 0x42, 0xd0, 0xa1, 0xde, 0x53, 0xfb, 0x80, 0x4f, 0x69, 0x46, 0xf8,
+  0x30, 0xad, 0xd6, 0x04, 0x14, 0x98, 0x86, 0xe9, 0xcc, 0xa0, 0x9e, 0xd3, 0xb9, 0xcf, 0x28, 0x39,
+  0xdb, 0x4f, 0xfc, 0x9c, 0xa0, 0x30, 0x12, 0xad, 0x55, 0x0e, 0x77, 0x97, 0xf6, 0x1b, 0x89, 0x3e,
+  0x9c, 0x7e, 0x57, 0xbe, 0x1f, 0xc4, 0x58, 0x3b, 0x21, 0x78, 0x5f, 0x65, 0x0e, 0x76, 0x1e, 0x77,
+  0xeb, 0x14, 0x9d, 0xd6, 0x9e, 0xc4, 0xd5, 0xc4, 0x37, 0x39, 0xf3, 0xf2, 0x9d, 0x9f, 0x31, 0xde,
+  0x9d, 0x4f, 0x25, 0xc1, 0x8a, 0xdf, 0x31, 0x71, 0x23, 0xea, 0xe9, 0xa8, 0xee, 0xf3, 0xd7, 0x62,
+  0x7c, 0xae, 0x16, 0xe3, 0x9c, 0x92, 0xe6, 0x0a, 0x5c, 0x64, 0x0d, 0x34, 0x09, 0xd3, 0xc0, 0x3c,
+  0xe9, 0x8c, 0x83, 0x0f, 0x89, 0xb5, 0xb1, 0xc1, 0x78, 0x98, 0xea, 0xc3, 0x3b, 0x4a, 0xed, 0x76,
+  0x9d, 0xff, 0x33, 0xc5, 0x7c, 0x88, 0x0b, 0x0a, 0x32, 0xf8, 0x68, 0x9c, 0xe6, 0xbb, 0x45, 0x1f,
+  0xff, 0x02, 0xd4, 0xab, 0x04, 0xb0, 0x45, 0xa5, 0xdf, 0x10, 0x4a, 0x58, 0xb8, 0x99, 0xac, 0xcf,
+  0xd4, 0x85, 0x24, 0x8a, 0xbb, 0x20, 0x96, 0x1d, 0xc4, 0x96, 0x8f, 0xb4, 0xad, 0x7f, 0x0d, 0x5a,
+  0x56, 0xf9, 0xee, 0xa9, 0xbc, 0xdc, 0x05, 0xdc, 0x3b, 0xe9, 0x0d, 0x44, 0x78, 0x0b, 0x02, 0xa5,
+  0x62, 0x7f, 0x79, 0xce, 0x5e, 0x54, 0x74, 0xdd, 0x32, 0xd8, 0xbf, 0xc9, 0xbd, 0x30, 0x2b, 0x94,
+  0x1e, 0x26, 0xeb, 0x86, 0x75, 0x56, 0x00, 0xf9, 0xfa, 0xae, 0x81, 0xc4, 0x62, 0xcc, 0x07, 0x8d,
+  0xc5, 0x34, 0xe9, 0x05, 0x0a, 0xa2, 0x9a, 0x14, 0xe0, 0x2d, 0x4b, 0xb9, 0x23, 0xe6, 0x1c, 0x57,
+  0x7f, 0x32, 0xb9, 0x2d, 0xb1, 0xcf, 0x66, 0x33, 0x07, 0x89, 0xa0, 0x39, 0xbf, 0xf7, 0x13, 0xd3,
+  0xdb, 0x91, 0xfa, 0xca, 0x6d, 0x2d, 0x62, 0x66, 0xb7, 0xba, 0xe8, 0x8c, 0xf0, 0xbf, 0x06, 0x0f,
+  0xc2, 0x19, 0xf5, 0xbf, 0xa2, 0xef, 0xd6, 0x83, 0x5a, 0xcd, 0xe1, 0x85, 0xfe, 0x36, 0x55, 0x5f,
+  0xa2, 0xf7, 0x83, 0x29, 0xe5, 0xdd, 0x7d, 0xed, 0x03, 0x59, 0xfc, 0x55, 0xbb, 0xbc, 0x95, 0x4c,
+  0x38, 0xbc, 0xe7, 0xaa, 0xb9, 0x41, 0xff, 0x16, 0x02, 0x94, 0xf0, 0x91, 0x3c, 0x50, 0xe9, 0x36,
+  0xb2, 0xf9, 0x39, 0xb7, 0x1e, 0x99, 0xb9, 0xc1, 0xb6, 0x74, 0x02, 0xcd, 0x1d, 0x11, 0xd9, 0x65,
+  0x8c, 0x30, 0x79, 0x31, 0xce, 0xda, 0x90, 0x7e, 0x17, 0xf4, 0x33, 0x9f, 0x78, 0x09, 0xd6, 0x16,
+  0x23, 0x15, 0x19, 0x3b, 0x7c, 0x53, 0xe3, 0xec, 0x1b, 0x4f, 0xf5, 0x01, 0x01, 0x00, 0xa6, 0x83,
+  0x9a, 0xd7, 0x7a, 0x9f, 0x37, 0x09, 0x72, 0xdd, 0xc9, 0xd1, 0xc5, 0x65, 0x69, 0xc7, 0x43, 0x1f,
+  0x7e, 0x8c, 0x6c, 0x6e, 0x4a, 0xab, 0xd9, 0xf5, 0xee, 0xe0, 0x91, 0xae, 0xed, 0x4f, 0x2e, 0x52,
+  0x39, 0x04, 0xd2, 0x2e, 0xa1, 0x59, 0xc0, 0xa5, 0xe4, 0x94, 0xa7, 0x4a, 0x87, 0xb5, 0xab, 0x15,
+  0x5c, 0x2b, 0xf0, 0x72, 0x2b, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x05, 0x00, 0x00,
+  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x30, 0x82, 0x04, 0xfb, 0x30, 0x82, 0x02, 0xe3, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x62,
+  0x10, 0xfc, 0x73, 0x8d, 0x2e, 0xec, 0xe0, 0x17, 0x1d, 0x5f, 0xb7, 0xd7, 0xbd, 0xfe, 0xa2, 0xb8,
+  0x5a, 0x7f, 0xb2, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d,
+  0x05, 0x00, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50,
+  0x4b, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x32, 0x31, 0x30, 0x30, 0x31, 0x34, 0x33, 0x31,
+  0x32, 0x5a, 0x17, 0x0d, 0x33, 0x30, 0x31, 0x32, 0x30, 0x38, 0x30, 0x31, 0x34, 0x33, 0x31, 0x32,
+  0x5a, 0x30, 0x0d, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x02, 0x50, 0x4b,
+  0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x01, 0x05, 0x00, 0x03, 0x82, 0x02, 0x0f, 0x00, 0x30, 0x82, 0x02, 0x0a, 0x02, 0x82, 0x02, 0x01,
+  0x00, 0xcf, 0x28, 0xb4, 0x76, 0x60, 0xcf, 0xae, 0xfe, 0xfb, 0x82, 0xb3, 0xe9, 0x73, 0xf2, 0x7b,
+  0x95, 0xee, 0x5e, 0xb2, 0x2e, 0x91, 0x4e, 0x0b, 0x06, 0xbc, 0x92, 0xc1, 0xc3, 0xe3, 0x61, 0xbf,
+  0xbb, 0xca, 0x96, 0x79, 0x46, 0x7f, 0x04, 0x57, 0x3c, 0x5b, 0x5e, 0xcf, 0x91, 0x87, 0x6b, 0x41,
+  0x19, 0x6b, 0x20, 0x1e, 0x46, 0x25, 0x13, 0x42, 0x8a, 0x2c, 0x8e, 0x88, 0x98, 0xf4, 0xeb, 0x37,
+  0xd1, 0x3e, 0xa7, 0xb7, 0xd4, 0xdd, 0xb5, 0xa5, 0xab, 0xe3, 0x7b, 0x04, 0xe6, 0x7e, 0xb8, 0xdb,
+  0x39, 0x3b, 0x0b, 0x59, 0x76, 0xc7, 0x39, 0xeb, 0xe0, 0x60, 0x2c, 0x54, 0x82, 0x51, 0x70, 0xc0,
+  0xd5, 0xa7, 0x7d, 0x6a, 0x2b, 0x01, 0x2f, 0x12, 0xa5, 0x6b, 0x73, 0xca, 0x8d, 0xf7, 0xdf, 0x27,
+  0xb7, 0xf0, 0xca, 0xd7, 0x92, 0xd9, 0x98, 0xe8, 0x62, 0x7a, 0x03, 0x5b, 0x8c, 0x43, 0x81, 0xd2,
+  0x21, 0x21, 0x7f, 0xea, 0x4f, 0x20, 0x90, 0x81, 0x40, 0x00, 0x21, 0x77, 0x11, 0x0c, 0xb8, 0xe3,
+  0x0c, 0x35, 0xda, 0xcb, 0x24, 0x09, 0xb2, 0xf6, 0x14, 0x45, 0x6b, 0x7a, 0xeb, 0x9c, 0x19, 0x88,
+  0x34, 0xe4, 0xea, 0xca, 0xc8, 0x46, 0x5b, 0x65, 0xaf, 0x9a, 0xc1, 0x27, 0xdd, 0xca, 0xe5, 0x55,
+  0x63, 0x95, 0xdf, 0x61, 0xf1, 0xcf, 0x0a, 0xe9, 0x5b, 0xef, 0xb4, 0xbb, 0xed, 0x8a, 0x90, 0x90,
+  0x52, 0x66, 0xc2, 0x93, 0xbf, 0x0d, 0x98, 0x50, 0x97, 0xd0, 0xe1, 0xe0, 0x55, 0x42, 0x03, 0x7d,
+  0xa3, 0xd1, 0x5e, 0x40, 0x26, 0x05, 0x05, 0x48, 0x70, 0x1f, 0x84, 0xc8, 0xf7, 0x1a, 0xb8, 0x7e,
+  0x73, 0x0b, 0x86, 0x88, 0xf4, 0x4a, 0xf3, 0x9c, 0x63, 0x50, 0x07, 0xab, 0x22, 0x08, 0x41, 0x78,
+  0xe6, 0x80, 0x3f, 0x82, 0xa8, 0x54, 0x4f, 0xb6, 0x4b, 0xf1, 0xf4, 0xdd, 0x0d, 0x8e, 0xa0, 0xd4,
+  0x53, 0xa6, 0x2b, 0x8c, 0x73, 0xe1, 0x7f, 0xb1, 0xae, 0x8f, 0x5d, 0x3e, 0xa9, 0x3c, 0xd0, 0x4b,
+  0x1d, 0xc9, 0xe5, 0x54, 0x1a, 0x5c, 0x05, 0x3c, 0x3b, 0xea, 0xd6, 0x4b, 0x53, 0x3d, 0xa7, 0x00,
+  0xe8, 0x31, 0x66, 0x83, 0x96, 0x88, 0x85, 0x9f, 0x2b, 0xf5, 0x87, 0x41, 0x71, 0x50, 0x65, 0xb8,
+  0xa2, 0xe7, 0x38, 0x47, 0x93, 0x50, 0xd2, 0x05, 0x17, 0x5f, 0x43, 0x0e, 0x47, 0x0b, 0xb5, 0xcc,
+  0xba, 0x91, 0x7e, 0x91, 0x03, 0x77, 0xd0, 0x21, 0x3f, 0x15, 0x7f, 0xb9, 0xd2, 0xdf, 0x2b, 0x06,
+  0x1a, 0xd1, 0x71, 0x5a, 0xba, 0x30, 0x8b, 0xb5, 0x2b, 0xd0, 0x99, 0xf1, 0x41, 0x03, 0x31, 0x65,
+  0xb3, 0x44, 0x38, 0x10, 0x7c, 0xf8, 0xed, 0x28, 0x40, 0x2d, 0xd7, 0x05, 0xd9, 0xf1, 0x08, 0x4b,
+  0xa5, 0x93, 0xa9, 0x58, 0x76, 0xcf, 0x7e, 0x2c, 0x9d, 0x3e, 0xfa, 0x76, 0x9a, 0x81, 0x69, 0xf4,
+  0x11, 0x1e, 0x87, 0xbe, 0x94, 0xec, 0x5d, 0x82, 0x19, 0x15, 0xfa, 0x50, 0x4e, 0x7a, 0xb4, 0xb0,
+  0x33, 0xea, 0x15, 0x88, 0x67, 0xb4, 0x6d, 0x1b, 0x02, 0x30, 0xa5, 0xd6, 0xaf, 0x2b, 0xc3, 0xf4,
+  0x5c, 0x51, 0xe3, 0x4d, 0x9f, 0xf0, 0x1a, 0x89, 0xba, 0xcd, 0x1d, 0xdf, 0x3f, 0x8b, 0x0e, 0xa9,
+  0x14, 0x85, 0x95, 0xd8, 0xde, 0xdc, 0x12, 0x99, 0xe8, 0x96, 0x6e, 0xff, 0x3c, 0x7e, 0x58, 0x86,
+  0xe2, 0x92, 0x9e, 0x78, 0x36, 0xd3, 0x49, 0xd2, 0xd7, 0xfe, 0x72, 0x94, 0xce, 0x7a, 0xf6, 0x8a,
+  0x7d, 0x3a, 0xc0, 0xdd, 0xa3, 0x91, 0x30, 0xfa, 0xaa, 0xad, 0xaf, 0x92, 0xeb, 0x6b, 0x65, 0x8b,
+  0x26, 0x62, 0xdc, 0x50, 0x65, 0xce, 0x5a, 0x10, 0xaf, 0x3a, 0x62, 0xc6, 0x6f, 0x8e, 0xa0, 0x76,
+  0xb6, 0x80, 0x6a, 0x8a, 0xe2, 0xd5, 0x94, 0x7f, 0xbe, 0x91, 0xa4, 0x51, 0x80, 0x2d, 0x44, 0xf4,
+  0xcd, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d,
+  0x0e, 0x04, 0x16, 0x04, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a, 0x77,
+  0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+  0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xf0, 0x7a, 0x04, 0x6e, 0x0b, 0x56, 0x2a, 0x0c, 0x4f, 0x9a,
+  0x77, 0x3f, 0xe8, 0x69, 0xc8, 0xe9, 0x18, 0x8b, 0x7c, 0x44, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d,
+  0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+  0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0d, 0x05, 0x00, 0x03, 0x82, 0x02, 0x01, 0x00, 0x72,
+  0xc5, 0xad, 0xca, 0xc0, 0x23, 0xb2, 0x7d, 0xc1, 0x0d, 0x17, 0xd9, 0x2d, 0x95, 0xf0, 0x3e, 0xe4,
+  0xfd, 0xbf, 0xcc, 0x8b, 0xf3, 0x52, 0x24, 0xbf, 0x9f, 0xee, 0x6f, 0xac, 0x30, 0x8e, 0x00, 0x65,
+  0x11, 0x55, 0x42, 0x26, 0x9c, 0x29, 0x9a, 0x82, 0x3d, 0xab, 0x6e, 0x32, 0xe3, 0x96, 0x47, 0xbf,
+  0xe4, 0xa8, 0xb8, 0x8b, 0x14, 0x07, 0x4a, 0xbf, 0x60, 0xd3, 0x7b, 0x67, 0x38, 0x4f, 0x8c, 0x11,
+  0x09, 0x78, 0x1c, 0xeb, 0xea, 0xc6, 0x8b, 0xfa, 0xbe, 0x8c, 0x5b, 0x57, 0xa5, 0xbf, 0x2e, 0x81,
+  0xaa, 0xdc, 0x56, 0xe1, 0x98, 0xb8, 0x1a, 0x28, 0xbf, 0x15, 0xb6, 0xae, 0xe9, 0x86, 0x53, 0xff,
+  0xb8, 0xb5, 0x6e, 0x4b, 0x84, 0xed, 0xeb, 0xed, 0x93, 0xf9, 0x08, 0x69, 0x8e, 0xc2, 0xf8, 0xc2,
+  0x44, 0x5f, 0x17, 0x94, 0x36, 0xf3, 0x00, 0x6d, 0xa1, 0x52, 0xd7, 0x80, 0x43, 0xd5, 0x3b, 0x2a,
+  0x70, 0x21, 0xcc, 0xed, 0xc0, 0x96, 0x5b, 0x5f, 0x1e, 0xcb, 0x7b, 0x5a, 0x28, 0xd5, 0x3f, 0x90,
+  0x1b, 0x8c, 0x57, 0xd8, 0x4d, 0xcc, 0x43, 0x9c, 0x94, 0x4d, 0x99, 0xcd, 0x03, 0x1f, 0x53, 0x3f,
+  0xab, 0xb2, 0x56, 0x1e, 0x70, 0x36, 0xda, 0x4a, 0x16, 0xb7, 0xca, 0xbe, 0x4b, 0x3e, 0x43, 0x4e,
+  0x08, 0xb1, 0x39, 0x18, 0x55, 0x54, 0x1b, 0x29, 0x0a, 0xdf, 0x83, 0x01, 0x33, 0xb2, 0xdb, 0x21,
+  0x87, 0x52, 0xe1, 0xc8, 0x2b, 0x92, 0x5c, 0x3a, 0x9f, 0xc7, 0x3c, 0x01, 0x76, 0x75, 0xe1, 0x25,
+  0xef, 0x21, 0xbd, 0x21, 0xe3, 0x0a, 0x9c, 0x31, 0x45, 0xf5, 0x18, 0xc9, 0xef, 0x01, 0xe2, 0x5b,
+  0x9e, 0xd7, 0xd5, 0x69, 0xcd, 0x6e, 0x01, 0x6f, 0x24, 0x58, 0x7e, 0x15, 0xb2, 0x8e, 0x94, 0xd4,
+  0xef, 0xf6, 0xf6, 0x1d, 0xc1, 0xaa, 0x5c, 0xe6, 0xbb, 0xd8, 0x50, 0x25, 0x45, 0x86, 0xb8, 0xe5,
+  0x2b, 0x83, 0x75, 0xbe, 0x7a, 0xa0, 0x36, 0x04, 0x50, 0xec, 0xfa, 0xa8, 0xb1, 0x0f, 0x9b, 0xe5,
+  0x99, 0x15, 0x1d, 0xd3, 0x58, 0x9b, 0xa2, 0xc9, 0x94, 0xe1, 0x77, 0x16, 0x88, 0xcc, 0x17, 0x4c,
+  0x9b, 0xc5, 0x32, 0x33, 0xfa, 0x7c, 0xa3, 0x8e, 0xcd, 0xdf, 0xf6, 0x8f, 0xb5, 0x76, 0xfb, 0x4b,
+  0x7f, 0xe1, 0x09, 0x6b, 0x94, 0xfa, 0x1d, 0x4f, 0xab, 0xd4, 0x62, 0xe2, 0xe8, 0xb8, 0xfa, 0x12,
+  0xc8, 0x9f, 0x63, 0xf4, 0xb8, 0x7e, 0x74, 0x59, 0x9e, 0x88, 0x3d, 0x53, 0xba, 0x1b, 0xa5, 0x98,
+  0x97, 0xf9, 0x7d, 0xac, 0xf8, 0xf7, 0xdf, 0x16, 0x16, 0x4c, 0x9f, 0x0f, 0x82, 0x86, 0x18, 0x28,
+  0x6d, 0x50, 0xc3, 0x7e, 0xf2, 0x8f, 0x5e, 0xd9, 0x91, 0x14, 0x96, 0x8f, 0x38, 0x20, 0x9f, 0xed,
+  0xc4, 0x65, 0x10, 0x5b, 0x34, 0x51, 0xcc, 0x16, 0xbe, 0xd1, 0x53, 0xe4, 0x72, 0xc3, 0x59, 0x97,
+  0x1f, 0x65, 0xaa, 0xcd, 0xab, 0xa8, 0x00, 0x27, 0xee, 0x08, 0x84, 0x6b, 0xfb, 0x37, 0xc5, 0xeb,
+  0x81, 0x64, 0x0d, 0x3d, 0x8f, 0xe2, 0xa0, 0x92, 0x8e, 0x4d, 0xba, 0x52, 0xbb, 0xd3, 0x7d, 0xef,
+  0x75, 0x29, 0x01, 0x6a, 0x59, 0x3a, 0xe2, 0xab, 0x33, 0xde, 0x6b, 0xec, 0xa7, 0xd6, 0xc4, 0x19,
+  0xd3, 0x25, 0x2a, 0xa8, 0xd3, 0x18, 0x2c, 0x33, 0x1f, 0x70, 0x51, 0x0d, 0xaa, 0xe5, 0x00, 0x52,
+  0x74, 0x74, 0xdd, 0x44, 0x3a, 0xe5, 0x2c, 0x87, 0xd5, 0x6d, 0x4c, 0x35, 0x98, 0x14, 0x90, 0x4d,
+  0xd7, 0xd4, 0xb9, 0x12, 0x20, 0xe8, 0xfe, 0xd3, 0x2d, 0x38, 0xdf, 0xef, 0x25, 0x5c, 0x78, 0x13,
+  0x18, 0x02, 0xbd, 0xfb, 0xfb, 0xf5, 0x5c, 0x6f, 0xc2, 0xad, 0xba, 0xe5, 0x42, 0x09, 0x82, 0xca,
+  0x7d, 0xb2, 0x41, 0x35, 0x96, 0x48, 0x8d, 0xd9, 0x4c, 0xce, 0x29, 0xd6, 0xf0, 0x9e, 0xef
+};
+
+UINT32 gPkRsa4096Sha512Size = sizeof(gPkRsa4096Sha512);
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 90165ca443..dc5ef1c3e3 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -19,6 +19,8 @@
   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
   SKUID_IDENTIFIER               = DEFAULT

+!include UnitTestFrameworkPkg\UnitTestFrameworkPkgHost.dsc.inc
+
 [LibraryClasses]
   #
   # Entry point
@@ -433,6 +435,8 @@
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf
   MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf

+  MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
+
 [Components.IA32, Components.X64, Components.AARCH64]
   MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
   MdeModulePkg/Universal/EbcDxe/EbcDebugger.inf
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
new file mode 100644
index 0000000000..b4196ae3bc
--- /dev/null
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/UnitTest/AuthVarUnitTestUefiShell.inf
@@ -0,0 +1,42 @@
+## @file
+# Authenticated Variable UnitTest built for execution in UEFI Shell.
+#
+# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+[Defines]
+  INF_VERSION    = 0x00010006
+  BASE_NAME      = AuthVarUnitTestUefiShell
+  FILE_GUID      = 43CED9D0-9F5A-4E1E-BAE8-DE1729CBF0C8
+  MODULE_TYPE    = UEFI_APPLICATION
+  VERSION_STRING = 1.0
+  ENTRY_POINT    = AuthVarUnitTestEntryPoint
+
+[Sources]
+  PkRsa2048Sha256.c
+  PkNewRsa2048Sha256.c
+  PkRsa3072Sha256.c
+  PkNewRsa3072Sha256.c
+  PkRsa4096Sha256.c
+  PkNewRsa4096Sha256.c
+  PkRsa3072Sha384.c
+  PkNewRsa3072Sha384.c
+  PkRsa4096Sha512.c
+  PkNewRsa4096Sha512.c
+  AuthVarUnitTest.c
+
+[Guids]
+  gEfiGlobalVariableGuid
+  gEfiCustomModeEnableGuid
+
+[Packages]
+  MdePkg/MdePkg.dec
+  MdeModulePkg/MdeModulePkg.dec
+  SecurityPkg/SecurityPkg.dec
+
+[LibraryClasses]
+  UnitTestLib
+  UefiApplicationEntryPoint
+  UefiRuntimeServicesTableLib
--
2.16.2.windows.1






[-- Attachment #2: Type: text/html, Size: 234793 bytes --]

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-12-10  7:56 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-09 18:32 [Patch 0/2] Extending the signing algorithms for Authenticated Variables Wadhawan, Divneil R
2020-12-09 18:32 ` [Patch 1/2] MdeModulePkg: Add unit test " Wadhawan, Divneil R
2020-12-09 20:18   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-12-10  7:56     ` Wadhawan, Divneil R
2020-12-09 18:32 ` [Patch 2/2] SecurityPkg: Add support for SHA-384/SHA-512 digest algos Wadhawan, Divneil R
2020-12-09 20:21   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-12-09 21:46     ` Michael D Kinney
2020-12-09 22:28       ` Yao, Jiewen
2020-12-09 18:49 ` [edk2-devel] [Patch 0/2] Extending the signing algorithms for Authenticated Variables Michael D Kinney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox