[edk2] [edk2-test][v2 Patch 1/3] uefi-sct/SctPkg:Format code style in PKCS7Verify

Eric Jin eric.jin at intel.com
Sun Dec 2 23:54:18 PST 2018


Convert EOL to Windows(CRLF)
Remove trailing white spaces
Make sure a new empty line in end of the file
Replace '\t' with two spaces
Change to the latest INF version
Remove the #if 0 #endif block
Remove the extra line breaks

Cc: Supreeth Venkatesh <supreeth.venkatesh at arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin <eric.jin at intel.com>
---
 .../EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c   |   88 +-
 .../EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h   |  168 ++-
 .../PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf       |  126 +--
 .../BlackBoxTest/Pkcs7BBTestConformance.c          | 1004 +++++++++--------
 .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c     | 1130 ++++++++++----------
 .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c |  467 ++++----
 .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c     |  440 ++++----
 .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h     |  229 ++--
 8 files changed, 1798 insertions(+), 1854 deletions(-)

diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c
index c31d3d2..142f6d4 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c
@@ -1,44 +1,44 @@
-/** @file
-
-  Copyright 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
- Module Name:
-
-   Guid.c
-
- Abstract:
-
-   GUIDs auto-generated for EFI test assertion.
-
---*/
-
-#include "Pkcs7BBTestMain.h"
-
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid001 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_001_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid002 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_002_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid003 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_003_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid004 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_004_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid005 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_005_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid006 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_006_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid007 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_007_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid008 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_008_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid009 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_009_GUID;
-EFI_GUID gPkcs7BBTestConformanceAssertionGuid010 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_010_GUID;
-
-
-EFI_GUID gPkcs7BBTestFunctionAssertionGuid001 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_001_GUID;
-EFI_GUID gPkcs7BBTestFunctionAssertionGuid002 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_002_GUID;
-EFI_GUID gPkcs7BBTestFunctionAssertionGuid003 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_003_GUID;
-EFI_GUID gPkcs7BBTestFunctionAssertionGuid004 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_004_GUID;
\ No newline at end of file
+/** @file
+
+  Copyright 2016 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+ Module Name:
+
+   Guid.c
+
+ Abstract:
+
+   GUIDs auto-generated for EFI test assertion.
+
+--*/
+
+#include "Pkcs7BBTestMain.h"
+
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid001 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_001_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid002 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_002_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid003 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_003_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid004 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_004_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid005 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_005_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid006 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_006_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid007 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_007_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid008 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_008_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid009 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_009_GUID;
+EFI_GUID gPkcs7BBTestConformanceAssertionGuid010 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_010_GUID;
+
+
+EFI_GUID gPkcs7BBTestFunctionAssertionGuid001 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_001_GUID;
+EFI_GUID gPkcs7BBTestFunctionAssertionGuid002 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_002_GUID;
+EFI_GUID gPkcs7BBTestFunctionAssertionGuid003 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_003_GUID;
+EFI_GUID gPkcs7BBTestFunctionAssertionGuid004 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_004_GUID;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h
index 2165cce..ce980c9 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h
@@ -1,85 +1,83 @@
-/** @file
-
-  Copyright 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
- Module Name:
-
-   Guid.h
-
- Abstract:
-
-   GUIDs auto-generated for EFI test assertion.
-
---*/
-
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_001_GUID \
-{ 0x5ccc7dff, 0xc397, 0x4733, {0xb6, 0xc7, 0x88, 0xc4, 0x3e, 0x80, 0x6a, 0x67 }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid001;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_002_GUID \
-{ 0xb1f546c3, 0x4e, 0x4e33, {0xb1, 0x81, 0x76, 0xf3, 0xf8, 0xb1, 0xd6, 0x5b }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid002;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_003_GUID \
-{ 0xf9382c57, 0xd51d, 0x4ba9, {0x91, 0x41, 0x30, 0xc6, 0x28, 0x8b, 0xd3, 0x64 }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid003;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_004_GUID \
-{ 0x3b322e30, 0x8378, 0x441a, {0xba, 0x1d, 0xee, 0xe5, 0x53, 0xda, 0x21, 0x49 }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid004;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_005_GUID \
-{ 0xdfe02003, 0xb2ad, 0x46bc, {0xae, 0xe0, 0xf9, 0xb8, 0xd0, 0xec, 0xd3, 0x4a }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid005;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_006_GUID \
-{ 0x8de626c4, 0x7112, 0x4a57, {0xb2, 0xbb, 0x30, 0xc, 0x5f, 0x2a, 0xc1, 0x8e }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid006;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_007_GUID \
-{ 0x399e1246, 0xd15a, 0x491a, {0xbb, 0x82, 0x99, 0xa4, 0xda, 0xb3, 0xac, 0x28 }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid007;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_008_GUID \
-{ 0x670b4eab, 0xf28d, 0x42db, {0xa7, 0xbc, 0xad, 0xd, 0x59, 0x80, 0x49, 0xaf }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid008;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_009_GUID \
-{ 0xfd98e4e5, 0xf8af, 0x4dcf, {0x81, 0x1a, 0x6c, 0xf4, 0x99, 0x8a, 0x3, 0x9d }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid009;
-
-#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_010_GUID \
-{ 0xb136e016, 0x4f80, 0x44bd, {0xba, 0xb0, 0x1c, 0x34, 0x8a, 0x2d, 0xa1, 0x8a }}
-extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid010;
-
-
-#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_001_GUID \
-{ 0x5c0eec50, 0xa6ea, 0x413c, {0x8a, 0x46, 0x4a, 0xd1, 0x4a, 0x77, 0x76, 0xf1 }}
-extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid001;
-
-#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_002_GUID \
-{ 0x6ea61fbd, 0x1e46, 0x4854, {0x83, 0xf8, 0x22, 0x93, 0x24, 0x1a, 0x38, 0x67 }}
-extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid002;
-
-#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_003_GUID \
-{ 0x51af2845, 0x1bfe, 0x4bc3, {0x90, 0x69, 0x7b, 0x29, 0xbc, 0x7c, 0xc3, 0xc6 }}
-extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid003;
-
-#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_004_GUID \
-{ 0x912e23ef, 0x299c, 0x41ab, {0xa0, 0xf5, 0xfc, 0xbc, 0xf6, 0xfd, 0xd3, 0x32 }}
-extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid004;
-
-
+/** @file
+
+  Copyright 2016 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+ Module Name:
+
+   Guid.h
+
+ Abstract:
+
+   GUIDs auto-generated for EFI test assertion.
+
+--*/
+
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_001_GUID \
+{ 0x5ccc7dff, 0xc397, 0x4733, {0xb6, 0xc7, 0x88, 0xc4, 0x3e, 0x80, 0x6a, 0x67 }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid001;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_002_GUID \
+{ 0xb1f546c3, 0x4e, 0x4e33, {0xb1, 0x81, 0x76, 0xf3, 0xf8, 0xb1, 0xd6, 0x5b }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid002;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_003_GUID \
+{ 0xf9382c57, 0xd51d, 0x4ba9, {0x91, 0x41, 0x30, 0xc6, 0x28, 0x8b, 0xd3, 0x64 }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid003;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_004_GUID \
+{ 0x3b322e30, 0x8378, 0x441a, {0xba, 0x1d, 0xee, 0xe5, 0x53, 0xda, 0x21, 0x49 }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid004;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_005_GUID \
+{ 0xdfe02003, 0xb2ad, 0x46bc, {0xae, 0xe0, 0xf9, 0xb8, 0xd0, 0xec, 0xd3, 0x4a }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid005;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_006_GUID \
+{ 0x8de626c4, 0x7112, 0x4a57, {0xb2, 0xbb, 0x30, 0xc, 0x5f, 0x2a, 0xc1, 0x8e }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid006;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_007_GUID \
+{ 0x399e1246, 0xd15a, 0x491a, {0xbb, 0x82, 0x99, 0xa4, 0xda, 0xb3, 0xac, 0x28 }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid007;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_008_GUID \
+{ 0x670b4eab, 0xf28d, 0x42db, {0xa7, 0xbc, 0xad, 0xd, 0x59, 0x80, 0x49, 0xaf }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid008;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_009_GUID \
+{ 0xfd98e4e5, 0xf8af, 0x4dcf, {0x81, 0x1a, 0x6c, 0xf4, 0x99, 0x8a, 0x3, 0x9d }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid009;
+
+#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_010_GUID \
+{ 0xb136e016, 0x4f80, 0x44bd, {0xba, 0xb0, 0x1c, 0x34, 0x8a, 0x2d, 0xa1, 0x8a }}
+extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid010;
+
+
+#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_001_GUID \
+{ 0x5c0eec50, 0xa6ea, 0x413c, {0x8a, 0x46, 0x4a, 0xd1, 0x4a, 0x77, 0x76, 0xf1 }}
+extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid001;
+
+#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_002_GUID \
+{ 0x6ea61fbd, 0x1e46, 0x4854, {0x83, 0xf8, 0x22, 0x93, 0x24, 0x1a, 0x38, 0x67 }}
+extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid002;
+
+#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_003_GUID \
+{ 0x51af2845, 0x1bfe, 0x4bc3, {0x90, 0x69, 0x7b, 0x29, 0xbc, 0x7c, 0xc3, 0xc6 }}
+extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid003;
+
+#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_004_GUID \
+{ 0x912e23ef, 0x299c, 0x41ab, {0xa0, 0xf5, 0xfc, 0xbc, 0xf6, 0xfd, 0xd3, 0x32 }}
+extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid004;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf
index e54a185..1b89bed 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf
@@ -1,63 +1,63 @@
-## @file
-#
-#  Copyright 2016 Unified EFI, Inc.<BR>
-#  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-#
-#  This program and the accompanying materials
-#  are licensed and made available under the terms and conditions of the BSD License
-#  which accompanies this distribution.  The full text of the license may be found at 
-#  http://opensource.org/licenses/bsd-license.php
-# 
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-# 
-##
-#/*++
-#
-# Module Name:
-#
-#   Pkcs7BBTest.inf
-#
-# Abstract:
-#
-#   Component description file for Pkcs7 Verify Protocol Black-Box Test.
-#
-#--*/
-
-[defines]
-  INF_VERSION          = 0x00010005
-  BASE_NAME            = Pkcs7BBTest
-  FILE_GUID            = 00A8E76D-1CD9-465a-AE5B-B9998F887D65
-  MODULE_TYPE          = UEFI_DRIVER
-  VERSION_STRING       = 1.0
-  ENTRY_POINT          = InitializePkcs7VerifyBBTest
-
-[sources.common]
-  Pkcs7BBTestConformance.c
-  Pkcs7BBTestFunction.c
-  Pkcs7BBTestMain.c
-  Pkcs7BBTestData.c
-  Guid.c
-  
-[Packages]
-  MdePkg/MdePkg.dec
-  SctPkg/SctPkg.dec
-  SctPkg/UEFI/UEFI.dec
-
-[LibraryClasses]
-  UefiDriverEntryPoint
-  SctLib
-  EfiTestLib
-
-[Protocols]
-  gBlackBoxEfiPkcs7VerifyProtocolGuid
-
-[Guids]
-  gBlackBoxEfiCertSha256Guid
-  gBlackBoxEfiCertRsa2048Guid
-  gBlackBoxEfiCertRsa2048Sha256Guid
-  gBlackBoxEfiCertSha1Guid
-  gBlackBoxEfiCertRsa2048Sha1Guid
-  gBlackBoxEfiCertX509Guid
-  gBlackBoxEfiCertX509Sha256Guid
-  
+## @file
+#
+#  Copyright 2016 Unified EFI, Inc.<BR>
+#  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+#
+#  This program and the accompanying materials
+#  are licensed and made available under the terms and conditions of the BSD License
+#  which accompanies this distribution.  The full text of the license may be found at
+#  http://opensource.org/licenses/bsd-license.php
+#
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+##
+#/*++
+#
+# Module Name:
+#
+#   Pkcs7BBTest.inf
+#
+# Abstract:
+#
+#   Component description file for Pkcs7 Verify Protocol Black-Box Test.
+#
+#--*/
+
+[defines]
+  INF_VERSION          = 0x0001001B
+  BASE_NAME            = Pkcs7BBTest
+  FILE_GUID            = 00A8E76D-1CD9-465a-AE5B-B9998F887D65
+  MODULE_TYPE          = UEFI_DRIVER
+  VERSION_STRING       = 1.0
+  ENTRY_POINT          = InitializePkcs7VerifyBBTest
+
+[sources.common]
+  Pkcs7BBTestConformance.c
+  Pkcs7BBTestFunction.c
+  Pkcs7BBTestMain.c
+  Pkcs7BBTestData.c
+  Guid.c
+
+[Packages]
+  MdePkg/MdePkg.dec
+  SctPkg/SctPkg.dec
+  SctPkg/UEFI/UEFI.dec
+
+[LibraryClasses]
+  UefiDriverEntryPoint
+  SctLib
+  EfiTestLib
+
+[Protocols]
+  gBlackBoxEfiPkcs7VerifyProtocolGuid
+
+[Guids]
+  gBlackBoxEfiCertSha256Guid
+  gBlackBoxEfiCertRsa2048Guid
+  gBlackBoxEfiCertRsa2048Sha256Guid
+  gBlackBoxEfiCertSha1Guid
+  gBlackBoxEfiCertRsa2048Sha1Guid
+  gBlackBoxEfiCertX509Guid
+  gBlackBoxEfiCertX509Sha256Guid
+
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestConformance.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestConformance.c
index a5a90f0..1dc9921 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestConformance.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestConformance.c
@@ -1,510 +1,504 @@
-/** @file
-
-  Copyright 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
-Module Name:
-
-    Pkcs7BBTestConformance.c
-
-Abstract:
-
-    for EFI Driver Pkcs7 Verify Protocol's Conformance Test
-
---*/
-
-#include "Pkcs7BBTestMain.h"
-
-extern EFI_SIGNATURE_LIST    *DbEntry1;
-extern EFI_SIGNATURE_LIST    *DbEntry2;
-extern EFI_SIGNATURE_LIST    *DbEntry3;
-extern EFI_SIGNATURE_LIST    *DbEntry4;
-extern EFI_SIGNATURE_LIST    *DbEntry5;
-
-extern EFI_SIGNATURE_LIST    *AllowedDb[3];
-extern EFI_SIGNATURE_LIST    *RevokedDb[3];
-extern EFI_SIGNATURE_LIST    *TimestampDb[3];
-
-EFI_STATUS
-BBTestVerifyBufferConformanceTest (
-  IN EFI_BB_TEST_PROTOCOL    *This,
-  IN VOID                    *ClientInterface,
-  IN EFI_TEST_LEVEL          TestLevel,
-  IN EFI_HANDLE              SupportHandle
-  )
-{
-  EFI_STANDARD_TEST_LIBRARY_PROTOCOL    *StandardLib;
-  EFI_STATUS                            Status, Status1, Status2, Status3, Status4, Status5, Status6, Status7, Status8;
-  EFI_PKCS7_VERIFY_PROTOCOL             *Pkcs7Verify;
-  EFI_TEST_ASSERTION                    AssertionType;
-  UINT8                                 Content[10];
-
-  Pkcs7Verify = (EFI_PKCS7_VERIFY_PROTOCOL*)ClientInterface;
-  if (Pkcs7Verify == NULL)
-  	return EFI_UNSUPPORTED;
-
-  //
-  // Get the Standard Library Interface
-  //
+/** @file
+
+  Copyright 2016 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+Module Name:
+
+    Pkcs7BBTestConformance.c
+
+Abstract:
+
+    for EFI Driver Pkcs7 Verify Protocol's Conformance Test
+
+--*/
+
+#include "Pkcs7BBTestMain.h"
+
+extern EFI_SIGNATURE_LIST    *DbEntry1;
+extern EFI_SIGNATURE_LIST    *DbEntry2;
+extern EFI_SIGNATURE_LIST    *DbEntry3;
+extern EFI_SIGNATURE_LIST    *DbEntry4;
+extern EFI_SIGNATURE_LIST    *DbEntry5;
+
+extern EFI_SIGNATURE_LIST    *AllowedDb[3];
+extern EFI_SIGNATURE_LIST    *RevokedDb[3];
+extern EFI_SIGNATURE_LIST    *TimestampDb[3];
+
+EFI_STATUS
+BBTestVerifyBufferConformanceTest (
+  IN EFI_BB_TEST_PROTOCOL    *This,
+  IN VOID                    *ClientInterface,
+  IN EFI_TEST_LEVEL          TestLevel,
+  IN EFI_HANDLE              SupportHandle
+  )
+{
+  EFI_STANDARD_TEST_LIBRARY_PROTOCOL    *StandardLib;
+  EFI_STATUS                            Status, Status1, Status2, Status3, Status4, Status5, Status6, Status7, Status8;
+  EFI_PKCS7_VERIFY_PROTOCOL             *Pkcs7Verify;
+  EFI_TEST_ASSERTION                    AssertionType;
+  UINT8                                 Content[10];
+
+  Pkcs7Verify = (EFI_PKCS7_VERIFY_PROTOCOL*)ClientInterface;
+  if (Pkcs7Verify == NULL)
+    return EFI_UNSUPPORTED;
+
+  //
+  // Get the Standard Library Interface
+  //
   Status = gtBS->HandleProtocol (
                    SupportHandle,
                    &gEfiStandardTestLibraryGuid,
                    (VOID **) &StandardLib
                    );
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  AllowedDb[0] = DbEntry1;
-
-  // SignedData is NULL
-  Status1 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, NULL, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  Status2 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, NULL, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-
-  // SignedDataSize is 0
-  Status3 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, 0, NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  Status4 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, 0, TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-
-  // Content is not NULL and ContentSize is NULL.
-  Status5 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, NULL);
-  Status6 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, NULL);
-
-  // AllowedDb is NULL
-  AllowedDb[0] = NULL;
-  Status7 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, NULL, RevokedDb, TimestampDb, NULL, 0);
-  Status8 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), NULL, RevokedDb, TimestampDb, NULL, 0);
-  
-  
-  if ((Status1 == EFI_INVALID_PARAMETER) && (Status2 == EFI_INVALID_PARAMETER) && (Status3 == EFI_INVALID_PARAMETER) && (Status4 == EFI_INVALID_PARAMETER) &&
-  	(Status5 == EFI_INVALID_PARAMETER) && (Status6 == EFI_INVALID_PARAMETER) && (Status7 == EFI_INVALID_PARAMETER) && (Status8 == EFI_INVALID_PARAMETER))
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid001 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_INVALID_PARAMETER.",
-                 L"%a:%d: Status1 - %r, Status2 - %r, Status3 - %r, Status4 - %r, Status5 - %r, Status6 - %r, Status7 - %r, Status8 - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status1,
-                 Status2,
-                 Status3,
-                 Status4,
-                 Status5,
-                 Status6,
-                 Status7,
-                 Status8
-                 );
-
-  //
-  // Conformance test with EmbeddedData
-  //
-  
-  // SignedData buffer is not correctly formatted for processing by the function.
-  P7Embedded[0] = 0x40;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  P7Embedded[0] = 0x30;
-  
-  if (Status == EFI_UNSUPPORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid002 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when SignedData buffer is not correctly formatted for processing.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  // Unsupported or invalid format in AllowedDb
-  DbEntry1->SignatureListSize = 16;
-  AllowedDb[0] = DbEntry1;
-  
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  AllowedDb[0] = NULL;
-  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);;
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid003 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  // Unsupported or invalid format in RevokedDb
-  DbEntry1->SignatureListSize = 16;
-  RevokedDb[0] = DbEntry1;
-  
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  RevokedDb[0] = NULL;
-  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid004 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  
-  // Unsupported or invalid format in TimeStampDb
-  DbEntry3->SignatureListSize = 16;
-  RevokedDb[0]   = DbEntry1;
-  AllowedDb[0]   = DbEntry1;
-  TimestampDb[0] = DbEntry3;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  RevokedDb[0]   = NULL;
-  AllowedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-  
-  DbEntry3->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid005 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in TimeStampDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-
-
-  // Buffer is correctly formatted but signer is not in AllowedDb.
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid006 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is not in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-  // Buffer is correctly formatted but signer is in RevokedDb.
-  AllowedDb[0] = DbEntry2;
-  RevokedDb[0] = DbEntry2;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid007 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  // Buffer is correctly formatted but the content hash is in RevokedDb.
-  AllowedDb[0] = DbEntry2;
-  RevokedDb[0] = DbEntry4;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid008 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but the content hash is in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-
-  
-
-
-  // Signed data embedded in SignedData but InData is not NULL
-  AllowedDb[0] = DbEntry1;
-  RevokedDb[0] = NULL;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_UNSUPPORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid009 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when Signed data embedded in SignedData but InData is not NULL.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-
-  //
-  // Conformance test with DetachedData
-  //
-
-  // SignedData buffer is not correctly formatted for processing by the function.
-  P7Detached[0] = 0x40;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  P7Detached[0] = 0x30;
-  
-  if (Status == EFI_UNSUPPORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid002 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when SignedData buffer is not correctly formatted for processing.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  // Content not found because InData is NULL and no content embedded in SignedData.
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_NOT_FOUND)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid010 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_NOT_FOUND when InData is NULL and no content embedded in SignedData.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );    
-
-  // Unsupported or invalid format in AllowedDb
-  DbEntry1->SignatureListSize = 16;
-  AllowedDb[0] = DbEntry1;
-  
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  AllowedDb[0] = NULL;
-  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);;
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid003 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-
-  // Unsupported or invalid format in RevokedDb
-  DbEntry1->SignatureListSize = 16;
-  RevokedDb[0] = DbEntry1;
-  
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  RevokedDb[0] = NULL;  
-  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid004 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-
-  // Unsupported or invalid format in TimeStampDb
-  DbEntry3->SignatureListSize = 16;
-  RevokedDb[0]   = DbEntry1;
-  AllowedDb[0]   = DbEntry1;
-  TimestampDb[0] = DbEntry3;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  RevokedDb[0]   = NULL;
-  AllowedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-  
-  DbEntry3->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
-
-  if (Status == EFI_ABORTED)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid005 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in TimeStampDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-  
-  // Buffer is correctly formatted but signer is not in AllowedDb.
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid006 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is not in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-  // Buffer is correctly formatted but signer is in RevokedDb.
-  AllowedDb[0] = DbEntry2;
-  RevokedDb[0] = DbEntry2;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid007 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  // Buffer is correctly formatted but the content hash is in RevokedDb.
-  AllowedDb[0] = DbEntry2;
-  RevokedDb[0] = DbEntry4;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-  if (Status == EFI_SECURITY_VIOLATION)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestConformanceAssertionGuid008 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but the content hash is in RevokedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-  
-  return EFI_SUCCESS;
-}
-
-
+  if (EFI_ERROR(Status)) {
+    return Status;
+  }
+
+  AllowedDb[0] = DbEntry1;
+
+  // SignedData is NULL
+  Status1 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, NULL, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  Status2 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, NULL, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+
+  // SignedDataSize is 0
+  Status3 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, 0, NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  Status4 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, 0, TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+
+  // Content is not NULL and ContentSize is NULL.
+  Status5 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, NULL);
+  Status6 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, NULL);
+
+  // AllowedDb is NULL
+  AllowedDb[0] = NULL;
+  Status7 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, NULL, RevokedDb, TimestampDb, NULL, 0);
+  Status8 = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), NULL, RevokedDb, TimestampDb, NULL, 0);
+
+
+  if ((Status1 == EFI_INVALID_PARAMETER) && (Status2 == EFI_INVALID_PARAMETER) && (Status3 == EFI_INVALID_PARAMETER) && (Status4 == EFI_INVALID_PARAMETER) &&
+    (Status5 == EFI_INVALID_PARAMETER) && (Status6 == EFI_INVALID_PARAMETER) && (Status7 == EFI_INVALID_PARAMETER) && (Status8 == EFI_INVALID_PARAMETER))
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid001 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_INVALID_PARAMETER.",
+                 L"%a:%d: Status1 - %r, Status2 - %r, Status3 - %r, Status4 - %r, Status5 - %r, Status6 - %r, Status7 - %r, Status8 - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status1,
+                 Status2,
+                 Status3,
+                 Status4,
+                 Status5,
+                 Status6,
+                 Status7,
+                 Status8
+                 );
+
+  //
+  // Conformance test with EmbeddedData
+  //
+
+  // SignedData buffer is not correctly formatted for processing by the function.
+  P7Embedded[0] = 0x40;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  P7Embedded[0] = 0x30;
+
+  if (Status == EFI_UNSUPPORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid002 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when SignedData buffer is not correctly formatted for processing.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Unsupported or invalid format in AllowedDb
+  DbEntry1->SignatureListSize = 16;
+  AllowedDb[0] = DbEntry1;
+
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  AllowedDb[0] = NULL;
+  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);;
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid003 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Unsupported or invalid format in RevokedDb
+  DbEntry1->SignatureListSize = 16;
+  RevokedDb[0] = DbEntry1;
+
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  RevokedDb[0] = NULL;
+  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid004 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+
+  // Unsupported or invalid format in TimeStampDb
+  DbEntry3->SignatureListSize = 16;
+  RevokedDb[0]   = DbEntry1;
+  AllowedDb[0]   = DbEntry1;
+  TimestampDb[0] = DbEntry3;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  RevokedDb[0]   = NULL;
+  AllowedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  DbEntry3->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid005 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in TimeStampDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+
+  // Buffer is correctly formatted but signer is not in AllowedDb.
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid006 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is not in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Buffer is correctly formatted but signer is in RevokedDb.
+  AllowedDb[0] = DbEntry2;
+  RevokedDb[0] = DbEntry2;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid007 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Buffer is correctly formatted but the content hash is in RevokedDb.
+  AllowedDb[0] = DbEntry2;
+  RevokedDb[0] = DbEntry4;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid008 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but the content hash is in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Signed data embedded in SignedData but InData is not NULL
+  AllowedDb[0] = DbEntry1;
+  RevokedDb[0] = NULL;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_UNSUPPORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid009 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when Signed data embedded in SignedData but InData is not NULL.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  //
+  // Conformance test with DetachedData
+  //
+
+  // SignedData buffer is not correctly formatted for processing by the function.
+  P7Detached[0] = 0x40;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  P7Detached[0] = 0x30;
+
+  if (Status == EFI_UNSUPPORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid002 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_UNSUPPORTED when SignedData buffer is not correctly formatted for processing.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Content not found because InData is NULL and no content embedded in SignedData.
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_NOT_FOUND)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid010 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_NOT_FOUND when InData is NULL and no content embedded in SignedData.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Unsupported or invalid format in AllowedDb
+  DbEntry1->SignatureListSize = 16;
+  AllowedDb[0] = DbEntry1;
+
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  AllowedDb[0] = NULL;
+  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);;
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid003 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+
+  // Unsupported or invalid format in RevokedDb
+  DbEntry1->SignatureListSize = 16;
+  RevokedDb[0] = DbEntry1;
+
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  RevokedDb[0] = NULL;
+  DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid004 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+
+  // Unsupported or invalid format in TimeStampDb
+  DbEntry3->SignatureListSize = 16;
+  RevokedDb[0]   = DbEntry1;
+  AllowedDb[0]   = DbEntry1;
+  TimestampDb[0] = DbEntry3;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  RevokedDb[0]   = NULL;
+  AllowedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  DbEntry3->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
+
+  if (Status == EFI_ABORTED)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid005 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_ABORTED when invalid format in TimeStampDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  // Buffer is correctly formatted but signer is not in AllowedDb.
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid006 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is not in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Buffer is correctly formatted but signer is in RevokedDb.
+  AllowedDb[0] = DbEntry2;
+  RevokedDb[0] = DbEntry2;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid007 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but signer is in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Buffer is correctly formatted but the content hash is in RevokedDb.
+  AllowedDb[0] = DbEntry2;
+  RevokedDb[0] = DbEntry4;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+  if (Status == EFI_SECURITY_VIOLATION)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestConformanceAssertionGuid008 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SECURITY_VIOLATION when Buffer is correctly formatted but the content hash is in RevokedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  return EFI_SUCCESS;
+}
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c
index a164b54..0511e00 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c
@@ -1,565 +1,565 @@
-/** @file
-
-  Copyright 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
-Module Name:
-
-    Pkcs7BBTestData.c
-
-Abstract:
-
-    Pre Data for EFI Driver Pkcs7 Verify Protocol's Test
-
---*/
-
-//
-// Sample Test Data for P7 Signing & Verification.
-//      "Hello World!
-//       Test for PKCS7 Blob Data Signing & Verification."
-//
-UINT8 TestBin[64] = {
-  0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x0d, 0x0a, 0x54, 0x65,
-  0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x4b, 0x43, 0x53, 0x37, 0x20, 0x42, 0x6c, 0x6f,
-  0x62, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x26,
-  0x20, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0d, 0x0a
-};
-
-//
-// The SHA256 Digest Value of Sample Test Data
-//
-UINT8 TestBinHash[32] = {
-  0x45, 0xce, 0x79, 0x80, 0xef, 0x43, 0x8f, 0x63, 0xd0, 0x75, 0x23, 0x48, 0x38, 0x2f, 0xd8, 0x48,
-  0x21, 0x5d, 0xcc, 0x37, 0x68, 0x97, 0x0f, 0xb4, 0x7c, 0xc1, 0xff, 0x91, 0xb2, 0x04, 0xf7, 0x0e
-};
-
-UINT8 TestSubCert[755] = {
-  0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01, 0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9,
-  0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30,
-  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F,
-  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30,
-  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A,
-  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30,
-  0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74,
-  0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01, 0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2,
-  0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1, 0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74,
-  0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C, 0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5,
-  0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11, 0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5,
-  0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06, 0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24,
-  0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15, 0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2,
-  0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80, 0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10,
-  0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3, 0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3,
-  0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4, 0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4,
-  0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03, 0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB,
-  0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D, 0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06,
-  0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B, 0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C,
-  0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19, 0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B,
-  0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67, 0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09,
-  0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE, 0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED,
-  0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA, 0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E,
-  0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06,
-  0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99,
-  0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11,
-  0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F,
-  0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F,
-  0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82,
-  0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD, 0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A,
-  0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF, 0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88,
-  0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74, 0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70,
-  0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9, 0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C,
-  0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91, 0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66,
-  0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93, 0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC,
-  0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E, 0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F,
-  0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF, 0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9,
-  0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08, 0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5,
-  0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49, 0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2,
-  0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87, 0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD,
-  0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91, 0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35,
-  0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3, 0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6,
-  0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51, 0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0,
-  0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7, 0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69,
-  0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D, 0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C,
-  0x74, 0x84, 0xA1
-};
-
-UINT8 TestRootCert[756] = { 
-  0x30, 0x82, 0x02, 0xF0, 0x30, 0x82, 0x01, 0xDC, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x6F, 
-  0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F, 0xCC, 0x11, 0xF4, 0x30, 
-  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 
-  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30, 
-  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x30, 0x31, 0x33, 0x5A, 
-  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 
-  0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 
-  0x52, 0x6F, 0x6F, 0x74, 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, 0xD0, 0xCC, 0xC7, 0x8F, 0x69, 0xAB, 0x7C, 0xEE, 0xF4, 0xEC, 0xEE, 
-  0x82, 0x8A, 0xD3, 0xE0, 0x14, 0x19, 0x1F, 0xB8, 0xCC, 0xA8, 0x65, 0xF3, 0xF8, 0x93, 0xF6, 0xBA, 
-  0x23, 0x11, 0xA5, 0xDC, 0xD4, 0xBC, 0xB6, 0xAD, 0x6E, 0x06, 0xCC, 0x19, 0x1A, 0xCE, 0x16, 0xFA, 
-  0x0A, 0x36, 0x39, 0x2F, 0x90, 0x89, 0x90, 0xBB, 0x0A, 0xC3, 0xAF, 0x6E, 0x69, 0x6C, 0x0B, 0xB8, 
-  0xD2, 0xD6, 0xB9, 0xC0, 0x23, 0xD7, 0x3C, 0x15, 0xFC, 0x24, 0x06, 0x9D, 0xED, 0x60, 0xEF, 0x29, 
-  0xA3, 0x3B, 0xBA, 0x02, 0xC3, 0x5F, 0xA4, 0x36, 0xC6, 0xBF, 0x8B, 0x8F, 0x32, 0x95, 0xE0, 0x5C, 
-  0x80, 0xF5, 0x0E, 0x78, 0x45, 0xF5, 0xE1, 0x51, 0x19, 0x97, 0x1B, 0xDE, 0xD4, 0xBB, 0xF2, 0x9B, 
-  0xFF, 0x01, 0xE3, 0x4B, 0x9C, 0xEF, 0x7E, 0x3F, 0x1C, 0x97, 0x82, 0x21, 0x9A, 0xCA, 0x90, 0x36, 
-  0x7F, 0x83, 0xEA, 0x03, 0x1B, 0x79, 0x0B, 0x2F, 0xD7, 0xB3, 0x35, 0x79, 0x36, 0xD3, 0xE5, 0x40, 
-  0x9C, 0x52, 0xB0, 0x36, 0x52, 0x0E, 0x8A, 0x9D, 0xA9, 0x02, 0xE0, 0x8C, 0xF1, 0x02, 0x12, 0x70, 
-  0x29, 0x2C, 0xAE, 0x3E, 0x9C, 0x7F, 0x3A, 0xB7, 0x2D, 0x4B, 0xB9, 0x51, 0x68, 0x35, 0xCA, 0xBC, 
-  0xCC, 0x50, 0x46, 0xCE, 0xB9, 0x2C, 0x4F, 0xBE, 0x27, 0x0E, 0xD5, 0x8F, 0x31, 0x40, 0x61, 0xCC, 
-  0xE5, 0x7F, 0x89, 0x8B, 0xC7, 0x15, 0x13, 0xDA, 0x1A, 0x5A, 0xD0, 0xFE, 0xCE, 0x47, 0x10, 0xCC, 
-  0xBC, 0xE4, 0xDB, 0x34, 0x23, 0x0F, 0xFE, 0xE4, 0x23, 0xE7, 0x30, 0x70, 0xE2, 0xE4, 0xFC, 0x8F, 
-  0xBA, 0xD9, 0x49, 0xD0, 0xA0, 0xAB, 0x4D, 0x69, 0xA2, 0xE4, 0xBB, 0x2A, 0x53, 0x74, 0x08, 0xE5, 
-  0x98, 0x32, 0x24, 0x92, 0xE3, 0x27, 0x28, 0x93, 0xC0, 0xB0, 0xE6, 0x0F, 0xFA, 0x05, 0xEA, 0xCA, 
-  0x1D, 0x4F, 0x45, 0x67, 0xC9, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 
-  0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 
-  0x99, 0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 
-  0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 
-  0x6F, 0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 
-  0x4F, 0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 
-  0x82, 0x01, 0x01, 0x00, 0x07, 0x71, 0x55, 0x58, 0x31, 0xF5, 0x2D, 0xDA, 0x85, 0xDA, 0xF2, 0x62, 
-  0x2D, 0xC2, 0xD3, 0xD9, 0x86, 0x43, 0x50, 0xE8, 0xC5, 0x51, 0x6C, 0xA2, 0x6D, 0x5A, 0xFB, 0x10, 
-  0x57, 0xFA, 0x63, 0x8E, 0x58, 0xA2, 0x07, 0xFC, 0xB7, 0xA1, 0x5C, 0x6E, 0xF7, 0x6B, 0xD0, 0x11, 
-  0x4A, 0xCB, 0xF4, 0xC1, 0xA4, 0xDE, 0x43, 0x2D, 0x1A, 0xEF, 0xD8, 0x71, 0x44, 0xA3, 0xEA, 0xBF, 
-  0x1F, 0xFE, 0x20, 0xA3, 0x97, 0xEF, 0x30, 0xF9, 0x9F, 0x7C, 0xC5, 0x75, 0xF9, 0xDC, 0x29, 0xEC, 
-  0x72, 0xED, 0xD3, 0x58, 0xD2, 0x3C, 0xA3, 0x95, 0x64, 0xC9, 0xD4, 0xE0, 0xD8, 0xAF, 0xC2, 0x2E, 
-  0x21, 0x02, 0xE1, 0xFC, 0x29, 0xB0, 0x63, 0x9B, 0x46, 0x2C, 0xB4, 0x6C, 0x59, 0x7E, 0x51, 0xA8, 
-  0x0F, 0x33, 0x92, 0x94, 0x60, 0x99, 0x4D, 0x31, 0x9D, 0xA3, 0x4E, 0x23, 0x11, 0xAD, 0xD9, 0xC4, 
-  0x03, 0xB9, 0x3D, 0x0C, 0x9F, 0x37, 0x94, 0x6F, 0xC7, 0x3E, 0xCE, 0xCF, 0x49, 0x09, 0x64, 0x19, 
-  0xF6, 0x8F, 0xE2, 0xE5, 0xCA, 0x0A, 0x3C, 0x90, 0x41, 0xD2, 0xA4, 0x37, 0xEB, 0x47, 0xEC, 0x54, 
-  0x5A, 0xD0, 0xFD, 0xE4, 0x36, 0x5C, 0x8A, 0xB4, 0x8A, 0x94, 0xF9, 0x58, 0x07, 0xF5, 0xC8, 0x33, 
-  0x76, 0x62, 0xD2, 0xD5, 0x84, 0xCF, 0x85, 0xF9, 0x0C, 0x8F, 0xF6, 0xF7, 0xEC, 0xE8, 0xA8, 0xA3, 
-  0x17, 0x7C, 0xC1, 0x5D, 0x06, 0x19, 0x41, 0x06, 0xC6, 0x58, 0x54, 0xE0, 0x1B, 0x3B, 0x72, 0xA2, 
-  0x64, 0x89, 0xF5, 0x5E, 0x7C, 0x05, 0x2F, 0xE5, 0x2D, 0x98, 0x27, 0x61, 0x97, 0x41, 0x2C, 0x20, 
-  0x59, 0x81, 0x0C, 0x9D, 0xC1, 0x0F, 0xD9, 0x06, 0x75, 0x3D, 0x32, 0xFA, 0x0F, 0xBF, 0x74, 0xF4, 
-  0xE2, 0x9C, 0x7E, 0xDD, 0x67, 0x9F, 0x1B, 0x61, 0x89, 0xAB, 0xD6, 0x85, 0x87, 0x1F, 0xC9, 0xBF, 
-  0x07, 0x60, 0xF3, 0x33
-};
-
-//
-// Embedded PKCS7 signedData (by signing TestBin with TestSub Certificate, and Timestamped)
-//
-UINT8 P7Embedded[3330] = {
-  0x30, 0x82, 0x0C, 0xFE, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 
-  0x82, 0x0C, 0xEF, 0x30, 0x82, 0x0C, 0xEB, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 
-  0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x4F, 0x06, 0x09, 0x2A, 
-  0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01, 0xA0, 0x42, 0x04, 0x40, 0x48, 0x65, 0x6C, 0x6C, 
-  0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64, 0x21, 0x0D, 0x0A, 0x54, 0x65, 0x73, 0x74, 0x20, 0x66, 
-  0x6F, 0x72, 0x20, 0x50, 0x4B, 0x43, 0x53, 0x37, 0x20, 0x42, 0x6C, 0x6F, 0x62, 0x20, 0x44, 0x61, 
-  0x74, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x26, 0x20, 0x56, 0x65, 0x72, 
-  0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x0D, 0x0A, 0xA0, 0x82, 0x02, 0xF3, 
-  0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01, 0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9, 
-  0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30, 
-  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 
-  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30, 
-  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A, 
-  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 
-  0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74, 
-  0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01, 0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2, 
-  0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1, 0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74, 
-  0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C, 0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5, 
-  0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11, 0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5, 
-  0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06, 0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24, 
-  0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15, 0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2, 
-  0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80, 0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10, 
-  0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3, 0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3, 
-  0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4, 0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4, 
-  0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03, 0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB, 
-  0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D, 0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06, 
-  0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B, 0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C, 
-  0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19, 0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B, 
-  0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67, 0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09, 
-  0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE, 0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED, 
-  0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA, 0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E, 
-  0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06, 
-  0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99, 
-  0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11, 
-  0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 
-  0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F, 
-  0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82, 
-  0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD, 0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A, 
-  0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF, 0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88, 
-  0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74, 0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70, 
-  0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9, 0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C, 
-  0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91, 0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66, 
-  0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93, 0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC, 
-  0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E, 0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F, 
-  0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF, 0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9, 
-  0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08, 0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5, 
-  0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49, 0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2, 
-  0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87, 0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD, 
-  0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91, 0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35, 
-  0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3, 0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6, 
-  0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51, 0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0, 
-  0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7, 0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69, 
-  0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D, 0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C, 
-  0x74, 0x84, 0xA1, 0x31, 0x82, 0x09, 0x8B, 0x30, 0x82, 0x09, 0x87, 0x02, 0x01, 0x01, 0x30, 0x27, 
-  0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 
-  0x74, 0x52, 0x6F, 0x6F, 0x74, 0x02, 0x10, 0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 
-  0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 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, 0x22, 0xB9, 0x4A, 0x53, 0xA4, 0x35, 0xF3, 
-  0xDA, 0xF3, 0xA9, 0x37, 0x12, 0xF7, 0x5B, 0x8F, 0xFA, 0x14, 0x57, 0x86, 0x59, 0xA6, 0x9A, 0xC2, 
-  0x7C, 0x1C, 0x79, 0xC3, 0xD2, 0xF8, 0x84, 0x6C, 0x4E, 0x14, 0x44, 0x6C, 0x56, 0x45, 0x3C, 0x38, 
-  0xC3, 0x6B, 0x12, 0x02, 0x97, 0xB7, 0x86, 0xA7, 0xAC, 0x2E, 0x46, 0xA8, 0xF9, 0xA9, 0x57, 0x13, 
-  0x28, 0xCE, 0x37, 0x57, 0x1C, 0xC9, 0xCD, 0x8E, 0xC4, 0xFE, 0x56, 0xC6, 0x97, 0x11, 0x2E, 0xFA, 
-  0xE0, 0x09, 0x91, 0xF7, 0x30, 0xF9, 0x45, 0x2C, 0x41, 0xAA, 0xAF, 0xFF, 0x3D, 0x55, 0xCB, 0x89, 
-  0x0A, 0xFE, 0xF6, 0x60, 0xD4, 0xDF, 0x64, 0xF6, 0x1C, 0xDD, 0x8C, 0x84, 0x2F, 0xB6, 0x67, 0x1D, 
-  0xD7, 0xE2, 0xB9, 0x9A, 0x04, 0x07, 0xF8, 0xDC, 0x5B, 0xA3, 0x12, 0x91, 0x08, 0x00, 0x85, 0x95, 
-  0xA1, 0x17, 0x8D, 0x93, 0x49, 0x6A, 0xAA, 0x4E, 0xE4, 0xF5, 0x4B, 0xDE, 0x22, 0x21, 0xE2, 0x57, 
-  0x62, 0x7D, 0x6E, 0xC1, 0x31, 0x38, 0x2C, 0x89, 0x93, 0x07, 0x42, 0x5B, 0xDB, 0x56, 0x71, 0x39, 
-  0x1F, 0xED, 0xCA, 0x43, 0x67, 0x88, 0xC9, 0x8E, 0x23, 0x0D, 0x68, 0x5B, 0x7E, 0x38, 0x52, 0x5C, 
-  0x96, 0xE7, 0x5F, 0x32, 0x2F, 0x5F, 0x37, 0x4E, 0x9E, 0x27, 0xA5, 0x79, 0xF9, 0x03, 0xAB, 0x3C, 
-  0xB5, 0x20, 0x1E, 0x01, 0x48, 0x9B, 0xB8, 0x11, 0x12, 0xB2, 0xCA, 0x8B, 0x69, 0x08, 0x5F, 0x78, 
-  0x80, 0x09, 0x14, 0xA0, 0x3D, 0x57, 0x2B, 0xBB, 0x75, 0x9A, 0xFF, 0x33, 0xA2, 0x2B, 0x1C, 0x3B, 
-  0xEE, 0xBF, 0xE5, 0x8B, 0x34, 0xDB, 0x54, 0x15, 0xE2, 0x5E, 0x13, 0x56, 0x02, 0x5D, 0xB9, 0x3D, 
-  0x5A, 0x47, 0x59, 0x5D, 0x86, 0xC1, 0x75, 0xED, 0x4E, 0x12, 0xD7, 0x69, 0x76, 0xB2, 0xED, 0xBA, 
-  0x65, 0xA2, 0x1A, 0xDB, 0x01, 0x81, 0x62, 0x7E, 0x07, 0xA1, 0x82, 0x08, 0x35, 0x30, 0x82, 0x08, 
-  0x31, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01, 0x31, 0x82, 0x08, 
-  0x21, 0x30, 0x82, 0x08, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 
-  0xA0, 0x82, 0x08, 0x0E, 0x30, 0x82, 0x08, 0x0A, 0x02, 0x01, 0x03, 0x31, 0x0B, 0x30, 0x09, 0x06, 
-  0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x81, 0xF5, 0x06, 0x0B, 0x2A, 0x86, 0x48, 
-  0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0xA0, 0x81, 0xE5, 0x04, 0x81, 0xE2, 0x30, 0x81, 
-  0xDF, 0x02, 0x01, 0x01, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0xB2, 0x31, 0x02, 0x01, 0x01, 
-  0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0x0B, 
-  0x23, 0xE5, 0xBC, 0x00, 0x34, 0x5B, 0x80, 0x78, 0x3D, 0xA8, 0x7F, 0x2A, 0xEA, 0x2B, 0xD1, 0xFF, 
-  0xA3, 0x5D, 0x26, 0x02, 0x14, 0x1D, 0xB9, 0x80, 0x23, 0xB7, 0x31, 0xAC, 0xC2, 0x54, 0x58, 0x3A, 
-  0xC7, 0x47, 0x58, 0x96, 0x28, 0x22, 0x2C, 0x88, 0x37, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x35, 0x30, 
-  0x38, 0x31, 0x39, 0x30, 0x31, 0x35, 0x35, 0x32, 0x38, 0x5A, 0xA0, 0x81, 0x83, 0xA4, 0x81, 0x80, 
-  0x30, 0x7E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 
-  0x1B, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 
-  0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 
-  0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A, 
-  0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 
-  0x43, 0x41, 0x20, 0x4C, 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 
-  0x55, 0x04, 0x03, 0x13, 0x1B, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x54, 0x69, 0x6D, 0x65, 
-  0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72, 
-  0xA0, 0x82, 0x04, 0x98, 0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7C, 0xA0, 0x03, 0x02, 0x01, 
-  0x02, 0x02, 0x11, 0x00, 0x9F, 0xEA, 0xC8, 0x11, 0xB0, 0xF1, 0x62, 0x47, 0xA5, 0xFC, 0x20, 0xD8, 
-  0x05, 0x23, 0xAC, 0xE6, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 
-  0x05, 0x05, 0x00, 0x30, 0x81, 0x95, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 
-  0x02, 0x55, 0x53, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54, 
-  0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0E, 0x53, 0x61, 0x6C, 0x74, 0x20, 
-  0x4C, 0x61, 0x6B, 0x65, 0x20, 0x43, 0x69, 0x74, 0x79, 0x31, 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, 
-  0x04, 0x0A, 0x13, 0x15, 0x54, 0x68, 0x65, 0x20, 0x55, 0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53, 
-  0x54, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 
-  0x04, 0x0B, 0x13, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x75, 
-  0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x1D, 0x30, 0x1B, 
-  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x55, 0x54, 0x4E, 0x2D, 0x55, 0x53, 0x45, 0x52, 0x46, 
-  0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31, 
-  0x35, 0x30, 0x35, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x31, 0x35, 
-  0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x7E, 0x31, 0x0B, 0x30, 
-  0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03, 
-  0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E, 
-  0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07, 
-  0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55, 
-  0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69, 
-  0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1B, 
-  0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 
-  0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72, 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, 0xBC, 0x35, 0xA0, 0x36, 
-  0x70, 0x22, 0x81, 0x11, 0xC3, 0xB2, 0x83, 0xB9, 0xD3, 0x28, 0xC6, 0x36, 0xCD, 0x25, 0x6B, 0xA9, 
-  0x7B, 0xB2, 0x1C, 0xF6, 0x9B, 0x51, 0x9C, 0xEF, 0x35, 0xF4, 0xED, 0x08, 0x8E, 0x5E, 0x38, 0x08, 
-  0xF8, 0x77, 0x3C, 0x0A, 0x42, 0xE0, 0xF3, 0x70, 0xDC, 0xA3, 0xD7, 0xCA, 0xF5, 0x4C, 0x0B, 0xCF, 
-  0xFF, 0x22, 0x9C, 0x0A, 0x7E, 0x68, 0xD6, 0x09, 0xA2, 0x2A, 0x84, 0x7B, 0xA6, 0x9D, 0xB4, 0xA9, 
-  0xC1, 0x33, 0xE2, 0xEF, 0x1F, 0x17, 0x48, 0xCA, 0x3A, 0xCD, 0x46, 0xE6, 0xC5, 0xAA, 0x77, 0xBD, 
-  0xE3, 0x77, 0x9A, 0xFA, 0x47, 0x53, 0x40, 0x28, 0x59, 0x43, 0x93, 0xF1, 0xA4, 0x81, 0xEA, 0xEF, 
-  0x80, 0xB5, 0x4F, 0xA7, 0x08, 0xCE, 0xBA, 0x6E, 0xBC, 0xCA, 0x76, 0x0C, 0x97, 0x64, 0x59, 0x86, 
-  0x24, 0xBB, 0x3D, 0x82, 0x90, 0xA8, 0x55, 0xB1, 0x92, 0xD3, 0xA0, 0xA7, 0x05, 0xAC, 0x9F, 0x53, 
-  0x25, 0x08, 0x10, 0x47, 0x99, 0xCD, 0x98, 0xDE, 0x68, 0xE5, 0xB4, 0x50, 0x78, 0xA3, 0xAF, 0x01, 
-  0xCC, 0x59, 0x43, 0x58, 0xE4, 0x76, 0x6E, 0x7E, 0xAC, 0xC7, 0xE2, 0x9E, 0x1F, 0x4F, 0xB0, 0x47, 
-  0x2D, 0xC8, 0x0C, 0xA3, 0x49, 0x27, 0x80, 0x75, 0x8C, 0xBB, 0x06, 0x91, 0x65, 0x0F, 0x90, 0x9B, 
-  0xF4, 0xBA, 0xD1, 0x81, 0xC8, 0x5C, 0x6A, 0xEC, 0x14, 0xE9, 0x25, 0x09, 0xBF, 0x23, 0x16, 0xF4, 
-  0x95, 0x46, 0x40, 0x40, 0x21, 0xBB, 0x83, 0x96, 0xFD, 0x86, 0x1F, 0x7A, 0xC8, 0x0D, 0x10, 0x8E, 
-  0xA2, 0xF8, 0x19, 0x07, 0x58, 0x7F, 0x9F, 0xBD, 0x37, 0x02, 0x60, 0xF2, 0xA4, 0xE9, 0x9D, 0x44, 
-  0x3F, 0x30, 0x05, 0xE4, 0xA7, 0x70, 0x99, 0x51, 0x9A, 0xE8, 0x17, 0xF1, 0x55, 0xCA, 0xB2, 0x61, 
-  0x89, 0x65, 0x46, 0xA7, 0x6A, 0xF2, 0x58, 0x46, 0x7E, 0xAA, 0xA0, 0x07, 0x02, 0x03, 0x01, 0x00, 
-  0x01, 0xA3, 0x81, 0xF4, 0x30, 0x81, 0xF1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18, 
-  0x30, 0x16, 0x80, 0x14, 0xDA, 0xED, 0x64, 0x74, 0x14, 0x9C, 0x14, 0x3C, 0xAB, 0xDD, 0x99, 0xA9, 
-  0xBD, 0x5B, 0x28, 0x4D, 0x8B, 0x3C, 0xC9, 0xD8, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04, 
-  0x16, 0x04, 0x14, 0x2E, 0x2D, 0xB0, 0x0A, 0x44, 0x4A, 0xD3, 0x87, 0xC0, 0x02, 0x07, 0xCE, 0x97, 
-  0x7D, 0x50, 0x62, 0x20, 0xFD, 0x0F, 0x83, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01, 
-  0xFF, 0x04, 0x04, 0x03, 0x02, 0x06, 0xC0, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 
-  0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, 0xFF, 0x04, 
-  0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x42, 0x06, 
-  0x03, 0x55, 0x1D, 0x1F, 0x04, 0x3B, 0x30, 0x39, 0x30, 0x37, 0xA0, 0x35, 0xA0, 0x33, 0x86, 0x31, 
-  0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 
-  0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x55, 0x54, 0x4E, 0x2D, 0x55, 0x53, 0x45, 
-  0x52, 0x46, 0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x2E, 0x63, 0x72, 
-  0x6C, 0x30, 0x35, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x29, 0x30, 
-  0x27, 0x30, 0x25, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 
-  0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 
-  0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 
-  0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x0D, 0xBB, 0xAD, 0x60, 
-  0x11, 0x1B, 0xB5, 0xF0, 0x0D, 0xCC, 0xE6, 0x48, 0x3A, 0x7A, 0x3E, 0x0E, 0x33, 0xDC, 0x1C, 0xB9, 
-  0xEA, 0xD6, 0x20, 0xFE, 0xA3, 0x4D, 0xD0, 0xCC, 0x76, 0x4E, 0xE8, 0x18, 0xD8, 0x79, 0xDF, 0xD3, 
-  0x4F, 0x9A, 0x42, 0x64, 0x23, 0x8A, 0x29, 0x72, 0x8A, 0x3A, 0x6C, 0x66, 0xA6, 0x3C, 0x3A, 0x17, 
-  0xA8, 0x70, 0x45, 0x65, 0xC6, 0x73, 0xC3, 0xD0, 0xCE, 0x89, 0x54, 0xFB, 0xAC, 0x69, 0x0F, 0x58, 
-  0xB0, 0x19, 0xCB, 0x86, 0x9F, 0x7E, 0xB9, 0x7E, 0xEB, 0x51, 0x92, 0xBF, 0x9B, 0xDD, 0xEB, 0xD1, 
-  0x65, 0xF0, 0x25, 0x7B, 0x88, 0x7C, 0xDE, 0xBD, 0xA5, 0xC8, 0xB5, 0x14, 0x51, 0xBC, 0xC0, 0x81, 
-  0x30, 0x8A, 0x85, 0x38, 0x7B, 0xE6, 0x79, 0xFE, 0x67, 0x55, 0x93, 0x87, 0xFE, 0x4F, 0xE8, 0x8D, 
-  0x0E, 0xED, 0xF3, 0x72, 0x92, 0xB5, 0xC2, 0x89, 0x80, 0x6D, 0xD1, 0x59, 0xE3, 0x1D, 0x0D, 0xEA, 
-  0xB1, 0x38, 0xEE, 0x03, 0x9D, 0x00, 0x19, 0xA5, 0xAB, 0x21, 0x9B, 0x79, 0xC3, 0xCC, 0xC2, 0x3E, 
-  0x68, 0x7E, 0xBD, 0xC9, 0x4D, 0x69, 0x4D, 0xB4, 0x64, 0x51, 0xFB, 0xB2, 0x28, 0x74, 0xE2, 0x53, 
-  0x89, 0xCE, 0x9D, 0xFA, 0xAD, 0xE2, 0xDB, 0xCE, 0xAB, 0x7B, 0x7E, 0x06, 0x44, 0x74, 0xFD, 0x0A, 
-  0xA3, 0xC9, 0xB7, 0xA7, 0x30, 0xCD, 0x49, 0xD2, 0x92, 0x64, 0xF1, 0x22, 0xA6, 0xB8, 0x28, 0x45, 
-  0x74, 0x79, 0xE9, 0xA7, 0xCE, 0x3B, 0x33, 0xF9, 0x83, 0x50, 0x94, 0x7D, 0x68, 0xC0, 0x1D, 0x49, 
-  0xC7, 0x60, 0x78, 0x7A, 0x3C, 0x64, 0x26, 0xD5, 0xBE, 0xFA, 0x0A, 0x6D, 0xE4, 0x1E, 0xE1, 0x09, 
-  0x53, 0x8F, 0xA9, 0xC5, 0x23, 0xAC, 0xC7, 0x9D, 0x61, 0x42, 0x21, 0xF0, 0x2C, 0x16, 0x71, 0x49, 
-  0x3B, 0x10, 0xAF, 0x2C, 0x6F, 0x1A, 0xE6, 0x31, 0xF1, 0x14, 0xFD, 0x6C, 0x31, 0x82, 0x02, 0x62, 
-  0x30, 0x82, 0x02, 0x5E, 0x02, 0x01, 0x01, 0x30, 0x81, 0xAB, 0x30, 0x81, 0x95, 0x31, 0x0B, 0x30, 
-  0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 
-  0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x07, 
-  0x13, 0x0E, 0x53, 0x61, 0x6C, 0x74, 0x20, 0x4C, 0x61, 0x6B, 0x65, 0x20, 0x43, 0x69, 0x74, 0x79, 
-  0x31, 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x54, 0x68, 0x65, 0x20, 0x55, 
-  0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53, 0x54, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 
-  0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 
-  0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2E, 
-  0x63, 0x6F, 0x6D, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x55, 0x54, 
-  0x4E, 0x2D, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65, 
-  0x63, 0x74, 0x02, 0x11, 0x00, 0x9F, 0xEA, 0xC8, 0x11, 0xB0, 0xF1, 0x62, 0x47, 0xA5, 0xFC, 0x20, 
-  0xD8, 0x05, 0x23, 0xAC, 0xE6, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 
-  0xA0, 0x81, 0x8C, 0x30, 0x1A, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03, 
-  0x31, 0x0D, 0x06, 0x0B, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0x30, 
-  0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, 0x31, 0x0F, 0x17, 0x0D, 
-  0x31, 0x35, 0x30, 0x38, 0x31, 0x39, 0x30, 0x31, 0x35, 0x35, 0x32, 0x38, 0x5A, 0x30, 0x23, 0x06, 
-  0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0xD4, 0xD6, 
-  0xA6, 0x46, 0x5F, 0x10, 0xF2, 0x3F, 0x76, 0x67, 0x5E, 0x37, 0xEB, 0x89, 0xDD, 0xCD, 0xA9, 0xD2, 
-  0x78, 0x2E, 0x30, 0x2B, 0x06, 0x0B, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x02, 
-  0x0C, 0x31, 0x1C, 0x30, 0x1A, 0x30, 0x18, 0x30, 0x16, 0x04, 0x14, 0xDF, 0x94, 0x6A, 0x5E, 0x50, 
-  0x30, 0x15, 0x77, 0x7F, 0xD2, 0x2F, 0x46, 0xB5, 0x62, 0x4E, 0xCD, 0x27, 0xBE, 0xE3, 0x76, 0x30, 
-  0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 
-  0x01, 0x00, 0x60, 0x59, 0x47, 0x46, 0x6E, 0x02, 0x30, 0x14, 0x4D, 0xDE, 0xFB, 0x35, 0xF0, 0x88, 
-  0x85, 0x4F, 0xFF, 0x82, 0x25, 0x3B, 0x64, 0xDD, 0xC6, 0x4F, 0x76, 0xC7, 0x85, 0x8B, 0xD8, 0x36, 
-  0x23, 0x8B, 0xA4, 0x75, 0x75, 0xAD, 0xF2, 0x27, 0x00, 0xFB, 0x19, 0x83, 0xA0, 0x16, 0xEF, 0x45, 
-  0xAB, 0xF7, 0x18, 0xC9, 0x6F, 0xDE, 0xB8, 0xA5, 0xE6, 0x2C, 0xB0, 0xF2, 0x35, 0x6C, 0x90, 0x10, 
-  0xDC, 0x77, 0xB5, 0xC4, 0x0E, 0x88, 0x73, 0x01, 0x5B, 0xD5, 0x5A, 0x03, 0x3A, 0x76, 0x90, 0xFB, 
-  0x09, 0xAB, 0x36, 0x8D, 0xD3, 0x75, 0x21, 0xE7, 0xF4, 0x9A, 0x18, 0x37, 0x5B, 0x8A, 0xCA, 0xFF, 
-  0xC6, 0xD6, 0x00, 0xEA, 0xA9, 0x5B, 0xE6, 0xDB, 0xD5, 0x38, 0x89, 0x19, 0x77, 0x66, 0x86, 0x30, 
-  0x67, 0x06, 0x33, 0x49, 0xA6, 0x69, 0x60, 0x99, 0xA4, 0xB4, 0x53, 0x91, 0x31, 0x76, 0x0E, 0x6E, 
-  0x61, 0x7E, 0xDB, 0x37, 0xB5, 0x86, 0xA0, 0x47, 0x5E, 0x43, 0xAC, 0xFE, 0x44, 0xAA, 0x89, 0x65, 
-  0xB8, 0xAD, 0x7C, 0x7D, 0xA6, 0x1D, 0x69, 0x52, 0xB3, 0x3B, 0xB6, 0xD7, 0xCD, 0xA2, 0x44, 0x29, 
-  0x82, 0x22, 0xBD, 0x87, 0x4E, 0xA3, 0x3F, 0xFF, 0x85, 0x1D, 0xE7, 0xE4, 0xB1, 0xF6, 0xEB, 0xF8, 
-  0x32, 0xB1, 0x25, 0x6F, 0x14, 0x49, 0x10, 0x3E, 0x1E, 0x05, 0xED, 0x6C, 0x86, 0xC8, 0xFD, 0x79, 
-  0x2D, 0x45, 0xB1, 0x55, 0x19, 0xC2, 0x94, 0xE3, 0x8F, 0x31, 0x58, 0xCB, 0xBC, 0xA3, 0xAB, 0x89, 
-  0xFB, 0x94, 0xC5, 0x88, 0xE8, 0xA3, 0x28, 0xC4, 0xB0, 0xC5, 0x75, 0x15, 0xAA, 0xF4, 0xBB, 0x62, 
-  0x4B, 0xEE, 0x10, 0xA6, 0x13, 0x2E, 0x71, 0x29, 0xE6, 0x72, 0xD9, 0xFC, 0xA2, 0xF1, 0x0F, 0x65, 
-  0x58, 0xE1, 0xF0, 0x21, 0x31, 0x57, 0x8E, 0xF0, 0x3D, 0xF0, 0xC5, 0x69, 0xAC, 0xED, 0x7E, 0x1A, 
-  0x00, 0xA0
-};
-
-//
-// Detached PKCS7 signedData (by signing TestBin with TestSub Certificate)
-//
-UINT8 P7Detached[1138] = {
-0x30, 0x82, 0x04, 0x6E, 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, 0xF3, 0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01,
-0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB,
-0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02,
-0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08,
-0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38,
-0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A, 0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33,
-0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03,
-0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01,
-0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2, 0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1,
-0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74, 0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C,
-0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5, 0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11,
-0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5, 0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06,
-0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24, 0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15,
-0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2, 0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80,
-0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10, 0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3,
-0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3, 0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4,
-0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4, 0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03,
-0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB, 0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D,
-0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06, 0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B,
-0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C, 0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19,
-0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B, 0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67,
-0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09, 0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE,
-0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED, 0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA,
-0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E, 0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01,
-0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30,
-0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99, 0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15,
-0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03,
-0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84,
-0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F, 0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05,
-0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD,
-0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A, 0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF,
-0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88, 0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74,
-0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70, 0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9,
-0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C, 0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91,
-0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66, 0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93,
-0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC, 0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E,
-0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F, 0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF,
-0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9, 0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08,
-0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5, 0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49,
-0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2, 0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87,
-0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD, 0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91,
-0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35, 0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3,
-0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6, 0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51,
-0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0, 0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7,
-0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69, 0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D,
-0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C, 0x74, 0x84, 0xA1, 0x31, 0x82, 0x01, 0x52,
-0x30, 0x82, 0x01, 0x4E, 0x02, 0x01, 0x01, 0x30, 0x27, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06,
-0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x02, 0x10,
-0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28,
-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, 0x22, 0xB9, 0x4A, 0x53, 0xA4, 0x35, 0xF3, 0xDA, 0xF3, 0xA9, 0x37, 0x12, 0xF7, 0x5B,
-0x8F, 0xFA, 0x14, 0x57, 0x86, 0x59, 0xA6, 0x9A, 0xC2, 0x7C, 0x1C, 0x79, 0xC3, 0xD2, 0xF8, 0x84,
-0x6C, 0x4E, 0x14, 0x44, 0x6C, 0x56, 0x45, 0x3C, 0x38, 0xC3, 0x6B, 0x12, 0x02, 0x97, 0xB7, 0x86,
-0xA7, 0xAC, 0x2E, 0x46, 0xA8, 0xF9, 0xA9, 0x57, 0x13, 0x28, 0xCE, 0x37, 0x57, 0x1C, 0xC9, 0xCD,
-0x8E, 0xC4, 0xFE, 0x56, 0xC6, 0x97, 0x11, 0x2E, 0xFA, 0xE0, 0x09, 0x91, 0xF7, 0x30, 0xF9, 0x45,
-0x2C, 0x41, 0xAA, 0xAF, 0xFF, 0x3D, 0x55, 0xCB, 0x89, 0x0A, 0xFE, 0xF6, 0x60, 0xD4, 0xDF, 0x64,
-0xF6, 0x1C, 0xDD, 0x8C, 0x84, 0x2F, 0xB6, 0x67, 0x1D, 0xD7, 0xE2, 0xB9, 0x9A, 0x04, 0x07, 0xF8,
-0xDC, 0x5B, 0xA3, 0x12, 0x91, 0x08, 0x00, 0x85, 0x95, 0xA1, 0x17, 0x8D, 0x93, 0x49, 0x6A, 0xAA,
-0x4E, 0xE4, 0xF5, 0x4B, 0xDE, 0x22, 0x21, 0xE2, 0x57, 0x62, 0x7D, 0x6E, 0xC1, 0x31, 0x38, 0x2C,
-0x89, 0x93, 0x07, 0x42, 0x5B, 0xDB, 0x56, 0x71, 0x39, 0x1F, 0xED, 0xCA, 0x43, 0x67, 0x88, 0xC9,
-0x8E, 0x23, 0x0D, 0x68, 0x5B, 0x7E, 0x38, 0x52, 0x5C, 0x96, 0xE7, 0x5F, 0x32, 0x2F, 0x5F, 0x37,
-0x4E, 0x9E, 0x27, 0xA5, 0x79, 0xF9, 0x03, 0xAB, 0x3C, 0xB5, 0x20, 0x1E, 0x01, 0x48, 0x9B, 0xB8,
-0x11, 0x12, 0xB2, 0xCA, 0x8B, 0x69, 0x08, 0x5F, 0x78, 0x80, 0x09, 0x14, 0xA0, 0x3D, 0x57, 0x2B,
-0xBB, 0x75, 0x9A, 0xFF, 0x33, 0xA2, 0x2B, 0x1C, 0x3B, 0xEE, 0xBF, 0xE5, 0x8B, 0x34, 0xDB, 0x54,
-0x15, 0xE2, 0x5E, 0x13, 0x56, 0x02, 0x5D, 0xB9, 0x3D, 0x5A, 0x47, 0x59, 0x5D, 0x86, 0xC1, 0x75,
-0xED, 0x4E, 0x12, 0xD7, 0x69, 0x76, 0xB2, 0xED, 0xBA, 0x65, 0xA2, 0x1A, 0xDB, 0x01, 0x81, 0x62,
-0x7E, 0x07
-};
-
-//
-// The Comodo Time Stamping Signer Certificate Used for the verification of TimeStamp signature
-// which was retrieved from signed-timestamped TestBin binary.
-//
-UINT8 TSRootCert[1176] = {
-  0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x11, 0x00,
-  0x9f, 0xea, 0xc8, 0x11, 0xb0, 0xf1, 0x62, 0x47, 0xa5, 0xfc, 0x20, 0xd8, 0x05, 0x23, 0xac, 0xe6,
-  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
-  0x81, 0x95, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
-  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54, 0x31, 0x17, 0x30, 0x15,
-  0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0e, 0x53, 0x61, 0x6c, 0x74, 0x20, 0x4c, 0x61, 0x6b, 0x65,
-  0x20, 0x43, 0x69, 0x74, 0x79, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15,
-  0x54, 0x68, 0x65, 0x20, 0x55, 0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53, 0x54, 0x20, 0x4e, 0x65,
-  0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x18,
-  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74,
-  0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04,
-  0x03, 0x13, 0x14, 0x55, 0x54, 0x4e, 0x2d, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72, 0x73, 0x74,
-  0x2d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x35, 0x30,
-  0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31,
-  0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x7e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
-  0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13,
-  0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73,
-  0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61,
-  0x6c, 0x66, 0x6f, 0x72, 0x64, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11,
-  0x43, 0x4f, 0x4d, 0x4f, 0x44, 0x4f, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65,
-  0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1b, 0x43, 0x4f, 0x4d, 0x4f,
-  0x44, 0x4f, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67,
-  0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 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, 0xbc, 0x35, 0xa0, 0x36, 0x70, 0x22, 0x81, 0x11,
-  0xc3, 0xb2, 0x83, 0xb9, 0xd3, 0x28, 0xc6, 0x36, 0xcd, 0x25, 0x6b, 0xa9, 0x7b, 0xb2, 0x1c, 0xf6,
-  0x9b, 0x51, 0x9c, 0xef, 0x35, 0xf4, 0xed, 0x08, 0x8e, 0x5e, 0x38, 0x08, 0xf8, 0x77, 0x3c, 0x0a,
-  0x42, 0xe0, 0xf3, 0x70, 0xdc, 0xa3, 0xd7, 0xca, 0xf5, 0x4c, 0x0b, 0xcf, 0xff, 0x22, 0x9c, 0x0a,
-  0x7e, 0x68, 0xd6, 0x09, 0xa2, 0x2a, 0x84, 0x7b, 0xa6, 0x9d, 0xb4, 0xa9, 0xc1, 0x33, 0xe2, 0xef,
-  0x1f, 0x17, 0x48, 0xca, 0x3a, 0xcd, 0x46, 0xe6, 0xc5, 0xaa, 0x77, 0xbd, 0xe3, 0x77, 0x9a, 0xfa,
-  0x47, 0x53, 0x40, 0x28, 0x59, 0x43, 0x93, 0xf1, 0xa4, 0x81, 0xea, 0xef, 0x80, 0xb5, 0x4f, 0xa7,
-  0x08, 0xce, 0xba, 0x6e, 0xbc, 0xca, 0x76, 0x0c, 0x97, 0x64, 0x59, 0x86, 0x24, 0xbb, 0x3d, 0x82,
-  0x90, 0xa8, 0x55, 0xb1, 0x92, 0xd3, 0xa0, 0xa7, 0x05, 0xac, 0x9f, 0x53, 0x25, 0x08, 0x10, 0x47,
-  0x99, 0xcd, 0x98, 0xde, 0x68, 0xe5, 0xb4, 0x50, 0x78, 0xa3, 0xaf, 0x01, 0xcc, 0x59, 0x43, 0x58,
-  0xe4, 0x76, 0x6e, 0x7e, 0xac, 0xc7, 0xe2, 0x9e, 0x1f, 0x4f, 0xb0, 0x47, 0x2d, 0xc8, 0x0c, 0xa3,
-  0x49, 0x27, 0x80, 0x75, 0x8c, 0xbb, 0x06, 0x91, 0x65, 0x0f, 0x90, 0x9b, 0xf4, 0xba, 0xd1, 0x81,
-  0xc8, 0x5c, 0x6a, 0xec, 0x14, 0xe9, 0x25, 0x09, 0xbf, 0x23, 0x16, 0xf4, 0x95, 0x46, 0x40, 0x40,
-  0x21, 0xbb, 0x83, 0x96, 0xfd, 0x86, 0x1f, 0x7a, 0xc8, 0x0d, 0x10, 0x8e, 0xa2, 0xf8, 0x19, 0x07,
-  0x58, 0x7f, 0x9f, 0xbd, 0x37, 0x02, 0x60, 0xf2, 0xa4, 0xe9, 0x9d, 0x44, 0x3f, 0x30, 0x05, 0xe4,
-  0xa7, 0x70, 0x99, 0x51, 0x9a, 0xe8, 0x17, 0xf1, 0x55, 0xca, 0xb2, 0x61, 0x89, 0x65, 0x46, 0xa7,
-  0x6a, 0xf2, 0x58, 0x46, 0x7e, 0xaa, 0xa0, 0x07, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xf4,
-  0x30, 0x81, 0xf1, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
-  0xda, 0xed, 0x64, 0x74, 0x14, 0x9c, 0x14, 0x3c, 0xab, 0xdd, 0x99, 0xa9, 0xbd, 0x5b, 0x28, 0x4d,
-  0x8b, 0x3c, 0xc9, 0xd8, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2e,
-  0x2d, 0xb0, 0x0a, 0x44, 0x4a, 0xd3, 0x87, 0xc0, 0x02, 0x07, 0xce, 0x97, 0x7d, 0x50, 0x62, 0x20,
-  0xfd, 0x0f, 0x83, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
-  0x02, 0x06, 0xc0, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30,
-  0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x0c, 0x30, 0x0a, 0x06,
-  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f,
-  0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70,
-  0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74,
-  0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x54, 0x4e, 0x2d, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72,
-  0x73, 0x74, 0x2d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x35, 0x06,
-  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0x06,
-  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74, 0x70, 0x3a,
-  0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74,
-  0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
-  0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x0d, 0xbb, 0xad, 0x60, 0x11, 0x1b, 0xb5, 0xf0,
-  0x0d, 0xcc, 0xe6, 0x48, 0x3a, 0x7a, 0x3e, 0x0e, 0x33, 0xdc, 0x1c, 0xb9, 0xea, 0xd6, 0x20, 0xfe,
-  0xa3, 0x4d, 0xd0, 0xcc, 0x76, 0x4e, 0xe8, 0x18, 0xd8, 0x79, 0xdf, 0xd3, 0x4f, 0x9a, 0x42, 0x64,
-  0x23, 0x8a, 0x29, 0x72, 0x8a, 0x3a, 0x6c, 0x66, 0xa6, 0x3c, 0x3a, 0x17, 0xa8, 0x70, 0x45, 0x65,
-  0xc6, 0x73, 0xc3, 0xd0, 0xce, 0x89, 0x54, 0xfb, 0xac, 0x69, 0x0f, 0x58, 0xb0, 0x19, 0xcb, 0x86,
-  0x9f, 0x7e, 0xb9, 0x7e, 0xeb, 0x51, 0x92, 0xbf, 0x9b, 0xdd, 0xeb, 0xd1, 0x65, 0xf0, 0x25, 0x7b,
-  0x88, 0x7c, 0xde, 0xbd, 0xa5, 0xc8, 0xb5, 0x14, 0x51, 0xbc, 0xc0, 0x81, 0x30, 0x8a, 0x85, 0x38,
-  0x7b, 0xe6, 0x79, 0xfe, 0x67, 0x55, 0x93, 0x87, 0xfe, 0x4f, 0xe8, 0x8d, 0x0e, 0xed, 0xf3, 0x72,
-  0x92, 0xb5, 0xc2, 0x89, 0x80, 0x6d, 0xd1, 0x59, 0xe3, 0x1d, 0x0d, 0xea, 0xb1, 0x38, 0xee, 0x03,
-  0x9d, 0x00, 0x19, 0xa5, 0xab, 0x21, 0x9b, 0x79, 0xc3, 0xcc, 0xc2, 0x3e, 0x68, 0x7e, 0xbd, 0xc9,
-  0x4d, 0x69, 0x4d, 0xb4, 0x64, 0x51, 0xfb, 0xb2, 0x28, 0x74, 0xe2, 0x53, 0x89, 0xce, 0x9d, 0xfa,
-  0xad, 0xe2, 0xdb, 0xce, 0xab, 0x7b, 0x7e, 0x06, 0x44, 0x74, 0xfd, 0x0a, 0xa3, 0xc9, 0xb7, 0xa7,
-  0x30, 0xcd, 0x49, 0xd2, 0x92, 0x64, 0xf1, 0x22, 0xa6, 0xb8, 0x28, 0x45, 0x74, 0x79, 0xe9, 0xa7,
-  0xce, 0x3b, 0x33, 0xf9, 0x83, 0x50, 0x94, 0x7d, 0x68, 0xc0, 0x1d, 0x49, 0xc7, 0x60, 0x78, 0x7a,
-  0x3c, 0x64, 0x26, 0xd5, 0xbe, 0xfa, 0x0a, 0x6d, 0xe4, 0x1e, 0xe1, 0x09, 0x53, 0x8f, 0xa9, 0xc5,
-  0x23, 0xac, 0xc7, 0x9d, 0x61, 0x42, 0x21, 0xf0, 0x2c, 0x16, 0x71, 0x49, 0x3b, 0x10, 0xaf, 0x2c,
-  0x6f, 0x1a, 0xe6, 0x31, 0xf1, 0x14, 0xfd, 0x6c
-  };
-
-//
-//TBSCert in TestSub Certificate
-//
-UINT8 TBSCert[479] = {
-  0x30, 0x82, 0x01, 0xdb, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xf9, 0xcd, 0x3a, 0x06, 0x4d,
-  0x83, 0x34, 0xab, 0x4a, 0x5c, 0xf2, 0x7d, 0xc8, 0x72, 0xd6, 0x28, 0x30, 0x09, 0x06, 0x05, 0x2b,
-  0x0e, 0x03, 0x02, 0x1d, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
-  0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31,
-  0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x39,
-  0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30,
-  0x0e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 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,
-  0xb1, 0x6d, 0x01, 0x2e, 0xc2, 0xea, 0x72, 0x83, 0xda, 0x47, 0xcf, 0xc2, 0xb9, 0x03, 0xc5, 0x2d,
-  0x1e, 0x06, 0xa1, 0x36, 0xd2, 0x81, 0x7b, 0x51, 0xaa, 0x10, 0xdd, 0x74, 0xcb, 0x57, 0x41, 0x1f,
-  0xfe, 0x5a, 0x9c, 0xa1, 0x81, 0x0a, 0xdf, 0x0a, 0x54, 0x38, 0xa2, 0xa5, 0x35, 0xaf, 0xb3, 0xd0,
-  0x43, 0xc1, 0x11, 0xbb, 0xfd, 0x82, 0x4a, 0x64, 0xbf, 0x35, 0xe4, 0xc5, 0x95, 0x1a, 0x2b, 0x6d,
-  0x3d, 0xa7, 0x06, 0x26, 0xbf, 0xba, 0x3a, 0x92, 0x39, 0xc2, 0xb5, 0x24, 0xa2, 0xe7, 0x91, 0x91,
-  0xd6, 0x83, 0x15, 0x4a, 0x45, 0x6a, 0x90, 0x43, 0xd5, 0x4e, 0x18, 0xd2, 0xce, 0xa7, 0xca, 0x0b,
-  0x0a, 0x1e, 0x80, 0xe2, 0x97, 0xb3, 0x62, 0xc3, 0xac, 0x36, 0x5a, 0x10, 0x78, 0xb9, 0x87, 0xba,
-  0xfb, 0x36, 0xe3, 0xc2, 0x39, 0x66, 0x68, 0x1c, 0x31, 0xd4, 0x32, 0xe3, 0x4f, 0x62, 0x3a, 0x32,
-  0x4b, 0xc6, 0xf4, 0x56, 0xcd, 0xc1, 0xdf, 0x76, 0x52, 0x43, 0x4f, 0xb4, 0x2e, 0x29, 0x06, 0x0a,
-  0x28, 0xb9, 0x03, 0xdd, 0x65, 0x81, 0x1a, 0x7a, 0x47, 0x2f, 0x86, 0xab, 0x37, 0xd9, 0xe3, 0x83,
-  0x6c, 0xe0, 0x7d, 0x74, 0x26, 0x16, 0x8f, 0xcc, 0x2c, 0x12, 0xbb, 0x06, 0xd5, 0x7e, 0x3b, 0x5a,
-  0xe7, 0x22, 0x1b, 0x41, 0xb3, 0x9f, 0xa4, 0x8c, 0x09, 0xc6, 0x8b, 0x4c, 0x60, 0xf1, 0x9d, 0xde,
-  0x94, 0x05, 0x19, 0xc4, 0xe3, 0x10, 0x31, 0x02, 0xe0, 0xef, 0x4b, 0x7b, 0x76, 0xbf, 0xb2, 0xc3,
-  0xc8, 0x13, 0x67, 0xef, 0x15, 0xf5, 0xab, 0x17, 0xf9, 0x8b, 0x99, 0x09, 0xec, 0x17, 0xc7, 0x94,
-  0xdb, 0x3e, 0xae, 0x88, 0x49, 0x4b, 0xbc, 0x28, 0x02, 0x57, 0xf6, 0xed, 0xf7, 0xde, 0x1f, 0xea,
-  0x67, 0x86, 0xca, 0x40, 0x61, 0x0f, 0x2c, 0xba, 0xcd, 0xc0, 0x55, 0x5e, 0xdc, 0xf8, 0xcd, 0x53,
-  0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x01,
-  0x04, 0x3d, 0x30, 0x3b, 0x80, 0x10, 0x84, 0xb5, 0x25, 0xa3, 0xd7, 0x99, 0x43, 0xe5, 0x71, 0xd3,
-  0x1d, 0xee, 0x15, 0x25, 0x0c, 0x6a, 0xa1, 0x15, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
-  0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x82, 0x10, 0x6f,
-  0xc8, 0x9c, 0x84, 0x28, 0x03, 0x85, 0x9b, 0x49, 0xa7, 0xd3, 0x63, 0x4f, 0xcc, 0x11, 0xf4
-};
-
-//
-// The SHA256 Digest Value of Sample TBSCert in TestSub Certificate
-//
-UINT8 TestSubHash[32] = {
-  0x04, 0xe7, 0x67, 0x7d, 0x45, 0x8b, 0x1a, 0x61, 0x3f, 0x9a, 0x27, 0xd0, 0x48, 0x92, 0xb4, 0xd5,
-  0xe9, 0x1e, 0xee, 0xf4, 0xed, 0x71, 0x1d, 0x30, 0x2d, 0x2e, 0x20, 0x2c, 0x34, 0x46, 0x5d, 0xaa
-};
\ No newline at end of file
+/** @file
+
+  Copyright 2016 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+Module Name:
+
+    Pkcs7BBTestData.c
+
+Abstract:
+
+    Pre Data for EFI Driver Pkcs7 Verify Protocol's Test
+
+--*/
+
+//
+// Sample Test Data for P7 Signing & Verification.
+//      "Hello World!
+//       Test for PKCS7 Blob Data Signing & Verification."
+//
+UINT8 TestBin[64] = {
+  0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x0d, 0x0a, 0x54, 0x65,
+  0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x4b, 0x43, 0x53, 0x37, 0x20, 0x42, 0x6c, 0x6f,
+  0x62, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x26,
+  0x20, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0d, 0x0a
+};
+
+//
+// The SHA256 Digest Value of Sample Test Data
+//
+UINT8 TestBinHash[32] = {
+  0x45, 0xce, 0x79, 0x80, 0xef, 0x43, 0x8f, 0x63, 0xd0, 0x75, 0x23, 0x48, 0x38, 0x2f, 0xd8, 0x48,
+  0x21, 0x5d, 0xcc, 0x37, 0x68, 0x97, 0x0f, 0xb4, 0x7c, 0xc1, 0xff, 0x91, 0xb2, 0x04, 0xf7, 0x0e
+};
+
+UINT8 TestSubCert[755] = {
+  0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01, 0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9,
+  0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30,
+  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F,
+  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30,
+  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A,
+  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30,
+  0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74,
+  0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01, 0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2,
+  0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1, 0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74,
+  0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C, 0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5,
+  0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11, 0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5,
+  0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06, 0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24,
+  0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15, 0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2,
+  0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80, 0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10,
+  0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3, 0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3,
+  0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4, 0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4,
+  0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03, 0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB,
+  0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D, 0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06,
+  0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B, 0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C,
+  0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19, 0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B,
+  0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67, 0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09,
+  0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE, 0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED,
+  0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA, 0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E,
+  0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06,
+  0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99,
+  0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11,
+  0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F,
+  0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F,
+  0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82,
+  0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD, 0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A,
+  0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF, 0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88,
+  0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74, 0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70,
+  0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9, 0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C,
+  0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91, 0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66,
+  0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93, 0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC,
+  0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E, 0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F,
+  0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF, 0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9,
+  0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08, 0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5,
+  0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49, 0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2,
+  0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87, 0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD,
+  0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91, 0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35,
+  0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3, 0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6,
+  0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51, 0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0,
+  0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7, 0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69,
+  0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D, 0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C,
+  0x74, 0x84, 0xA1
+};
+
+UINT8 TestRootCert[756] = {
+  0x30, 0x82, 0x02, 0xF0, 0x30, 0x82, 0x01, 0xDC, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x6F,
+  0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F, 0xCC, 0x11, 0xF4, 0x30,
+  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F,
+  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30,
+  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x30, 0x31, 0x33, 0x5A,
+  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30,
+  0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74,
+  0x52, 0x6F, 0x6F, 0x74, 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, 0xD0, 0xCC, 0xC7, 0x8F, 0x69, 0xAB, 0x7C, 0xEE, 0xF4, 0xEC, 0xEE,
+  0x82, 0x8A, 0xD3, 0xE0, 0x14, 0x19, 0x1F, 0xB8, 0xCC, 0xA8, 0x65, 0xF3, 0xF8, 0x93, 0xF6, 0xBA,
+  0x23, 0x11, 0xA5, 0xDC, 0xD4, 0xBC, 0xB6, 0xAD, 0x6E, 0x06, 0xCC, 0x19, 0x1A, 0xCE, 0x16, 0xFA,
+  0x0A, 0x36, 0x39, 0x2F, 0x90, 0x89, 0x90, 0xBB, 0x0A, 0xC3, 0xAF, 0x6E, 0x69, 0x6C, 0x0B, 0xB8,
+  0xD2, 0xD6, 0xB9, 0xC0, 0x23, 0xD7, 0x3C, 0x15, 0xFC, 0x24, 0x06, 0x9D, 0xED, 0x60, 0xEF, 0x29,
+  0xA3, 0x3B, 0xBA, 0x02, 0xC3, 0x5F, 0xA4, 0x36, 0xC6, 0xBF, 0x8B, 0x8F, 0x32, 0x95, 0xE0, 0x5C,
+  0x80, 0xF5, 0x0E, 0x78, 0x45, 0xF5, 0xE1, 0x51, 0x19, 0x97, 0x1B, 0xDE, 0xD4, 0xBB, 0xF2, 0x9B,
+  0xFF, 0x01, 0xE3, 0x4B, 0x9C, 0xEF, 0x7E, 0x3F, 0x1C, 0x97, 0x82, 0x21, 0x9A, 0xCA, 0x90, 0x36,
+  0x7F, 0x83, 0xEA, 0x03, 0x1B, 0x79, 0x0B, 0x2F, 0xD7, 0xB3, 0x35, 0x79, 0x36, 0xD3, 0xE5, 0x40,
+  0x9C, 0x52, 0xB0, 0x36, 0x52, 0x0E, 0x8A, 0x9D, 0xA9, 0x02, 0xE0, 0x8C, 0xF1, 0x02, 0x12, 0x70,
+  0x29, 0x2C, 0xAE, 0x3E, 0x9C, 0x7F, 0x3A, 0xB7, 0x2D, 0x4B, 0xB9, 0x51, 0x68, 0x35, 0xCA, 0xBC,
+  0xCC, 0x50, 0x46, 0xCE, 0xB9, 0x2C, 0x4F, 0xBE, 0x27, 0x0E, 0xD5, 0x8F, 0x31, 0x40, 0x61, 0xCC,
+  0xE5, 0x7F, 0x89, 0x8B, 0xC7, 0x15, 0x13, 0xDA, 0x1A, 0x5A, 0xD0, 0xFE, 0xCE, 0x47, 0x10, 0xCC,
+  0xBC, 0xE4, 0xDB, 0x34, 0x23, 0x0F, 0xFE, 0xE4, 0x23, 0xE7, 0x30, 0x70, 0xE2, 0xE4, 0xFC, 0x8F,
+  0xBA, 0xD9, 0x49, 0xD0, 0xA0, 0xAB, 0x4D, 0x69, 0xA2, 0xE4, 0xBB, 0x2A, 0x53, 0x74, 0x08, 0xE5,
+  0x98, 0x32, 0x24, 0x92, 0xE3, 0x27, 0x28, 0x93, 0xC0, 0xB0, 0xE6, 0x0F, 0xFA, 0x05, 0xEA, 0xCA,
+  0x1D, 0x4F, 0x45, 0x67, 0xC9, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44,
+  0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7,
+  0x99, 0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31,
+  0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F,
+  0x6F, 0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63,
+  0x4F, 0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03,
+  0x82, 0x01, 0x01, 0x00, 0x07, 0x71, 0x55, 0x58, 0x31, 0xF5, 0x2D, 0xDA, 0x85, 0xDA, 0xF2, 0x62,
+  0x2D, 0xC2, 0xD3, 0xD9, 0x86, 0x43, 0x50, 0xE8, 0xC5, 0x51, 0x6C, 0xA2, 0x6D, 0x5A, 0xFB, 0x10,
+  0x57, 0xFA, 0x63, 0x8E, 0x58, 0xA2, 0x07, 0xFC, 0xB7, 0xA1, 0x5C, 0x6E, 0xF7, 0x6B, 0xD0, 0x11,
+  0x4A, 0xCB, 0xF4, 0xC1, 0xA4, 0xDE, 0x43, 0x2D, 0x1A, 0xEF, 0xD8, 0x71, 0x44, 0xA3, 0xEA, 0xBF,
+  0x1F, 0xFE, 0x20, 0xA3, 0x97, 0xEF, 0x30, 0xF9, 0x9F, 0x7C, 0xC5, 0x75, 0xF9, 0xDC, 0x29, 0xEC,
+  0x72, 0xED, 0xD3, 0x58, 0xD2, 0x3C, 0xA3, 0x95, 0x64, 0xC9, 0xD4, 0xE0, 0xD8, 0xAF, 0xC2, 0x2E,
+  0x21, 0x02, 0xE1, 0xFC, 0x29, 0xB0, 0x63, 0x9B, 0x46, 0x2C, 0xB4, 0x6C, 0x59, 0x7E, 0x51, 0xA8,
+  0x0F, 0x33, 0x92, 0x94, 0x60, 0x99, 0x4D, 0x31, 0x9D, 0xA3, 0x4E, 0x23, 0x11, 0xAD, 0xD9, 0xC4,
+  0x03, 0xB9, 0x3D, 0x0C, 0x9F, 0x37, 0x94, 0x6F, 0xC7, 0x3E, 0xCE, 0xCF, 0x49, 0x09, 0x64, 0x19,
+  0xF6, 0x8F, 0xE2, 0xE5, 0xCA, 0x0A, 0x3C, 0x90, 0x41, 0xD2, 0xA4, 0x37, 0xEB, 0x47, 0xEC, 0x54,
+  0x5A, 0xD0, 0xFD, 0xE4, 0x36, 0x5C, 0x8A, 0xB4, 0x8A, 0x94, 0xF9, 0x58, 0x07, 0xF5, 0xC8, 0x33,
+  0x76, 0x62, 0xD2, 0xD5, 0x84, 0xCF, 0x85, 0xF9, 0x0C, 0x8F, 0xF6, 0xF7, 0xEC, 0xE8, 0xA8, 0xA3,
+  0x17, 0x7C, 0xC1, 0x5D, 0x06, 0x19, 0x41, 0x06, 0xC6, 0x58, 0x54, 0xE0, 0x1B, 0x3B, 0x72, 0xA2,
+  0x64, 0x89, 0xF5, 0x5E, 0x7C, 0x05, 0x2F, 0xE5, 0x2D, 0x98, 0x27, 0x61, 0x97, 0x41, 0x2C, 0x20,
+  0x59, 0x81, 0x0C, 0x9D, 0xC1, 0x0F, 0xD9, 0x06, 0x75, 0x3D, 0x32, 0xFA, 0x0F, 0xBF, 0x74, 0xF4,
+  0xE2, 0x9C, 0x7E, 0xDD, 0x67, 0x9F, 0x1B, 0x61, 0x89, 0xAB, 0xD6, 0x85, 0x87, 0x1F, 0xC9, 0xBF,
+  0x07, 0x60, 0xF3, 0x33
+};
+
+//
+// Embedded PKCS7 signedData (by signing TestBin with TestSub Certificate, and Timestamped)
+//
+UINT8 P7Embedded[3330] = {
+  0x30, 0x82, 0x0C, 0xFE, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0,
+  0x82, 0x0C, 0xEF, 0x30, 0x82, 0x0C, 0xEB, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09,
+  0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x4F, 0x06, 0x09, 0x2A,
+  0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x01, 0xA0, 0x42, 0x04, 0x40, 0x48, 0x65, 0x6C, 0x6C,
+  0x6F, 0x20, 0x57, 0x6F, 0x72, 0x6C, 0x64, 0x21, 0x0D, 0x0A, 0x54, 0x65, 0x73, 0x74, 0x20, 0x66,
+  0x6F, 0x72, 0x20, 0x50, 0x4B, 0x43, 0x53, 0x37, 0x20, 0x42, 0x6C, 0x6F, 0x62, 0x20, 0x44, 0x61,
+  0x74, 0x61, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x69, 0x6E, 0x67, 0x20, 0x26, 0x20, 0x56, 0x65, 0x72,
+  0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2E, 0x0D, 0x0A, 0xA0, 0x82, 0x02, 0xF3,
+  0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01, 0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9,
+  0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30,
+  0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F,
+  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30,
+  0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A,
+  0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30,
+  0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74,
+  0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01, 0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2,
+  0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1, 0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74,
+  0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C, 0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5,
+  0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11, 0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5,
+  0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06, 0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24,
+  0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15, 0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2,
+  0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80, 0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10,
+  0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3, 0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3,
+  0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4, 0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4,
+  0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03, 0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB,
+  0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D, 0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06,
+  0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B, 0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C,
+  0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19, 0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B,
+  0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67, 0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09,
+  0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE, 0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED,
+  0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA, 0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E,
+  0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06,
+  0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99,
+  0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15, 0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11,
+  0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F,
+  0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84, 0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F,
+  0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82,
+  0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD, 0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A,
+  0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF, 0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88,
+  0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74, 0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70,
+  0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9, 0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C,
+  0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91, 0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66,
+  0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93, 0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC,
+  0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E, 0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F,
+  0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF, 0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9,
+  0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08, 0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5,
+  0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49, 0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2,
+  0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87, 0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD,
+  0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91, 0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35,
+  0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3, 0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6,
+  0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51, 0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0,
+  0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7, 0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69,
+  0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D, 0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C,
+  0x74, 0x84, 0xA1, 0x31, 0x82, 0x09, 0x8B, 0x30, 0x82, 0x09, 0x87, 0x02, 0x01, 0x01, 0x30, 0x27,
+  0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73,
+  0x74, 0x52, 0x6F, 0x6F, 0x74, 0x02, 0x10, 0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A,
+  0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 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, 0x22, 0xB9, 0x4A, 0x53, 0xA4, 0x35, 0xF3,
+  0xDA, 0xF3, 0xA9, 0x37, 0x12, 0xF7, 0x5B, 0x8F, 0xFA, 0x14, 0x57, 0x86, 0x59, 0xA6, 0x9A, 0xC2,
+  0x7C, 0x1C, 0x79, 0xC3, 0xD2, 0xF8, 0x84, 0x6C, 0x4E, 0x14, 0x44, 0x6C, 0x56, 0x45, 0x3C, 0x38,
+  0xC3, 0x6B, 0x12, 0x02, 0x97, 0xB7, 0x86, 0xA7, 0xAC, 0x2E, 0x46, 0xA8, 0xF9, 0xA9, 0x57, 0x13,
+  0x28, 0xCE, 0x37, 0x57, 0x1C, 0xC9, 0xCD, 0x8E, 0xC4, 0xFE, 0x56, 0xC6, 0x97, 0x11, 0x2E, 0xFA,
+  0xE0, 0x09, 0x91, 0xF7, 0x30, 0xF9, 0x45, 0x2C, 0x41, 0xAA, 0xAF, 0xFF, 0x3D, 0x55, 0xCB, 0x89,
+  0x0A, 0xFE, 0xF6, 0x60, 0xD4, 0xDF, 0x64, 0xF6, 0x1C, 0xDD, 0x8C, 0x84, 0x2F, 0xB6, 0x67, 0x1D,
+  0xD7, 0xE2, 0xB9, 0x9A, 0x04, 0x07, 0xF8, 0xDC, 0x5B, 0xA3, 0x12, 0x91, 0x08, 0x00, 0x85, 0x95,
+  0xA1, 0x17, 0x8D, 0x93, 0x49, 0x6A, 0xAA, 0x4E, 0xE4, 0xF5, 0x4B, 0xDE, 0x22, 0x21, 0xE2, 0x57,
+  0x62, 0x7D, 0x6E, 0xC1, 0x31, 0x38, 0x2C, 0x89, 0x93, 0x07, 0x42, 0x5B, 0xDB, 0x56, 0x71, 0x39,
+  0x1F, 0xED, 0xCA, 0x43, 0x67, 0x88, 0xC9, 0x8E, 0x23, 0x0D, 0x68, 0x5B, 0x7E, 0x38, 0x52, 0x5C,
+  0x96, 0xE7, 0x5F, 0x32, 0x2F, 0x5F, 0x37, 0x4E, 0x9E, 0x27, 0xA5, 0x79, 0xF9, 0x03, 0xAB, 0x3C,
+  0xB5, 0x20, 0x1E, 0x01, 0x48, 0x9B, 0xB8, 0x11, 0x12, 0xB2, 0xCA, 0x8B, 0x69, 0x08, 0x5F, 0x78,
+  0x80, 0x09, 0x14, 0xA0, 0x3D, 0x57, 0x2B, 0xBB, 0x75, 0x9A, 0xFF, 0x33, 0xA2, 0x2B, 0x1C, 0x3B,
+  0xEE, 0xBF, 0xE5, 0x8B, 0x34, 0xDB, 0x54, 0x15, 0xE2, 0x5E, 0x13, 0x56, 0x02, 0x5D, 0xB9, 0x3D,
+  0x5A, 0x47, 0x59, 0x5D, 0x86, 0xC1, 0x75, 0xED, 0x4E, 0x12, 0xD7, 0x69, 0x76, 0xB2, 0xED, 0xBA,
+  0x65, 0xA2, 0x1A, 0xDB, 0x01, 0x81, 0x62, 0x7E, 0x07, 0xA1, 0x82, 0x08, 0x35, 0x30, 0x82, 0x08,
+  0x31, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01, 0x31, 0x82, 0x08,
+  0x21, 0x30, 0x82, 0x08, 0x1D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02,
+  0xA0, 0x82, 0x08, 0x0E, 0x30, 0x82, 0x08, 0x0A, 0x02, 0x01, 0x03, 0x31, 0x0B, 0x30, 0x09, 0x06,
+  0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x81, 0xF5, 0x06, 0x0B, 0x2A, 0x86, 0x48,
+  0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0xA0, 0x81, 0xE5, 0x04, 0x81, 0xE2, 0x30, 0x81,
+  0xDF, 0x02, 0x01, 0x01, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0xB2, 0x31, 0x02, 0x01, 0x01,
+  0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x04, 0x14, 0x0B,
+  0x23, 0xE5, 0xBC, 0x00, 0x34, 0x5B, 0x80, 0x78, 0x3D, 0xA8, 0x7F, 0x2A, 0xEA, 0x2B, 0xD1, 0xFF,
+  0xA3, 0x5D, 0x26, 0x02, 0x14, 0x1D, 0xB9, 0x80, 0x23, 0xB7, 0x31, 0xAC, 0xC2, 0x54, 0x58, 0x3A,
+  0xC7, 0x47, 0x58, 0x96, 0x28, 0x22, 0x2C, 0x88, 0x37, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x35, 0x30,
+  0x38, 0x31, 0x39, 0x30, 0x31, 0x35, 0x35, 0x32, 0x38, 0x5A, 0xA0, 0x81, 0x83, 0xA4, 0x81, 0x80,
+  0x30, 0x7E, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31,
+  0x1B, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65,
+  0x72, 0x20, 0x4D, 0x61, 0x6E, 0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E,
+  0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A,
+  0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20,
+  0x43, 0x41, 0x20, 0x4C, 0x69, 0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03,
+  0x55, 0x04, 0x03, 0x13, 0x1B, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x54, 0x69, 0x6D, 0x65,
+  0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72,
+  0xA0, 0x82, 0x04, 0x98, 0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7C, 0xA0, 0x03, 0x02, 0x01,
+  0x02, 0x02, 0x11, 0x00, 0x9F, 0xEA, 0xC8, 0x11, 0xB0, 0xF1, 0x62, 0x47, 0xA5, 0xFC, 0x20, 0xD8,
+  0x05, 0x23, 0xAC, 0xE6, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01,
+  0x05, 0x05, 0x00, 0x30, 0x81, 0x95, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13,
+  0x02, 0x55, 0x53, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54,
+  0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0E, 0x53, 0x61, 0x6C, 0x74, 0x20,
+  0x4C, 0x61, 0x6B, 0x65, 0x20, 0x43, 0x69, 0x74, 0x79, 0x31, 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55,
+  0x04, 0x0A, 0x13, 0x15, 0x54, 0x68, 0x65, 0x20, 0x55, 0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53,
+  0x54, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B, 0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55,
+  0x04, 0x0B, 0x13, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x75,
+  0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x31, 0x1D, 0x30, 0x1B,
+  0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x55, 0x54, 0x4E, 0x2D, 0x55, 0x53, 0x45, 0x52, 0x46,
+  0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31,
+  0x35, 0x30, 0x35, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, 0x31, 0x35,
+  0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x7E, 0x31, 0x0B, 0x30,
+  0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1B, 0x30, 0x19, 0x06, 0x03,
+  0x55, 0x04, 0x08, 0x13, 0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4D, 0x61, 0x6E,
+  0x63, 0x68, 0x65, 0x73, 0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x04, 0x07,
+  0x13, 0x07, 0x53, 0x61, 0x6C, 0x66, 0x6F, 0x72, 0x64, 0x31, 0x1A, 0x30, 0x18, 0x06, 0x03, 0x55,
+  0x04, 0x0A, 0x13, 0x11, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x43, 0x41, 0x20, 0x4C, 0x69,
+  0x6D, 0x69, 0x74, 0x65, 0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1B,
+  0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D,
+  0x70, 0x69, 0x6E, 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72, 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, 0xBC, 0x35, 0xA0, 0x36,
+  0x70, 0x22, 0x81, 0x11, 0xC3, 0xB2, 0x83, 0xB9, 0xD3, 0x28, 0xC6, 0x36, 0xCD, 0x25, 0x6B, 0xA9,
+  0x7B, 0xB2, 0x1C, 0xF6, 0x9B, 0x51, 0x9C, 0xEF, 0x35, 0xF4, 0xED, 0x08, 0x8E, 0x5E, 0x38, 0x08,
+  0xF8, 0x77, 0x3C, 0x0A, 0x42, 0xE0, 0xF3, 0x70, 0xDC, 0xA3, 0xD7, 0xCA, 0xF5, 0x4C, 0x0B, 0xCF,
+  0xFF, 0x22, 0x9C, 0x0A, 0x7E, 0x68, 0xD6, 0x09, 0xA2, 0x2A, 0x84, 0x7B, 0xA6, 0x9D, 0xB4, 0xA9,
+  0xC1, 0x33, 0xE2, 0xEF, 0x1F, 0x17, 0x48, 0xCA, 0x3A, 0xCD, 0x46, 0xE6, 0xC5, 0xAA, 0x77, 0xBD,
+  0xE3, 0x77, 0x9A, 0xFA, 0x47, 0x53, 0x40, 0x28, 0x59, 0x43, 0x93, 0xF1, 0xA4, 0x81, 0xEA, 0xEF,
+  0x80, 0xB5, 0x4F, 0xA7, 0x08, 0xCE, 0xBA, 0x6E, 0xBC, 0xCA, 0x76, 0x0C, 0x97, 0x64, 0x59, 0x86,
+  0x24, 0xBB, 0x3D, 0x82, 0x90, 0xA8, 0x55, 0xB1, 0x92, 0xD3, 0xA0, 0xA7, 0x05, 0xAC, 0x9F, 0x53,
+  0x25, 0x08, 0x10, 0x47, 0x99, 0xCD, 0x98, 0xDE, 0x68, 0xE5, 0xB4, 0x50, 0x78, 0xA3, 0xAF, 0x01,
+  0xCC, 0x59, 0x43, 0x58, 0xE4, 0x76, 0x6E, 0x7E, 0xAC, 0xC7, 0xE2, 0x9E, 0x1F, 0x4F, 0xB0, 0x47,
+  0x2D, 0xC8, 0x0C, 0xA3, 0x49, 0x27, 0x80, 0x75, 0x8C, 0xBB, 0x06, 0x91, 0x65, 0x0F, 0x90, 0x9B,
+  0xF4, 0xBA, 0xD1, 0x81, 0xC8, 0x5C, 0x6A, 0xEC, 0x14, 0xE9, 0x25, 0x09, 0xBF, 0x23, 0x16, 0xF4,
+  0x95, 0x46, 0x40, 0x40, 0x21, 0xBB, 0x83, 0x96, 0xFD, 0x86, 0x1F, 0x7A, 0xC8, 0x0D, 0x10, 0x8E,
+  0xA2, 0xF8, 0x19, 0x07, 0x58, 0x7F, 0x9F, 0xBD, 0x37, 0x02, 0x60, 0xF2, 0xA4, 0xE9, 0x9D, 0x44,
+  0x3F, 0x30, 0x05, 0xE4, 0xA7, 0x70, 0x99, 0x51, 0x9A, 0xE8, 0x17, 0xF1, 0x55, 0xCA, 0xB2, 0x61,
+  0x89, 0x65, 0x46, 0xA7, 0x6A, 0xF2, 0x58, 0x46, 0x7E, 0xAA, 0xA0, 0x07, 0x02, 0x03, 0x01, 0x00,
+  0x01, 0xA3, 0x81, 0xF4, 0x30, 0x81, 0xF1, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x1D, 0x23, 0x04, 0x18,
+  0x30, 0x16, 0x80, 0x14, 0xDA, 0xED, 0x64, 0x74, 0x14, 0x9C, 0x14, 0x3C, 0xAB, 0xDD, 0x99, 0xA9,
+  0xBD, 0x5B, 0x28, 0x4D, 0x8B, 0x3C, 0xC9, 0xD8, 0x30, 0x1D, 0x06, 0x03, 0x55, 0x1D, 0x0E, 0x04,
+  0x16, 0x04, 0x14, 0x2E, 0x2D, 0xB0, 0x0A, 0x44, 0x4A, 0xD3, 0x87, 0xC0, 0x02, 0x07, 0xCE, 0x97,
+  0x7D, 0x50, 0x62, 0x20, 0xFD, 0x0F, 0x83, 0x30, 0x0E, 0x06, 0x03, 0x55, 0x1D, 0x0F, 0x01, 0x01,
+  0xFF, 0x04, 0x04, 0x03, 0x02, 0x06, 0xC0, 0x30, 0x0C, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01,
+  0xFF, 0x04, 0x02, 0x30, 0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1D, 0x25, 0x01, 0x01, 0xFF, 0x04,
+  0x0C, 0x30, 0x0A, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x42, 0x06,
+  0x03, 0x55, 0x1D, 0x1F, 0x04, 0x3B, 0x30, 0x39, 0x30, 0x37, 0xA0, 0x35, 0xA0, 0x33, 0x86, 0x31,
+  0x68, 0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x63, 0x72, 0x6C, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74,
+  0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x2F, 0x55, 0x54, 0x4E, 0x2D, 0x55, 0x53, 0x45,
+  0x52, 0x46, 0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x2E, 0x63, 0x72,
+  0x6C, 0x30, 0x35, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x29, 0x30,
+  0x27, 0x30, 0x25, 0x06, 0x08, 0x2B, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68,
+  0x74, 0x74, 0x70, 0x3A, 0x2F, 0x2F, 0x6F, 0x63, 0x73, 0x70, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74,
+  0x72, 0x75, 0x73, 0x74, 0x2E, 0x63, 0x6F, 0x6D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86,
+  0xF7, 0x0D, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x0D, 0xBB, 0xAD, 0x60,
+  0x11, 0x1B, 0xB5, 0xF0, 0x0D, 0xCC, 0xE6, 0x48, 0x3A, 0x7A, 0x3E, 0x0E, 0x33, 0xDC, 0x1C, 0xB9,
+  0xEA, 0xD6, 0x20, 0xFE, 0xA3, 0x4D, 0xD0, 0xCC, 0x76, 0x4E, 0xE8, 0x18, 0xD8, 0x79, 0xDF, 0xD3,
+  0x4F, 0x9A, 0x42, 0x64, 0x23, 0x8A, 0x29, 0x72, 0x8A, 0x3A, 0x6C, 0x66, 0xA6, 0x3C, 0x3A, 0x17,
+  0xA8, 0x70, 0x45, 0x65, 0xC6, 0x73, 0xC3, 0xD0, 0xCE, 0x89, 0x54, 0xFB, 0xAC, 0x69, 0x0F, 0x58,
+  0xB0, 0x19, 0xCB, 0x86, 0x9F, 0x7E, 0xB9, 0x7E, 0xEB, 0x51, 0x92, 0xBF, 0x9B, 0xDD, 0xEB, 0xD1,
+  0x65, 0xF0, 0x25, 0x7B, 0x88, 0x7C, 0xDE, 0xBD, 0xA5, 0xC8, 0xB5, 0x14, 0x51, 0xBC, 0xC0, 0x81,
+  0x30, 0x8A, 0x85, 0x38, 0x7B, 0xE6, 0x79, 0xFE, 0x67, 0x55, 0x93, 0x87, 0xFE, 0x4F, 0xE8, 0x8D,
+  0x0E, 0xED, 0xF3, 0x72, 0x92, 0xB5, 0xC2, 0x89, 0x80, 0x6D, 0xD1, 0x59, 0xE3, 0x1D, 0x0D, 0xEA,
+  0xB1, 0x38, 0xEE, 0x03, 0x9D, 0x00, 0x19, 0xA5, 0xAB, 0x21, 0x9B, 0x79, 0xC3, 0xCC, 0xC2, 0x3E,
+  0x68, 0x7E, 0xBD, 0xC9, 0x4D, 0x69, 0x4D, 0xB4, 0x64, 0x51, 0xFB, 0xB2, 0x28, 0x74, 0xE2, 0x53,
+  0x89, 0xCE, 0x9D, 0xFA, 0xAD, 0xE2, 0xDB, 0xCE, 0xAB, 0x7B, 0x7E, 0x06, 0x44, 0x74, 0xFD, 0x0A,
+  0xA3, 0xC9, 0xB7, 0xA7, 0x30, 0xCD, 0x49, 0xD2, 0x92, 0x64, 0xF1, 0x22, 0xA6, 0xB8, 0x28, 0x45,
+  0x74, 0x79, 0xE9, 0xA7, 0xCE, 0x3B, 0x33, 0xF9, 0x83, 0x50, 0x94, 0x7D, 0x68, 0xC0, 0x1D, 0x49,
+  0xC7, 0x60, 0x78, 0x7A, 0x3C, 0x64, 0x26, 0xD5, 0xBE, 0xFA, 0x0A, 0x6D, 0xE4, 0x1E, 0xE1, 0x09,
+  0x53, 0x8F, 0xA9, 0xC5, 0x23, 0xAC, 0xC7, 0x9D, 0x61, 0x42, 0x21, 0xF0, 0x2C, 0x16, 0x71, 0x49,
+  0x3B, 0x10, 0xAF, 0x2C, 0x6F, 0x1A, 0xE6, 0x31, 0xF1, 0x14, 0xFD, 0x6C, 0x31, 0x82, 0x02, 0x62,
+  0x30, 0x82, 0x02, 0x5E, 0x02, 0x01, 0x01, 0x30, 0x81, 0xAB, 0x30, 0x81, 0x95, 0x31, 0x0B, 0x30,
+  0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x03,
+  0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x07,
+  0x13, 0x0E, 0x53, 0x61, 0x6C, 0x74, 0x20, 0x4C, 0x61, 0x6B, 0x65, 0x20, 0x43, 0x69, 0x74, 0x79,
+  0x31, 0x1E, 0x30, 0x1C, 0x06, 0x03, 0x55, 0x04, 0x0A, 0x13, 0x15, 0x54, 0x68, 0x65, 0x20, 0x55,
+  0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53, 0x54, 0x20, 0x4E, 0x65, 0x74, 0x77, 0x6F, 0x72, 0x6B,
+  0x31, 0x21, 0x30, 0x1F, 0x06, 0x03, 0x55, 0x04, 0x0B, 0x13, 0x18, 0x68, 0x74, 0x74, 0x70, 0x3A,
+  0x2F, 0x2F, 0x77, 0x77, 0x77, 0x2E, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74, 0x2E,
+  0x63, 0x6F, 0x6D, 0x31, 0x1D, 0x30, 0x1B, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x14, 0x55, 0x54,
+  0x4E, 0x2D, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72, 0x73, 0x74, 0x2D, 0x4F, 0x62, 0x6A, 0x65,
+  0x63, 0x74, 0x02, 0x11, 0x00, 0x9F, 0xEA, 0xC8, 0x11, 0xB0, 0xF1, 0x62, 0x47, 0xA5, 0xFC, 0x20,
+  0xD8, 0x05, 0x23, 0xAC, 0xE6, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00,
+  0xA0, 0x81, 0x8C, 0x30, 0x1A, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x03,
+  0x31, 0x0D, 0x06, 0x0B, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0x30,
+  0x1C, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x05, 0x31, 0x0F, 0x17, 0x0D,
+  0x31, 0x35, 0x30, 0x38, 0x31, 0x39, 0x30, 0x31, 0x35, 0x35, 0x32, 0x38, 0x5A, 0x30, 0x23, 0x06,
+  0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, 0x14, 0xD4, 0xD6,
+  0xA6, 0x46, 0x5F, 0x10, 0xF2, 0x3F, 0x76, 0x67, 0x5E, 0x37, 0xEB, 0x89, 0xDD, 0xCD, 0xA9, 0xD2,
+  0x78, 0x2E, 0x30, 0x2B, 0x06, 0x0B, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x02,
+  0x0C, 0x31, 0x1C, 0x30, 0x1A, 0x30, 0x18, 0x30, 0x16, 0x04, 0x14, 0xDF, 0x94, 0x6A, 0x5E, 0x50,
+  0x30, 0x15, 0x77, 0x7F, 0xD2, 0x2F, 0x46, 0xB5, 0x62, 0x4E, 0xCD, 0x27, 0xBE, 0xE3, 0x76, 0x30,
+  0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82,
+  0x01, 0x00, 0x60, 0x59, 0x47, 0x46, 0x6E, 0x02, 0x30, 0x14, 0x4D, 0xDE, 0xFB, 0x35, 0xF0, 0x88,
+  0x85, 0x4F, 0xFF, 0x82, 0x25, 0x3B, 0x64, 0xDD, 0xC6, 0x4F, 0x76, 0xC7, 0x85, 0x8B, 0xD8, 0x36,
+  0x23, 0x8B, 0xA4, 0x75, 0x75, 0xAD, 0xF2, 0x27, 0x00, 0xFB, 0x19, 0x83, 0xA0, 0x16, 0xEF, 0x45,
+  0xAB, 0xF7, 0x18, 0xC9, 0x6F, 0xDE, 0xB8, 0xA5, 0xE6, 0x2C, 0xB0, 0xF2, 0x35, 0x6C, 0x90, 0x10,
+  0xDC, 0x77, 0xB5, 0xC4, 0x0E, 0x88, 0x73, 0x01, 0x5B, 0xD5, 0x5A, 0x03, 0x3A, 0x76, 0x90, 0xFB,
+  0x09, 0xAB, 0x36, 0x8D, 0xD3, 0x75, 0x21, 0xE7, 0xF4, 0x9A, 0x18, 0x37, 0x5B, 0x8A, 0xCA, 0xFF,
+  0xC6, 0xD6, 0x00, 0xEA, 0xA9, 0x5B, 0xE6, 0xDB, 0xD5, 0x38, 0x89, 0x19, 0x77, 0x66, 0x86, 0x30,
+  0x67, 0x06, 0x33, 0x49, 0xA6, 0x69, 0x60, 0x99, 0xA4, 0xB4, 0x53, 0x91, 0x31, 0x76, 0x0E, 0x6E,
+  0x61, 0x7E, 0xDB, 0x37, 0xB5, 0x86, 0xA0, 0x47, 0x5E, 0x43, 0xAC, 0xFE, 0x44, 0xAA, 0x89, 0x65,
+  0xB8, 0xAD, 0x7C, 0x7D, 0xA6, 0x1D, 0x69, 0x52, 0xB3, 0x3B, 0xB6, 0xD7, 0xCD, 0xA2, 0x44, 0x29,
+  0x82, 0x22, 0xBD, 0x87, 0x4E, 0xA3, 0x3F, 0xFF, 0x85, 0x1D, 0xE7, 0xE4, 0xB1, 0xF6, 0xEB, 0xF8,
+  0x32, 0xB1, 0x25, 0x6F, 0x14, 0x49, 0x10, 0x3E, 0x1E, 0x05, 0xED, 0x6C, 0x86, 0xC8, 0xFD, 0x79,
+  0x2D, 0x45, 0xB1, 0x55, 0x19, 0xC2, 0x94, 0xE3, 0x8F, 0x31, 0x58, 0xCB, 0xBC, 0xA3, 0xAB, 0x89,
+  0xFB, 0x94, 0xC5, 0x88, 0xE8, 0xA3, 0x28, 0xC4, 0xB0, 0xC5, 0x75, 0x15, 0xAA, 0xF4, 0xBB, 0x62,
+  0x4B, 0xEE, 0x10, 0xA6, 0x13, 0x2E, 0x71, 0x29, 0xE6, 0x72, 0xD9, 0xFC, 0xA2, 0xF1, 0x0F, 0x65,
+  0x58, 0xE1, 0xF0, 0x21, 0x31, 0x57, 0x8E, 0xF0, 0x3D, 0xF0, 0xC5, 0x69, 0xAC, 0xED, 0x7E, 0x1A,
+  0x00, 0xA0
+};
+
+//
+// Detached PKCS7 signedData (by signing TestBin with TestSub Certificate)
+//
+UINT8 P7Detached[1138] = {
+0x30, 0x82, 0x04, 0x6E, 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, 0xF3, 0x30, 0x82, 0x02, 0xEF, 0x30, 0x82, 0x01,
+0xDB, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB,
+0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, 0x03, 0x02,
+0x1D, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x08,
+0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x30, 0x1E, 0x17, 0x0D, 0x31, 0x35, 0x30, 0x38,
+0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5A, 0x17, 0x0D, 0x33, 0x39, 0x31, 0x32, 0x33,
+0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5A, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0E, 0x06, 0x03,
+0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 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, 0xB1, 0x6D, 0x01,
+0x2E, 0xC2, 0xEA, 0x72, 0x83, 0xDA, 0x47, 0xCF, 0xC2, 0xB9, 0x03, 0xC5, 0x2D, 0x1E, 0x06, 0xA1,
+0x36, 0xD2, 0x81, 0x7B, 0x51, 0xAA, 0x10, 0xDD, 0x74, 0xCB, 0x57, 0x41, 0x1F, 0xFE, 0x5A, 0x9C,
+0xA1, 0x81, 0x0A, 0xDF, 0x0A, 0x54, 0x38, 0xA2, 0xA5, 0x35, 0xAF, 0xB3, 0xD0, 0x43, 0xC1, 0x11,
+0xBB, 0xFD, 0x82, 0x4A, 0x64, 0xBF, 0x35, 0xE4, 0xC5, 0x95, 0x1A, 0x2B, 0x6D, 0x3D, 0xA7, 0x06,
+0x26, 0xBF, 0xBA, 0x3A, 0x92, 0x39, 0xC2, 0xB5, 0x24, 0xA2, 0xE7, 0x91, 0x91, 0xD6, 0x83, 0x15,
+0x4A, 0x45, 0x6A, 0x90, 0x43, 0xD5, 0x4E, 0x18, 0xD2, 0xCE, 0xA7, 0xCA, 0x0B, 0x0A, 0x1E, 0x80,
+0xE2, 0x97, 0xB3, 0x62, 0xC3, 0xAC, 0x36, 0x5A, 0x10, 0x78, 0xB9, 0x87, 0xBA, 0xFB, 0x36, 0xE3,
+0xC2, 0x39, 0x66, 0x68, 0x1C, 0x31, 0xD4, 0x32, 0xE3, 0x4F, 0x62, 0x3A, 0x32, 0x4B, 0xC6, 0xF4,
+0x56, 0xCD, 0xC1, 0xDF, 0x76, 0x52, 0x43, 0x4F, 0xB4, 0x2E, 0x29, 0x06, 0x0A, 0x28, 0xB9, 0x03,
+0xDD, 0x65, 0x81, 0x1A, 0x7A, 0x47, 0x2F, 0x86, 0xAB, 0x37, 0xD9, 0xE3, 0x83, 0x6C, 0xE0, 0x7D,
+0x74, 0x26, 0x16, 0x8F, 0xCC, 0x2C, 0x12, 0xBB, 0x06, 0xD5, 0x7E, 0x3B, 0x5A, 0xE7, 0x22, 0x1B,
+0x41, 0xB3, 0x9F, 0xA4, 0x8C, 0x09, 0xC6, 0x8B, 0x4C, 0x60, 0xF1, 0x9D, 0xDE, 0x94, 0x05, 0x19,
+0xC4, 0xE3, 0x10, 0x31, 0x02, 0xE0, 0xEF, 0x4B, 0x7B, 0x76, 0xBF, 0xB2, 0xC3, 0xC8, 0x13, 0x67,
+0xEF, 0x15, 0xF5, 0xAB, 0x17, 0xF9, 0x8B, 0x99, 0x09, 0xEC, 0x17, 0xC7, 0x94, 0xDB, 0x3E, 0xAE,
+0x88, 0x49, 0x4B, 0xBC, 0x28, 0x02, 0x57, 0xF6, 0xED, 0xF7, 0xDE, 0x1F, 0xEA, 0x67, 0x86, 0xCA,
+0x40, 0x61, 0x0F, 0x2C, 0xBA, 0xCD, 0xC0, 0x55, 0x5E, 0xDC, 0xF8, 0xCD, 0x53, 0x02, 0x03, 0x01,
+0x00, 0x01, 0xA3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30,
+0x3B, 0x80, 0x10, 0x84, 0xB5, 0x25, 0xA3, 0xD7, 0x99, 0x43, 0xE5, 0x71, 0xD3, 0x1D, 0xEE, 0x15,
+0x25, 0x0C, 0x6A, 0xA1, 0x15, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x04, 0x03,
+0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x82, 0x10, 0x6F, 0xC8, 0x9C, 0x84,
+0x28, 0x03, 0x85, 0x9B, 0x49, 0xA7, 0xD3, 0x63, 0x4F, 0xCC, 0x11, 0xF4, 0x30, 0x09, 0x06, 0x05,
+0x2B, 0x0E, 0x03, 0x02, 0x1D, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x10, 0x5F, 0xC3, 0xCD,
+0x68, 0x05, 0x16, 0x26, 0x94, 0xBE, 0xEC, 0x30, 0x4A, 0x78, 0x58, 0x7A, 0xC8, 0xAC, 0x9E, 0xDF,
+0xF3, 0x8A, 0x31, 0x33, 0x92, 0x24, 0x18, 0xF5, 0x88, 0x1E, 0xBC, 0xFA, 0xA0, 0xC2, 0x14, 0x74,
+0xE1, 0x7B, 0x98, 0x84, 0x8B, 0xF5, 0x27, 0x2C, 0x70, 0x99, 0x8E, 0x98, 0x11, 0x01, 0xF7, 0xC9,
+0x52, 0xD2, 0x1B, 0x36, 0xC9, 0x9F, 0xC5, 0x80, 0x7C, 0xCF, 0xD8, 0xC1, 0xC9, 0x40, 0xF9, 0x91,
+0x27, 0xD0, 0x90, 0x3D, 0x1A, 0xDB, 0x60, 0x58, 0x66, 0x4D, 0xD7, 0xA4, 0x98, 0x37, 0x21, 0x93,
+0xB7, 0x87, 0xD3, 0x71, 0x6B, 0x36, 0xA2, 0x40, 0xFC, 0x19, 0x51, 0x80, 0x1D, 0xD6, 0xEF, 0x9E,
+0x5B, 0xD9, 0x7B, 0x02, 0x04, 0xE4, 0x53, 0x40, 0x5F, 0x3E, 0xE2, 0x4D, 0xEB, 0x19, 0x9E, 0xAF,
+0xC5, 0x5B, 0x8E, 0x4F, 0x6B, 0x7B, 0xC8, 0xB4, 0xC9, 0x35, 0xA3, 0x8B, 0xB4, 0x7B, 0x97, 0x08,
+0x49, 0x3E, 0x9B, 0x20, 0x49, 0x81, 0x1C, 0x85, 0xE5, 0xEF, 0x58, 0x46, 0x4F, 0x63, 0xF7, 0x49,
+0x3A, 0x1B, 0x83, 0xCD, 0x7C, 0x9B, 0xC2, 0xF8, 0xC2, 0x5D, 0x62, 0xD2, 0x4D, 0x18, 0xAD, 0x87,
+0x77, 0x54, 0x6F, 0x8C, 0x6A, 0x31, 0x64, 0x2E, 0xFD, 0x29, 0x8F, 0xDF, 0xC8, 0xC7, 0x35, 0x91,
+0xE4, 0x76, 0xA1, 0x0E, 0x03, 0x8F, 0xC1, 0xBF, 0x35, 0x4B, 0x2A, 0xF1, 0x7F, 0x8B, 0x0F, 0xC3,
+0x9D, 0x5D, 0x41, 0x40, 0x8A, 0x05, 0xEB, 0x53, 0xE6, 0xF4, 0x03, 0x33, 0x07, 0xAB, 0x21, 0x51,
+0x50, 0x37, 0xB5, 0x65, 0x43, 0x4D, 0x25, 0x8B, 0xB0, 0x77, 0x47, 0xA3, 0xC7, 0x1C, 0xC7, 0xE7,
+0xB4, 0x8B, 0x4D, 0x9E, 0x5B, 0x77, 0xE3, 0x36, 0x69, 0xB4, 0x8F, 0x0D, 0x6C, 0xD0, 0xC5, 0x9D,
+0x8D, 0xD2, 0x49, 0xED, 0x5B, 0x21, 0x61, 0xF6, 0x2C, 0x74, 0x84, 0xA1, 0x31, 0x82, 0x01, 0x52,
+0x30, 0x82, 0x01, 0x4E, 0x02, 0x01, 0x01, 0x30, 0x27, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0F, 0x06,
+0x03, 0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6F, 0x6F, 0x74, 0x02, 0x10,
+0xF9, 0xCD, 0x3A, 0x06, 0x4D, 0x83, 0x34, 0xAB, 0x4A, 0x5C, 0xF2, 0x7D, 0xC8, 0x72, 0xD6, 0x28,
+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, 0x22, 0xB9, 0x4A, 0x53, 0xA4, 0x35, 0xF3, 0xDA, 0xF3, 0xA9, 0x37, 0x12, 0xF7, 0x5B,
+0x8F, 0xFA, 0x14, 0x57, 0x86, 0x59, 0xA6, 0x9A, 0xC2, 0x7C, 0x1C, 0x79, 0xC3, 0xD2, 0xF8, 0x84,
+0x6C, 0x4E, 0x14, 0x44, 0x6C, 0x56, 0x45, 0x3C, 0x38, 0xC3, 0x6B, 0x12, 0x02, 0x97, 0xB7, 0x86,
+0xA7, 0xAC, 0x2E, 0x46, 0xA8, 0xF9, 0xA9, 0x57, 0x13, 0x28, 0xCE, 0x37, 0x57, 0x1C, 0xC9, 0xCD,
+0x8E, 0xC4, 0xFE, 0x56, 0xC6, 0x97, 0x11, 0x2E, 0xFA, 0xE0, 0x09, 0x91, 0xF7, 0x30, 0xF9, 0x45,
+0x2C, 0x41, 0xAA, 0xAF, 0xFF, 0x3D, 0x55, 0xCB, 0x89, 0x0A, 0xFE, 0xF6, 0x60, 0xD4, 0xDF, 0x64,
+0xF6, 0x1C, 0xDD, 0x8C, 0x84, 0x2F, 0xB6, 0x67, 0x1D, 0xD7, 0xE2, 0xB9, 0x9A, 0x04, 0x07, 0xF8,
+0xDC, 0x5B, 0xA3, 0x12, 0x91, 0x08, 0x00, 0x85, 0x95, 0xA1, 0x17, 0x8D, 0x93, 0x49, 0x6A, 0xAA,
+0x4E, 0xE4, 0xF5, 0x4B, 0xDE, 0x22, 0x21, 0xE2, 0x57, 0x62, 0x7D, 0x6E, 0xC1, 0x31, 0x38, 0x2C,
+0x89, 0x93, 0x07, 0x42, 0x5B, 0xDB, 0x56, 0x71, 0x39, 0x1F, 0xED, 0xCA, 0x43, 0x67, 0x88, 0xC9,
+0x8E, 0x23, 0x0D, 0x68, 0x5B, 0x7E, 0x38, 0x52, 0x5C, 0x96, 0xE7, 0x5F, 0x32, 0x2F, 0x5F, 0x37,
+0x4E, 0x9E, 0x27, 0xA5, 0x79, 0xF9, 0x03, 0xAB, 0x3C, 0xB5, 0x20, 0x1E, 0x01, 0x48, 0x9B, 0xB8,
+0x11, 0x12, 0xB2, 0xCA, 0x8B, 0x69, 0x08, 0x5F, 0x78, 0x80, 0x09, 0x14, 0xA0, 0x3D, 0x57, 0x2B,
+0xBB, 0x75, 0x9A, 0xFF, 0x33, 0xA2, 0x2B, 0x1C, 0x3B, 0xEE, 0xBF, 0xE5, 0x8B, 0x34, 0xDB, 0x54,
+0x15, 0xE2, 0x5E, 0x13, 0x56, 0x02, 0x5D, 0xB9, 0x3D, 0x5A, 0x47, 0x59, 0x5D, 0x86, 0xC1, 0x75,
+0xED, 0x4E, 0x12, 0xD7, 0x69, 0x76, 0xB2, 0xED, 0xBA, 0x65, 0xA2, 0x1A, 0xDB, 0x01, 0x81, 0x62,
+0x7E, 0x07
+};
+
+//
+// The Comodo Time Stamping Signer Certificate Used for the verification of TimeStamp signature
+// which was retrieved from signed-timestamped TestBin binary.
+//
+UINT8 TSRootCert[1176] = {
+  0x30, 0x82, 0x04, 0x94, 0x30, 0x82, 0x03, 0x7c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x11, 0x00,
+  0x9f, 0xea, 0xc8, 0x11, 0xb0, 0xf1, 0x62, 0x47, 0xa5, 0xfc, 0x20, 0xd8, 0x05, 0x23, 0xac, 0xe6,
+  0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30,
+  0x81, 0x95, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31,
+  0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x02, 0x55, 0x54, 0x31, 0x17, 0x30, 0x15,
+  0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x0e, 0x53, 0x61, 0x6c, 0x74, 0x20, 0x4c, 0x61, 0x6b, 0x65,
+  0x20, 0x43, 0x69, 0x74, 0x79, 0x31, 0x1e, 0x30, 0x1c, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x15,
+  0x54, 0x68, 0x65, 0x20, 0x55, 0x53, 0x45, 0x52, 0x54, 0x52, 0x55, 0x53, 0x54, 0x20, 0x4e, 0x65,
+  0x74, 0x77, 0x6f, 0x72, 0x6b, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0b, 0x13, 0x18,
+  0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74,
+  0x72, 0x75, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x31, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x04,
+  0x03, 0x13, 0x14, 0x55, 0x54, 0x4e, 0x2d, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72, 0x73, 0x74,
+  0x2d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x35, 0x30, 0x35, 0x30,
+  0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5a, 0x17, 0x0d, 0x31, 0x35, 0x31, 0x32, 0x33, 0x31,
+  0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x7e, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55,
+  0x04, 0x06, 0x13, 0x02, 0x47, 0x42, 0x31, 0x1b, 0x30, 0x19, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13,
+  0x12, 0x47, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x4d, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x73,
+  0x74, 0x65, 0x72, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x07, 0x13, 0x07, 0x53, 0x61,
+  0x6c, 0x66, 0x6f, 0x72, 0x64, 0x31, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x11,
+  0x43, 0x4f, 0x4d, 0x4f, 0x44, 0x4f, 0x20, 0x43, 0x41, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x65,
+  0x64, 0x31, 0x24, 0x30, 0x22, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x1b, 0x43, 0x4f, 0x4d, 0x4f,
+  0x44, 0x4f, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67,
+  0x20, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 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, 0xbc, 0x35, 0xa0, 0x36, 0x70, 0x22, 0x81, 0x11,
+  0xc3, 0xb2, 0x83, 0xb9, 0xd3, 0x28, 0xc6, 0x36, 0xcd, 0x25, 0x6b, 0xa9, 0x7b, 0xb2, 0x1c, 0xf6,
+  0x9b, 0x51, 0x9c, 0xef, 0x35, 0xf4, 0xed, 0x08, 0x8e, 0x5e, 0x38, 0x08, 0xf8, 0x77, 0x3c, 0x0a,
+  0x42, 0xe0, 0xf3, 0x70, 0xdc, 0xa3, 0xd7, 0xca, 0xf5, 0x4c, 0x0b, 0xcf, 0xff, 0x22, 0x9c, 0x0a,
+  0x7e, 0x68, 0xd6, 0x09, 0xa2, 0x2a, 0x84, 0x7b, 0xa6, 0x9d, 0xb4, 0xa9, 0xc1, 0x33, 0xe2, 0xef,
+  0x1f, 0x17, 0x48, 0xca, 0x3a, 0xcd, 0x46, 0xe6, 0xc5, 0xaa, 0x77, 0xbd, 0xe3, 0x77, 0x9a, 0xfa,
+  0x47, 0x53, 0x40, 0x28, 0x59, 0x43, 0x93, 0xf1, 0xa4, 0x81, 0xea, 0xef, 0x80, 0xb5, 0x4f, 0xa7,
+  0x08, 0xce, 0xba, 0x6e, 0xbc, 0xca, 0x76, 0x0c, 0x97, 0x64, 0x59, 0x86, 0x24, 0xbb, 0x3d, 0x82,
+  0x90, 0xa8, 0x55, 0xb1, 0x92, 0xd3, 0xa0, 0xa7, 0x05, 0xac, 0x9f, 0x53, 0x25, 0x08, 0x10, 0x47,
+  0x99, 0xcd, 0x98, 0xde, 0x68, 0xe5, 0xb4, 0x50, 0x78, 0xa3, 0xaf, 0x01, 0xcc, 0x59, 0x43, 0x58,
+  0xe4, 0x76, 0x6e, 0x7e, 0xac, 0xc7, 0xe2, 0x9e, 0x1f, 0x4f, 0xb0, 0x47, 0x2d, 0xc8, 0x0c, 0xa3,
+  0x49, 0x27, 0x80, 0x75, 0x8c, 0xbb, 0x06, 0x91, 0x65, 0x0f, 0x90, 0x9b, 0xf4, 0xba, 0xd1, 0x81,
+  0xc8, 0x5c, 0x6a, 0xec, 0x14, 0xe9, 0x25, 0x09, 0xbf, 0x23, 0x16, 0xf4, 0x95, 0x46, 0x40, 0x40,
+  0x21, 0xbb, 0x83, 0x96, 0xfd, 0x86, 0x1f, 0x7a, 0xc8, 0x0d, 0x10, 0x8e, 0xa2, 0xf8, 0x19, 0x07,
+  0x58, 0x7f, 0x9f, 0xbd, 0x37, 0x02, 0x60, 0xf2, 0xa4, 0xe9, 0x9d, 0x44, 0x3f, 0x30, 0x05, 0xe4,
+  0xa7, 0x70, 0x99, 0x51, 0x9a, 0xe8, 0x17, 0xf1, 0x55, 0xca, 0xb2, 0x61, 0x89, 0x65, 0x46, 0xa7,
+  0x6a, 0xf2, 0x58, 0x46, 0x7e, 0xaa, 0xa0, 0x07, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xf4,
+  0x30, 0x81, 0xf1, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
+  0xda, 0xed, 0x64, 0x74, 0x14, 0x9c, 0x14, 0x3c, 0xab, 0xdd, 0x99, 0xa9, 0xbd, 0x5b, 0x28, 0x4d,
+  0x8b, 0x3c, 0xc9, 0xd8, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2e,
+  0x2d, 0xb0, 0x0a, 0x44, 0x4a, 0xd3, 0x87, 0xc0, 0x02, 0x07, 0xce, 0x97, 0x7d, 0x50, 0x62, 0x20,
+  0xfd, 0x0f, 0x83, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03,
+  0x02, 0x06, 0xc0, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30,
+  0x00, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x0c, 0x30, 0x0a, 0x06,
+  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x08, 0x30, 0x42, 0x06, 0x03, 0x55, 0x1d, 0x1f,
+  0x04, 0x3b, 0x30, 0x39, 0x30, 0x37, 0xa0, 0x35, 0xa0, 0x33, 0x86, 0x31, 0x68, 0x74, 0x74, 0x70,
+  0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x6c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74,
+  0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x55, 0x54, 0x4e, 0x2d, 0x55, 0x53, 0x45, 0x52, 0x46, 0x69, 0x72,
+  0x73, 0x74, 0x2d, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x63, 0x72, 0x6c, 0x30, 0x35, 0x06,
+  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x29, 0x30, 0x27, 0x30, 0x25, 0x06,
+  0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x19, 0x68, 0x74, 0x74, 0x70, 0x3a,
+  0x2f, 0x2f, 0x6f, 0x63, 0x73, 0x70, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x74, 0x72, 0x75, 0x73, 0x74,
+  0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
+  0x05, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x0d, 0xbb, 0xad, 0x60, 0x11, 0x1b, 0xb5, 0xf0,
+  0x0d, 0xcc, 0xe6, 0x48, 0x3a, 0x7a, 0x3e, 0x0e, 0x33, 0xdc, 0x1c, 0xb9, 0xea, 0xd6, 0x20, 0xfe,
+  0xa3, 0x4d, 0xd0, 0xcc, 0x76, 0x4e, 0xe8, 0x18, 0xd8, 0x79, 0xdf, 0xd3, 0x4f, 0x9a, 0x42, 0x64,
+  0x23, 0x8a, 0x29, 0x72, 0x8a, 0x3a, 0x6c, 0x66, 0xa6, 0x3c, 0x3a, 0x17, 0xa8, 0x70, 0x45, 0x65,
+  0xc6, 0x73, 0xc3, 0xd0, 0xce, 0x89, 0x54, 0xfb, 0xac, 0x69, 0x0f, 0x58, 0xb0, 0x19, 0xcb, 0x86,
+  0x9f, 0x7e, 0xb9, 0x7e, 0xeb, 0x51, 0x92, 0xbf, 0x9b, 0xdd, 0xeb, 0xd1, 0x65, 0xf0, 0x25, 0x7b,
+  0x88, 0x7c, 0xde, 0xbd, 0xa5, 0xc8, 0xb5, 0x14, 0x51, 0xbc, 0xc0, 0x81, 0x30, 0x8a, 0x85, 0x38,
+  0x7b, 0xe6, 0x79, 0xfe, 0x67, 0x55, 0x93, 0x87, 0xfe, 0x4f, 0xe8, 0x8d, 0x0e, 0xed, 0xf3, 0x72,
+  0x92, 0xb5, 0xc2, 0x89, 0x80, 0x6d, 0xd1, 0x59, 0xe3, 0x1d, 0x0d, 0xea, 0xb1, 0x38, 0xee, 0x03,
+  0x9d, 0x00, 0x19, 0xa5, 0xab, 0x21, 0x9b, 0x79, 0xc3, 0xcc, 0xc2, 0x3e, 0x68, 0x7e, 0xbd, 0xc9,
+  0x4d, 0x69, 0x4d, 0xb4, 0x64, 0x51, 0xfb, 0xb2, 0x28, 0x74, 0xe2, 0x53, 0x89, 0xce, 0x9d, 0xfa,
+  0xad, 0xe2, 0xdb, 0xce, 0xab, 0x7b, 0x7e, 0x06, 0x44, 0x74, 0xfd, 0x0a, 0xa3, 0xc9, 0xb7, 0xa7,
+  0x30, 0xcd, 0x49, 0xd2, 0x92, 0x64, 0xf1, 0x22, 0xa6, 0xb8, 0x28, 0x45, 0x74, 0x79, 0xe9, 0xa7,
+  0xce, 0x3b, 0x33, 0xf9, 0x83, 0x50, 0x94, 0x7d, 0x68, 0xc0, 0x1d, 0x49, 0xc7, 0x60, 0x78, 0x7a,
+  0x3c, 0x64, 0x26, 0xd5, 0xbe, 0xfa, 0x0a, 0x6d, 0xe4, 0x1e, 0xe1, 0x09, 0x53, 0x8f, 0xa9, 0xc5,
+  0x23, 0xac, 0xc7, 0x9d, 0x61, 0x42, 0x21, 0xf0, 0x2c, 0x16, 0x71, 0x49, 0x3b, 0x10, 0xaf, 0x2c,
+  0x6f, 0x1a, 0xe6, 0x31, 0xf1, 0x14, 0xfd, 0x6c
+  };
+
+//
+//TBSCert in TestSub Certificate
+//
+UINT8 TBSCert[479] = {
+  0x30, 0x82, 0x01, 0xdb, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0xf9, 0xcd, 0x3a, 0x06, 0x4d,
+  0x83, 0x34, 0xab, 0x4a, 0x5c, 0xf2, 0x7d, 0xc8, 0x72, 0xd6, 0x28, 0x30, 0x09, 0x06, 0x05, 0x2b,
+  0x0e, 0x03, 0x02, 0x1d, 0x05, 0x00, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x04,
+  0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x30, 0x1e, 0x17, 0x0d, 0x31,
+  0x35, 0x30, 0x38, 0x31, 0x33, 0x30, 0x36, 0x35, 0x32, 0x35, 0x32, 0x5a, 0x17, 0x0d, 0x33, 0x39,
+  0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30,
+  0x0e, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x07, 0x54, 0x65, 0x73, 0x74, 0x53, 0x75, 0x62, 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,
+  0xb1, 0x6d, 0x01, 0x2e, 0xc2, 0xea, 0x72, 0x83, 0xda, 0x47, 0xcf, 0xc2, 0xb9, 0x03, 0xc5, 0x2d,
+  0x1e, 0x06, 0xa1, 0x36, 0xd2, 0x81, 0x7b, 0x51, 0xaa, 0x10, 0xdd, 0x74, 0xcb, 0x57, 0x41, 0x1f,
+  0xfe, 0x5a, 0x9c, 0xa1, 0x81, 0x0a, 0xdf, 0x0a, 0x54, 0x38, 0xa2, 0xa5, 0x35, 0xaf, 0xb3, 0xd0,
+  0x43, 0xc1, 0x11, 0xbb, 0xfd, 0x82, 0x4a, 0x64, 0xbf, 0x35, 0xe4, 0xc5, 0x95, 0x1a, 0x2b, 0x6d,
+  0x3d, 0xa7, 0x06, 0x26, 0xbf, 0xba, 0x3a, 0x92, 0x39, 0xc2, 0xb5, 0x24, 0xa2, 0xe7, 0x91, 0x91,
+  0xd6, 0x83, 0x15, 0x4a, 0x45, 0x6a, 0x90, 0x43, 0xd5, 0x4e, 0x18, 0xd2, 0xce, 0xa7, 0xca, 0x0b,
+  0x0a, 0x1e, 0x80, 0xe2, 0x97, 0xb3, 0x62, 0xc3, 0xac, 0x36, 0x5a, 0x10, 0x78, 0xb9, 0x87, 0xba,
+  0xfb, 0x36, 0xe3, 0xc2, 0x39, 0x66, 0x68, 0x1c, 0x31, 0xd4, 0x32, 0xe3, 0x4f, 0x62, 0x3a, 0x32,
+  0x4b, 0xc6, 0xf4, 0x56, 0xcd, 0xc1, 0xdf, 0x76, 0x52, 0x43, 0x4f, 0xb4, 0x2e, 0x29, 0x06, 0x0a,
+  0x28, 0xb9, 0x03, 0xdd, 0x65, 0x81, 0x1a, 0x7a, 0x47, 0x2f, 0x86, 0xab, 0x37, 0xd9, 0xe3, 0x83,
+  0x6c, 0xe0, 0x7d, 0x74, 0x26, 0x16, 0x8f, 0xcc, 0x2c, 0x12, 0xbb, 0x06, 0xd5, 0x7e, 0x3b, 0x5a,
+  0xe7, 0x22, 0x1b, 0x41, 0xb3, 0x9f, 0xa4, 0x8c, 0x09, 0xc6, 0x8b, 0x4c, 0x60, 0xf1, 0x9d, 0xde,
+  0x94, 0x05, 0x19, 0xc4, 0xe3, 0x10, 0x31, 0x02, 0xe0, 0xef, 0x4b, 0x7b, 0x76, 0xbf, 0xb2, 0xc3,
+  0xc8, 0x13, 0x67, 0xef, 0x15, 0xf5, 0xab, 0x17, 0xf9, 0x8b, 0x99, 0x09, 0xec, 0x17, 0xc7, 0x94,
+  0xdb, 0x3e, 0xae, 0x88, 0x49, 0x4b, 0xbc, 0x28, 0x02, 0x57, 0xf6, 0xed, 0xf7, 0xde, 0x1f, 0xea,
+  0x67, 0x86, 0xca, 0x40, 0x61, 0x0f, 0x2c, 0xba, 0xcd, 0xc0, 0x55, 0x5e, 0xdc, 0xf8, 0xcd, 0x53,
+  0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x48, 0x30, 0x46, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1d, 0x01,
+  0x04, 0x3d, 0x30, 0x3b, 0x80, 0x10, 0x84, 0xb5, 0x25, 0xa3, 0xd7, 0x99, 0x43, 0xe5, 0x71, 0xd3,
+  0x1d, 0xee, 0x15, 0x25, 0x0c, 0x6a, 0xa1, 0x15, 0x30, 0x13, 0x31, 0x11, 0x30, 0x0f, 0x06, 0x03,
+  0x55, 0x04, 0x03, 0x13, 0x08, 0x54, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x82, 0x10, 0x6f,
+  0xc8, 0x9c, 0x84, 0x28, 0x03, 0x85, 0x9b, 0x49, 0xa7, 0xd3, 0x63, 0x4f, 0xcc, 0x11, 0xf4
+};
+
+//
+// The SHA256 Digest Value of Sample TBSCert in TestSub Certificate
+//
+UINT8 TestSubHash[32] = {
+  0x04, 0xe7, 0x67, 0x7d, 0x45, 0x8b, 0x1a, 0x61, 0x3f, 0x9a, 0x27, 0xd0, 0x48, 0x92, 0xb4, 0xd5,
+  0xe9, 0x1e, 0xee, 0xf4, 0xed, 0x71, 0x1d, 0x30, 0x2d, 0x2e, 0x20, 0x2c, 0x34, 0x46, 0x5d, 0xaa
+};
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c
index c4f51c0..4266240 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c
@@ -1,240 +1,237 @@
-/** @file
-
-  Copyright 2016 Unified EFI, Inc.<BR>
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
-Module Name:
-
-    Pkcs7BBTestFunction.c
-
-Abstract:
-
-    for EFI Driver Pkcs7 Verify Protocol's Function Test
-
---*/
-
-#include "Pkcs7BBTestMain.h"
-
-extern EFI_SIGNATURE_LIST    *DbEntry1;
-extern EFI_SIGNATURE_LIST    *DbEntry2;
-extern EFI_SIGNATURE_LIST    *DbEntry3;
-extern EFI_SIGNATURE_LIST    *DbEntry4;
-extern EFI_SIGNATURE_LIST    *DbEntry5;
-
-extern EFI_SIGNATURE_LIST    *AllowedDb[3];
-extern EFI_SIGNATURE_LIST    *RevokedDb[3];
-extern EFI_SIGNATURE_LIST    *TimestampDb[3];
-
-EFI_STATUS
-BBTestVerifyBufferFunctionTest (
-  IN EFI_BB_TEST_PROTOCOL    *This,
-  IN VOID                    *ClientInterface,
-  IN EFI_TEST_LEVEL          TestLevel,
-  IN EFI_HANDLE              SupportHandle
-  )
-{
-  EFI_STANDARD_TEST_LIBRARY_PROTOCOL    *StandardLib;
-  EFI_STATUS                            Status;
-  EFI_TEST_ASSERTION                    AssertionType;
-  EFI_PKCS7_VERIFY_PROTOCOL             *Pkcs7Verify = NULL;
-  VOID                                  *Content;
-  UINTN                                 ContentSize;
-
-  Pkcs7Verify = (EFI_PKCS7_VERIFY_PROTOCOL*)ClientInterface;
-  if (Pkcs7Verify == NULL)
-  	return EFI_UNSUPPORTED;
-
-  //
-  // Get the Standard Library Interface
-  //
+/** @file
+
+  Copyright 2016 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+Module Name:
+
+    Pkcs7BBTestFunction.c
+
+Abstract:
+
+    for EFI Driver Pkcs7 Verify Protocol's Function Test
+
+--*/
+
+#include "Pkcs7BBTestMain.h"
+
+extern EFI_SIGNATURE_LIST    *DbEntry1;
+extern EFI_SIGNATURE_LIST    *DbEntry2;
+extern EFI_SIGNATURE_LIST    *DbEntry3;
+extern EFI_SIGNATURE_LIST    *DbEntry4;
+extern EFI_SIGNATURE_LIST    *DbEntry5;
+
+extern EFI_SIGNATURE_LIST    *AllowedDb[3];
+extern EFI_SIGNATURE_LIST    *RevokedDb[3];
+extern EFI_SIGNATURE_LIST    *TimestampDb[3];
+
+EFI_STATUS
+BBTestVerifyBufferFunctionTest (
+  IN EFI_BB_TEST_PROTOCOL    *This,
+  IN VOID                    *ClientInterface,
+  IN EFI_TEST_LEVEL          TestLevel,
+  IN EFI_HANDLE              SupportHandle
+  )
+{
+  EFI_STANDARD_TEST_LIBRARY_PROTOCOL    *StandardLib;
+  EFI_STATUS                            Status;
+  EFI_TEST_ASSERTION                    AssertionType;
+  EFI_PKCS7_VERIFY_PROTOCOL             *Pkcs7Verify = NULL;
+  VOID                                  *Content;
+  UINTN                                 ContentSize;
+
+  Pkcs7Verify = (EFI_PKCS7_VERIFY_PROTOCOL*)ClientInterface;
+  if (Pkcs7Verify == NULL)
+    return EFI_UNSUPPORTED;
+
+  //
+  // Get the Standard Library Interface
+  //
   Status = gtBS->HandleProtocol (
                    SupportHandle,
                    &gEfiStandardTestLibraryGuid,
                    (VOID **) &StandardLib
                    );
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  //
-  // Function test with EmbeddedData
-  //
-
-  // Content signature was verified against hash of content, the signer certificate was not found in RevokedDb, and was found in AllowedDb.
-  AllowedDb[0] = DbEntry2;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-
-  if (Status == EFI_SUCCESS)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid001 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, the signer's certificate was not found in RevokedDb, and was found in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  Content     = &Status; //The trick method to give Content a value.
-  ContentSize = 0;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
-
-  if (Status == EFI_BUFFER_TOO_SMALL)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid002 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_BUFFER_TOO_SMALL when the size of buffer indicated by ContentSize is too small to hold the content. ContentSize updated to required size.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-
-  Content = SctAllocateZeroPool(ContentSize);
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
-
-  AssertionType = EFI_TEST_ASSERTION_FAILED;
-  
-  if ((Status == EFI_SUCCESS) && (ContentSize == sizeof(TestBin)) && (!SctCompareMem(TestBin, Content, ContentSize)))
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-
-  SctFreePool (Content);
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid003,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when the size of buffer indicated by ContentSize is big enough to hold the content, and retrive the correct content.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-  // Content signature was verified against hash of content, signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb.
-  AllowedDb[0]   = DbEntry2;
-  RevokedDb[0]   = DbEntry5;
-  TimestampDb[0] = DbEntry3;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-
-  if (Status == EFI_SUCCESS)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid004 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-
-  //
-  // Function test with DetachedData
-  //  
-  // Content signature was verified against hash of content, the signer¡¯certificate was not found in RevokedDb, and was found in AllowedDb.
-  AllowedDb[0] = DbEntry2;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
-
-  if (Status == EFI_SUCCESS)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid001 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, the signer's certificate was not found in RevokedDb, and was found in AllowedDb.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );
-
-  Content     = &Status; //The trick method to give Content a value.
-  ContentSize = 0;
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
-
-  if (Status == EFI_BUFFER_TOO_SMALL)
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-  else
-    AssertionType = EFI_TEST_ASSERTION_FAILED;
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid002 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_BUFFER_TOO_SMALL when the size of buffer indicated by ContentSize is too small to hold the content. ContentSize updated to required size.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-
-  Content = SctAllocateZeroPool(ContentSize);
-  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
-
-  AssertionType = EFI_TEST_ASSERTION_FAILED;
-  
-  if ((Status == EFI_SUCCESS) && (ContentSize == sizeof(TestBin)) && (!SctCompareMem(TestBin, Content, ContentSize)))
-    AssertionType = EFI_TEST_ASSERTION_PASSED;
-
-  SctFreePool (Content);
-
-  StandardLib->RecordAssertion (
-                 StandardLib,
-                 AssertionType,
-                 gPkcs7BBTestFunctionAssertionGuid003 ,
-                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when the size of buffer indicated by ContentSize is big enough to hold the content, and retrive the correct content.",
-                 L"%a:%d: Status - %r",
-                 __FILE__,
-                 (UINTN)__LINE__,
-                 Status
-                 );  
-
-
-  //
-  // Clean the Data in all Dbs
-  //
-  AllowedDb[0]   = NULL;
-  RevokedDb[0]   = NULL;
-  TimestampDb[0] = NULL;
-
-  return EFI_SUCCESS;
-}
-
+  if (EFI_ERROR(Status)) {
+    return Status;
+  }
+
+  //
+  // Function test with EmbeddedData
+  //
+
+  // Content signature was verified against hash of content, the signer certificate was not found in RevokedDb, and was found in AllowedDb.
+  AllowedDb[0] = DbEntry2;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+
+  if (Status == EFI_SUCCESS)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid001 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, the signer's certificate was not found in RevokedDb, and was found in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  Content     = &Status; //The trick method to give Content a value.
+  ContentSize = 0;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
+
+  if (Status == EFI_BUFFER_TOO_SMALL)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid002 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_BUFFER_TOO_SMALL when the size of buffer indicated by ContentSize is too small to hold the content. ContentSize updated to required size.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  Content = SctAllocateZeroPool(ContentSize);
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
+
+  AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  if ((Status == EFI_SUCCESS) && (ContentSize == sizeof(TestBin)) && (!SctCompareMem(TestBin, Content, ContentSize)))
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+
+  SctFreePool (Content);
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid003,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when the size of buffer indicated by ContentSize is big enough to hold the content, and retrive the correct content.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  // Content signature was verified against hash of content, signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb.
+  AllowedDb[0]   = DbEntry2;
+  RevokedDb[0]   = DbEntry5;
+  TimestampDb[0] = DbEntry3;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+
+  if (Status == EFI_SUCCESS)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid004 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  //
+  // Function test with DetachedData
+  //
+  // Content signature was verified against hash of content, the signer¡¯certificate was not found in RevokedDb, and was found in AllowedDb.
+  AllowedDb[0] = DbEntry2;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, NULL, 0);
+
+  if (Status == EFI_SUCCESS)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid001 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when Content signature was verified against hash of content, the signer's certificate was not found in RevokedDb, and was found in AllowedDb.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  Content     = &Status; //The trick method to give Content a value.
+  ContentSize = 0;
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
+
+  if (Status == EFI_BUFFER_TOO_SMALL)
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+  else
+    AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid002 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_BUFFER_TOO_SMALL when the size of buffer indicated by ContentSize is too small to hold the content. ContentSize updated to required size.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+  Content = SctAllocateZeroPool(ContentSize);
+  Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize);
+
+  AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+  if ((Status == EFI_SUCCESS) && (ContentSize == sizeof(TestBin)) && (!SctCompareMem(TestBin, Content, ContentSize)))
+    AssertionType = EFI_TEST_ASSERTION_PASSED;
+
+  SctFreePool (Content);
+
+  StandardLib->RecordAssertion (
+                 StandardLib,
+                 AssertionType,
+                 gPkcs7BBTestFunctionAssertionGuid003 ,
+                 L"PKCS7_VERIFY_PROTOCOL.VerifyBuffer - VerifyBuffer() should returns EFI_SUCCESS when the size of buffer indicated by ContentSize is big enough to hold the content, and retrive the correct content.",
+                 L"%a:%d: Status - %r",
+                 __FILE__,
+                 (UINTN)__LINE__,
+                 Status
+                 );
+
+
+  //
+  // Clean the Data in all Dbs
+  //
+  AllowedDb[0]   = NULL;
+  RevokedDb[0]   = NULL;
+  TimestampDb[0] = NULL;
+
+  return EFI_SUCCESS;
+}
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c
index 10adb43..46f17f6 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c
@@ -1,232 +1,208 @@
-/** @file
-
-  Copyright 2016 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
-Module Name:
-
-  Pkcs7BBTestMain.c
-
-Abstract:
-
-  Test Driver of Pkcs7 Verify Protocol
-
---*/
-
-#include "SctLib.h"
-#include "Pkcs7BBTestMain.h"
-
-
-#define EFI_PKCS7_VERIFY_TEST_GUID \
-  { 0x47889fb2, 0xd671, 0x4fab, {0xa0, 0xca, 0xdf, 0xe, 0x44, 0xdf, 0x70, 0xd6 }}
-
-//
-// Global variables
-//
-EFI_HANDLE mImageHandle;
-
-EFI_SIGNATURE_LIST    *DbEntry1 = NULL;
-EFI_SIGNATURE_LIST    *DbEntry2 = NULL;
-EFI_SIGNATURE_LIST    *DbEntry3 = NULL;
-EFI_SIGNATURE_LIST    *DbEntry4 = NULL;
-EFI_SIGNATURE_LIST    *DbEntry5 = NULL;
-
-EFI_SIGNATURE_LIST    *AllowedDb[3]   = { NULL, NULL, NULL };
-EFI_SIGNATURE_LIST    *RevokedDb[3]   = { NULL, NULL, NULL };
-EFI_SIGNATURE_LIST    *TimestampDb[3] = { NULL, NULL, NULL };
-
-EFI_BB_TEST_PROTOCOL *gBBTestProtocolInterface;
-
-EFI_BB_TEST_PROTOCOL_FIELD gBBTestProtocolField = {
-  EFI_PKCS7_VERIFY_PROTOCOL_TEST_REVISION,
-  EFI_PKCS7_VERIFY_TEST_GUID,
-  L"Pkcs7 Verify Protocol Test",
-  L"UEFI Pkcs7 Verify Protocol Black-Box Test"
-};
-
-EFI_GUID gSupportProtocolGuid[] = {
-  EFI_STANDARD_TEST_LIBRARY_GUID,
-  EFI_NULL_GUID
-};
-
-EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = {
-  {
-    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0101,
-    L"VerifyBufferFunction",
-    L"Function auto test for Pkcs7 Verify Protocol VerifyBuffer().",
-    EFI_TEST_LEVEL_MINIMAL,
-    gSupportProtocolGuid,
-    EFI_TEST_CASE_AUTO,
-    BBTestVerifyBufferFunctionTest
-  },
-#if 0  
-  {
-    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0102,
-    L"VerifySignatureFunction",
-    L"Function auto test for Pkcs7 Verify  Protocol VerifySignature().",
-    EFI_TEST_LEVEL_MINIMAL,
-    gSupportProtocolGuid,
-    EFI_TEST_CASE_AUTO,
-    BBTestVerifySignatureFunctionTest
-  },
-#endif  
-  {
-    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0201,
-    L"VerifyBufferConformance",
-    L"Conformance auto test for Pkcs7 Verify Protocol VerifyBuffer().",
-    EFI_TEST_LEVEL_MINIMAL,
-    gSupportProtocolGuid,
-    EFI_TEST_CASE_AUTO,
-    BBTestVerifyBufferConformanceTest
-  },
-#if 0   
-  {
-    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0202,
-    L"VerifySignatureConformance",
-    L"Conformance auto test for Pkcs7 Verify Protocol VerifySignature().",
-    EFI_TEST_LEVEL_MINIMAL,
-    gSupportProtocolGuid,
-    EFI_TEST_CASE_AUTO,
-    BBTestVerifySignatureConformanceTest
-  },
-#endif  
-  0
-};
-
-
-EFI_STATUS
-EFIAPI
-InitializePkcs7VerifyBBTest (
-  IN EFI_HANDLE                   ImageHandle,
-  IN EFI_SYSTEM_TABLE             *SystemTable
-  )
-{
-  EFI_STATUS    Status;
-  EFI_TIME      *RevokedTime;  
-
-  EfiInitializeTestLib (ImageHandle, SystemTable);
-
-  //
-  // initialize test utility lib
-  //
-
-  SctInitializeLib (ImageHandle, SystemTable);
-
-  mImageHandle = ImageHandle;
-
-  Status = EfiInitAndInstallBBTestInterface (
-             &ImageHandle,
-             &gBBTestProtocolField,
-             gBBTestEntryField,
-             UnloadPkcs7VerifyBBTest,
-             &gBBTestProtocolInterface
-             );
-
-  //
-  // Initialize Signature List Entry for testing.
-  //
-  DbEntry1 = NULL;
-  DbEntry2 = NULL;
-  DbEntry3 = NULL;
-  DbEntry4 = NULL;
-  DbEntry5 = NULL;
-  RevokedTime = NULL;
-  
-  
-  // Signature List of TestRoot Certificate
-  //
-  DbEntry1 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert));
-  DbEntry1->SignatureType       = gBlackBoxEfiCertX509Guid;
-  DbEntry1->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
-  DbEntry1->SignatureHeaderSize = 0;
-  DbEntry1->SignatureSize       = 16 + sizeof (TestRootCert);
-  SctCopyMem ((UINT8 *)DbEntry1 + sizeof (EFI_SIGNATURE_LIST) + 16, TestRootCert, sizeof (TestRootCert));
-
-  //
-  // Signature List of TestSub Certificate
-  //
-  DbEntry2 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestSubCert));
-  DbEntry2->SignatureType       = gBlackBoxEfiCertX509Guid;
-  DbEntry2->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestSubCert);
-  DbEntry2->SignatureHeaderSize = 0;
-  DbEntry2->SignatureSize       = 16 + sizeof (TestSubCert);
-  SctCopyMem ((UINT8 *)DbEntry2 + sizeof (EFI_SIGNATURE_LIST) + 16, TestSubCert, sizeof (TestSubCert));
-
-  //
-  // Signature List of TSRoot Certificate
-  //
-  DbEntry3 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert));
-  DbEntry3->SignatureType       = gBlackBoxEfiCertX509Guid;
-  DbEntry3->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
-  DbEntry3->SignatureHeaderSize = 0;
-  DbEntry3->SignatureSize       = 16 + sizeof (TSRootCert);
-  SctCopyMem ((UINT8 *)DbEntry3 + sizeof (EFI_SIGNATURE_LIST) + 16, TSRootCert, sizeof (TSRootCert));
-
-  //
-  // Signature List of Binary Data Hash for Revocation Checking
-  //
-  DbEntry4 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + 32);
-  DbEntry4->SignatureType       = gBlackBoxEfiCertSha256Guid;
-  DbEntry4->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + 32;
-  DbEntry4->SignatureHeaderSize = 0;
-  DbEntry4->SignatureSize       = 16 + 32;
-  SctCopyMem ((UINT8 *)DbEntry4 + sizeof (EFI_SIGNATURE_LIST) + 16, TestBinHash, 32);
-
-  //
-  // Signature List of Certificate Hash for Timestamp Signature Checking
-  //
-  DbEntry5 = SctAllocateZeroPool (sizeof (EFI_SIGNATURE_LIST) + 16 + 48);
-  DbEntry5->SignatureType       = gBlackBoxEfiCertX509Sha256Guid;
-  DbEntry5->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + 48;
-  DbEntry5->SignatureHeaderSize = 0;
-  DbEntry5->SignatureSize       = 16 + 48;
-  SctCopyMem ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16, TestSubHash, 32);
-  RevokedTime = (EFI_TIME *) ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16 + 32);
-  RevokedTime->Year  = 2015;
-  RevokedTime->Month = 8;
-  RevokedTime->Day   = 20;
-
-  return Status;
-}
-
-
-EFI_STATUS
-EFIAPI
-UnloadPkcs7VerifyBBTest (
-  IN EFI_HANDLE                   ImageHandle
-  )
-{
-  if (DbEntry1 != NULL) {
-    SctFreePool (DbEntry1);
-  }
-  if (DbEntry2 != NULL) {
-    SctFreePool (DbEntry2);
-  }
-  if (DbEntry3 != NULL) {
-    SctFreePool (DbEntry3);
-  }
-  if (DbEntry4 != NULL) {
-    SctFreePool (DbEntry4);
-  }
-  if (DbEntry5 != NULL) {
-    SctFreePool (DbEntry5);
-  }
-
-  return EfiUninstallAndFreeBBTestInterface (
-           ImageHandle,
-           gBBTestProtocolInterface
-           );
-}
-
-
+/** @file
+
+  Copyright 2016 - 2017 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+Module Name:
+
+  Pkcs7BBTestMain.c
+
+Abstract:
+
+  Test Driver of Pkcs7 Verify Protocol
+
+--*/
+
+#include "SctLib.h"
+#include "Pkcs7BBTestMain.h"
+
+
+#define EFI_PKCS7_VERIFY_TEST_GUID \
+  { 0x47889fb2, 0xd671, 0x4fab, {0xa0, 0xca, 0xdf, 0xe, 0x44, 0xdf, 0x70, 0xd6 }}
+
+//
+// Global variables
+//
+EFI_HANDLE mImageHandle;
+
+EFI_SIGNATURE_LIST    *DbEntry1 = NULL;
+EFI_SIGNATURE_LIST    *DbEntry2 = NULL;
+EFI_SIGNATURE_LIST    *DbEntry3 = NULL;
+EFI_SIGNATURE_LIST    *DbEntry4 = NULL;
+EFI_SIGNATURE_LIST    *DbEntry5 = NULL;
+
+EFI_SIGNATURE_LIST    *AllowedDb[3]   = { NULL, NULL, NULL };
+EFI_SIGNATURE_LIST    *RevokedDb[3]   = { NULL, NULL, NULL };
+EFI_SIGNATURE_LIST    *TimestampDb[3] = { NULL, NULL, NULL };
+
+EFI_BB_TEST_PROTOCOL *gBBTestProtocolInterface;
+
+EFI_BB_TEST_PROTOCOL_FIELD gBBTestProtocolField = {
+  EFI_PKCS7_VERIFY_PROTOCOL_TEST_REVISION,
+  EFI_PKCS7_VERIFY_TEST_GUID,
+  L"Pkcs7 Verify Protocol Test",
+  L"UEFI Pkcs7 Verify Protocol Black-Box Test"
+};
+
+EFI_GUID gSupportProtocolGuid[] = {
+  EFI_STANDARD_TEST_LIBRARY_GUID,
+  EFI_NULL_GUID
+};
+
+EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = {
+  {
+    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0101,
+    L"VerifyBufferFunction",
+    L"Function auto test for Pkcs7 Verify Protocol VerifyBuffer().",
+    EFI_TEST_LEVEL_MINIMAL,
+    gSupportProtocolGuid,
+    EFI_TEST_CASE_AUTO,
+    BBTestVerifyBufferFunctionTest
+  },
+  {
+    EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0201,
+    L"VerifyBufferConformance",
+    L"Conformance auto test for Pkcs7 Verify Protocol VerifyBuffer().",
+    EFI_TEST_LEVEL_MINIMAL,
+    gSupportProtocolGuid,
+    EFI_TEST_CASE_AUTO,
+    BBTestVerifyBufferConformanceTest
+  },
+  0
+};
+
+
+EFI_STATUS
+EFIAPI
+InitializePkcs7VerifyBBTest (
+  IN EFI_HANDLE                   ImageHandle,
+  IN EFI_SYSTEM_TABLE             *SystemTable
+  )
+{
+  EFI_STATUS    Status;
+  EFI_TIME      *RevokedTime;
+
+  EfiInitializeTestLib (ImageHandle, SystemTable);
+
+  //
+  // initialize test utility lib
+  //
+
+  SctInitializeLib (ImageHandle, SystemTable);
+
+  mImageHandle = ImageHandle;
+
+  Status = EfiInitAndInstallBBTestInterface (
+             &ImageHandle,
+             &gBBTestProtocolField,
+             gBBTestEntryField,
+             UnloadPkcs7VerifyBBTest,
+             &gBBTestProtocolInterface
+             );
+
+  //
+  // Initialize Signature List Entry for testing.
+  //
+  DbEntry1 = NULL;
+  DbEntry2 = NULL;
+  DbEntry3 = NULL;
+  DbEntry4 = NULL;
+  DbEntry5 = NULL;
+  RevokedTime = NULL;
+
+
+  // Signature List of TestRoot Certificate
+  //
+  DbEntry1 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert));
+  DbEntry1->SignatureType       = gBlackBoxEfiCertX509Guid;
+  DbEntry1->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert);
+  DbEntry1->SignatureHeaderSize = 0;
+  DbEntry1->SignatureSize       = 16 + sizeof (TestRootCert);
+  SctCopyMem ((UINT8 *)DbEntry1 + sizeof (EFI_SIGNATURE_LIST) + 16, TestRootCert, sizeof (TestRootCert));
+
+  //
+  // Signature List of TestSub Certificate
+  //
+  DbEntry2 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestSubCert));
+  DbEntry2->SignatureType       = gBlackBoxEfiCertX509Guid;
+  DbEntry2->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestSubCert);
+  DbEntry2->SignatureHeaderSize = 0;
+  DbEntry2->SignatureSize       = 16 + sizeof (TestSubCert);
+  SctCopyMem ((UINT8 *)DbEntry2 + sizeof (EFI_SIGNATURE_LIST) + 16, TestSubCert, sizeof (TestSubCert));
+
+  //
+  // Signature List of TSRoot Certificate
+  //
+  DbEntry3 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert));
+  DbEntry3->SignatureType       = gBlackBoxEfiCertX509Guid;
+  DbEntry3->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert);
+  DbEntry3->SignatureHeaderSize = 0;
+  DbEntry3->SignatureSize       = 16 + sizeof (TSRootCert);
+  SctCopyMem ((UINT8 *)DbEntry3 + sizeof (EFI_SIGNATURE_LIST) + 16, TSRootCert, sizeof (TSRootCert));
+
+  //
+  // Signature List of Binary Data Hash for Revocation Checking
+  //
+  DbEntry4 = SctAllocatePool (sizeof (EFI_SIGNATURE_LIST) + 16 + 32);
+  DbEntry4->SignatureType       = gBlackBoxEfiCertSha256Guid;
+  DbEntry4->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + 32;
+  DbEntry4->SignatureHeaderSize = 0;
+  DbEntry4->SignatureSize       = 16 + 32;
+  SctCopyMem ((UINT8 *)DbEntry4 + sizeof (EFI_SIGNATURE_LIST) + 16, TestBinHash, 32);
+
+  //
+  // Signature List of Certificate Hash for Timestamp Signature Checking
+  //
+  DbEntry5 = SctAllocateZeroPool (sizeof (EFI_SIGNATURE_LIST) + 16 + 48);
+  DbEntry5->SignatureType       = gBlackBoxEfiCertX509Sha256Guid;
+  DbEntry5->SignatureListSize   = sizeof (EFI_SIGNATURE_LIST) + 16 + 48;
+  DbEntry5->SignatureHeaderSize = 0;
+  DbEntry5->SignatureSize       = 16 + 48;
+  SctCopyMem ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16, TestSubHash, 32);
+  RevokedTime = (EFI_TIME *) ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16 + 32);
+  RevokedTime->Year  = 2015;
+  RevokedTime->Month = 8;
+  RevokedTime->Day   = 20;
+
+  return Status;
+}
+
+
+EFI_STATUS
+EFIAPI
+UnloadPkcs7VerifyBBTest (
+  IN EFI_HANDLE                   ImageHandle
+  )
+{
+  if (DbEntry1 != NULL) {
+    SctFreePool (DbEntry1);
+  }
+  if (DbEntry2 != NULL) {
+    SctFreePool (DbEntry2);
+  }
+  if (DbEntry3 != NULL) {
+    SctFreePool (DbEntry3);
+  }
+  if (DbEntry4 != NULL) {
+    SctFreePool (DbEntry4);
+  }
+  if (DbEntry5 != NULL) {
+    SctFreePool (DbEntry5);
+  }
+
+  return EfiUninstallAndFreeBBTestInterface (
+           ImageHandle,
+           gBBTestProtocolInterface
+           );
+}
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h
index 5a7667d..579b3cc 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h
@@ -1,125 +1,104 @@
-/** @file
-
-  Copyright 2016 - 2017 Unified EFI, Inc.<BR>
-  Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
-
-  This program and the accompanying materials
-  are licensed and made available under the terms and conditions of the BSD License
-  which accompanies this distribution.  The full text of the license may be found at 
-  http://opensource.org/licenses/bsd-license.php
- 
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- 
-**/
-/*++
-
-Module Name:
-
-  Pkcs7BBTestMain.h
-
-Abstract:
-
-  Test Driver of Pkcs7 Verify Protocol header file
-
---*/
-
-#ifndef _PKCS7_BB_TEST_MAIN
-#define _PKCS7_BB_TEST_MAIN
-
-#include "Efi.h"
-#include <Library/EfiTestLib.h>
-#include <SctLib.h>
-#include <UEFI/Protocol/Pkcs7Verify.h>
-#include "Guid.h"
-
-
-#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_REVISION    0x00010000
-
-//
-// Entry GUIDs for Func Test
-//
-#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0101 \
-{ 0x5c6a8139, 0xad48, 0x4d52, {0x86, 0x37, 0x6, 0x9d, 0xf6, 0xad, 0x81, 0x5e }}
-
-#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0102 \
-{ 0x413c4823, 0x263a, 0x417d, {0xa3, 0xd7, 0x14, 0x79, 0xf9, 0x2b, 0xf1, 0xb4 }}
-
-
-//
-// Entry GUIDs for Conf Test
-//
-#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0201 \
-{ 0x562af518, 0xd04e, 0x435e, {0xa8, 0x9f, 0x79, 0xbb, 0x6f, 0x48, 0x16, 0x9a }}
-
-#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0202 \
-{ 0xaf5e33d1, 0x3e08, 0x451a, {0xb1, 0x92, 0xe7, 0xb9, 0x91, 0x67, 0x83, 0xae }}
-
-
-
-
-extern UINT8 TestBin[64];
-extern UINT8 TestBinHash[32];
-extern UINT8 TestSubCert[755];
-extern UINT8 TestRootCert[756];
-extern UINT8 P7Embedded[3330];
-extern UINT8 P7Detached[1138];
-extern UINT8 TSRootCert[1176];
-extern UINT8 TBSCert[479];
-extern UINT8 TestSubHash[32];
-
-//
-//
-//
-EFI_STATUS
-EFIAPI
-InitializePkcs7VerifyBBTest (
-  IN EFI_HANDLE                   ImageHandle,
-  IN EFI_SYSTEM_TABLE             *SystemTable
-  );
-  
-EFI_STATUS
-EFIAPI
-UnloadPkcs7VerifyBBTest (
-  IN EFI_HANDLE                   ImageHandle
-  ); 
-  
-//
-//Test Cases
-//
-EFI_STATUS
-BBTestVerifyBufferConformanceTest (
-  IN EFI_BB_TEST_PROTOCOL       *This,
-  IN VOID                       *ClientInterface,
-  IN EFI_TEST_LEVEL             TestLevel,
-  IN EFI_HANDLE                 SupportHandle
-  );
-  
-EFI_STATUS
-BBTestHashConformanceTest (
-  IN EFI_BB_TEST_PROTOCOL       *This,
-  IN VOID                       *ClientInterface,
-  IN EFI_TEST_LEVEL             TestLevel,
-  IN EFI_HANDLE                 SupportHandle
-  );
-  
-
-  
-EFI_STATUS
-BBTestVerifyBufferFunctionTest (
-  IN EFI_BB_TEST_PROTOCOL       *This,
-  IN VOID                       *ClientInterface,
-  IN EFI_TEST_LEVEL             TestLevel,
-  IN EFI_HANDLE                 SupportHandle
-  );
-
-EFI_STATUS
-BBTestVerifySignatureFunctionTest (
-  IN EFI_BB_TEST_PROTOCOL       *This,
-  IN VOID                       *ClientInterface,
-  IN EFI_TEST_LEVEL             TestLevel,
-  IN EFI_HANDLE                 SupportHandle
-  );
-  
-#endif
-
+/** @file
+
+  Copyright 2016 - 2017 Unified EFI, Inc.<BR>
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
+
+  This program and the accompanying materials
+  are licensed and made available under the terms and conditions of the BSD License
+  which accompanies this distribution.  The full text of the license may be found at
+  http://opensource.org/licenses/bsd-license.php
+
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+**/
+/*++
+
+Module Name:
+
+  Pkcs7BBTestMain.h
+
+Abstract:
+
+  Test Driver of Pkcs7 Verify Protocol header file
+
+--*/
+
+#ifndef _PKCS7_BB_TEST_MAIN
+#define _PKCS7_BB_TEST_MAIN
+
+#include "Efi.h"
+#include <Library/EfiTestLib.h>
+#include <SctLib.h>
+#include <UEFI/Protocol/Pkcs7Verify.h>
+#include "Guid.h"
+
+
+#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_REVISION    0x00010000
+
+//
+// Entry GUIDs for Func Test
+//
+#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0101 \
+{ 0x5c6a8139, 0xad48, 0x4d52, {0x86, 0x37, 0x6, 0x9d, 0xf6, 0xad, 0x81, 0x5e }}
+
+#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0102 \
+{ 0x413c4823, 0x263a, 0x417d, {0xa3, 0xd7, 0x14, 0x79, 0xf9, 0x2b, 0xf1, 0xb4 }}
+
+
+//
+// Entry GUIDs for Conf Test
+//
+#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0201 \
+{ 0x562af518, 0xd04e, 0x435e, {0xa8, 0x9f, 0x79, 0xbb, 0x6f, 0x48, 0x16, 0x9a }}
+
+#define EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0202 \
+{ 0xaf5e33d1, 0x3e08, 0x451a, {0xb1, 0x92, 0xe7, 0xb9, 0x91, 0x67, 0x83, 0xae }}
+
+
+extern UINT8 TestBin[64];
+extern UINT8 TestBinHash[32];
+extern UINT8 TestSubCert[755];
+extern UINT8 TestRootCert[756];
+extern UINT8 P7Embedded[3330];
+extern UINT8 P7Detached[1138];
+extern UINT8 TSRootCert[1176];
+extern UINT8 TBSCert[479];
+extern UINT8 TestSubHash[32];
+
+//
+//
+//
+EFI_STATUS
+EFIAPI
+InitializePkcs7VerifyBBTest (
+  IN EFI_HANDLE                   ImageHandle,
+  IN EFI_SYSTEM_TABLE             *SystemTable
+  );
+
+EFI_STATUS
+EFIAPI
+UnloadPkcs7VerifyBBTest (
+  IN EFI_HANDLE                   ImageHandle
+  );
+
+//
+//Test Cases
+//
+EFI_STATUS
+BBTestVerifyBufferConformanceTest (
+  IN EFI_BB_TEST_PROTOCOL       *This,
+  IN VOID                       *ClientInterface,
+  IN EFI_TEST_LEVEL             TestLevel,
+  IN EFI_HANDLE                 SupportHandle
+  );
+
+EFI_STATUS
+BBTestVerifyBufferFunctionTest (
+  IN EFI_BB_TEST_PROTOCOL       *This,
+  IN VOID                       *ClientInterface,
+  IN EFI_TEST_LEVEL             TestLevel,
+  IN EFI_HANDLE                 SupportHandle
+  );
+
+#endif
-- 
2.9.0.windows.1



More information about the edk2-devel mailing list