From: Eric Jin <eric.jin@intel.com>
To: edk2-devel@lists.01.org
Subject: [edk2-test][v3 Patch 1/3] uefi-sct/SctPkg:Format code style in PKCS7Verify
Date: Wed, 5 Dec 2018 13:50:25 +0800 [thread overview]
Message-ID: <20181205055025.100680-1-eric.jin@intel.com> (raw)
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 195576 bytes --]
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@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Eric Jin <eric.jin@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
next reply other threads:[~2018-12-05 5:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-05 5:50 Eric Jin [this message]
2018-12-10 19:54 ` [edk2-test][v3 Patch 1/3] uefi-sct/SctPkg:Format code style in PKCS7Verify Supreeth Venkatesh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181205055025.100680-1-eric.jin@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox