From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=eric.jin@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id DFC2421962301 for ; Thu, 29 Nov 2018 00:41:47 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2018 00:41:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,293,1539673200"; d="scan'208";a="289729516" Received: from shwdeopenpsi175.ccr.corp.intel.com ([10.239.9.140]) by fmsmga006.fm.intel.com with ESMTP; 29 Nov 2018 00:41:39 -0800 From: Eric Jin To: edk2-devel@lists.01.org Date: Thu, 29 Nov 2018 16:41:27 +0800 Message-Id: <20181129084127.96060-1-eric.jin@intel.com> X-Mailer: git-send-email 2.9.0.windows.1 MIME-Version: 1.0 Subject: [edk2-test][Patch 1/3] uefi-sct/SctPkg:Format code style in PKCS7Verify X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Nov 2018 08:41:48 -0000 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit 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 Cc: Supreeth Venkatesh Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Jin --- .../EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.c | 88 +- .../EFI/Protocol/PKCS7Verify/BlackBoxTest/Guid.h | 170 +-- .../PKCS7Verify/BlackBoxTest/Pkcs7BBTest.inf | 126 +-- .../BlackBoxTest/Pkcs7BBTestConformance.c | 1010 ++++++++--------- .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestData.c | 1130 ++++++++++---------- .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestFunction.c | 470 ++++---- .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c | 464 ++++---- .../PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.h | 250 ++--- 8 files changed, 1854 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.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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..2b5cd85 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,85 @@ -/** @file - - Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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..5c693ca 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.
-# Copyright (c) 2016, Intel Corporation. All rights reserved.
-# -# 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.
+# Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+# +# 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 + 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..b7bc19b 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,510 @@ -/** @file - - Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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..519f920 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,240 @@ -/** @file - - Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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..5011f3c 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,232 @@ -/** @file - - Copyright 2016 - 2017 Unified EFI, Inc.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
- - 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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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 + ); +} + + 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..a944de6 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,125 @@ -/** @file - - Copyright 2016 - 2017 Unified EFI, Inc.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
- - 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 -#include -#include -#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.
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ + 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 +#include +#include +#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 + -- 2.9.0.windows.1