From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=eric.jin@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 9F0CF21157FF9 for ; Sat, 13 Oct 2018 09:08:37 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Oct 2018 09:08:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,377,1534834800"; d="scan'208";a="81189817" Received: from jjin9-mobl.ccr.corp.intel.com ([10.249.168.56]) by orsmga008.jf.intel.com with ESMTP; 13 Oct 2018 09:08:34 -0700 From: Eric Jin To: edk2-devel@lists.01.org Cc: Supreeth Venkatesh , Jiaxin Wu Date: Sun, 14 Oct 2018 00:08:28 +0800 Message-Id: <20181013160828.16628-1-eric.jin@intel.com> X-Mailer: git-send-email 2.18.0.windows.1 Subject: [PATCH] uefi-sct/SctPkg:Update the PKCS7Verify Test to add the VerifySignature() checkpoint 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: Sat, 13 Oct 2018 16:08:37 -0000 Cc: Supreeth Venkatesh Cc: Jiaxin Wu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Jin --- .../Protocol/PKCS7Verify/BlackBoxTest/Guid.c | 12 +- .../Protocol/PKCS7Verify/BlackBoxTest/Guid.h | 30 +- .../BlackBoxTest/Pkcs7BBTestConformance.c | 308 +++- .../BlackBoxTest/Pkcs7BBTestData.c | 1468 +++++++++++------ .../BlackBoxTest/Pkcs7BBTestFunction.c | 89 +- .../BlackBoxTest/Pkcs7BBTestMain.c | 28 +- .../BlackBoxTest/Pkcs7BBTestMain.h | 26 +- 7 files changed, 1400 insertions(+), 561 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 c31d3d2d..f7b59623 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,7 +1,7 @@ /** @file Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
+ 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 @@ -36,9 +36,15 @@ EFI_GUID gPkcs7BBTestConformanceAssertionGuid007 = EFI_TEST_PKCS7BBTESTCONFORMAN 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 gPkcs7BBTestConformanceAssertionGuid011 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_011_GUID; +EFI_GUID gPkcs7BBTestConformanceAssertionGuid012 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_012_GUID; +EFI_GUID gPkcs7BBTestConformanceAssertionGuid013 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_013_GUID; +EFI_GUID gPkcs7BBTestConformanceAssertionGuid014 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_014_GUID; +EFI_GUID gPkcs7BBTestConformanceAssertionGuid015 = EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_015_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 +EFI_GUID gPkcs7BBTestFunctionAssertionGuid004 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_004_GUID; +EFI_GUID gPkcs7BBTestFunctionAssertionGuid005 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_005_GUID; +EFI_GUID gPkcs7BBTestFunctionAssertionGuid006 = EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_006_GUID; \ No newline at end of file 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 2165cce4..c6bc3c87 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,7 +1,7 @@ /** @file Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
+ 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 @@ -65,6 +65,27 @@ extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid009; { 0xb136e016, 0x4f80, 0x44bd, {0xba, 0xb0, 0x1c, 0x34, 0x8a, 0x2d, 0xa1, 0x8a }} extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid010; +#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_011_GUID \ +{ 0xa58f3626, 0xf16e, 0x4cd5, { 0xba, 0x12, 0x7a, 0x9d, 0xd6, 0x9a, 0x7a, 0x71 }} +extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid011; + +#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_012_GUID \ +{ 0xbe4a0bf2, 0x2d46, 0x4d96, { 0xa6, 0x11, 0x21, 0x99, 0xa5, 0x5f, 0xa4, 0xee }} +extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid012; + +#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_013_GUID \ +{ 0xc0536a27, 0x304e, 0x497a, { 0xa5, 0xe3, 0x94, 0x11, 0x38, 0x53, 0x6e, 0x40 }} +extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid013; + +#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_014_GUID \ +{ 0x8c5aa0e8, 0x17ff, 0x49cd, { 0x8f, 0xec, 0x37, 0xc3, 0xfd, 0x5f, 0x77, 0x0 }} +extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid014; + +#define EFI_TEST_PKCS7BBTESTCONFORMANCE_ASSERTION_015_GUID \ +{ 0x5f83c45e, 0xce1d, 0x48cb, { 0x86, 0x80, 0xfe, 0x48, 0x63, 0x19, 0xc0, 0x1c }} +extern EFI_GUID gPkcs7BBTestConformanceAssertionGuid015; + + #define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_001_GUID \ { 0x5c0eec50, 0xa6ea, 0x413c, {0x8a, 0x46, 0x4a, 0xd1, 0x4a, 0x77, 0x76, 0xf1 }} @@ -82,4 +103,11 @@ extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid003; { 0x912e23ef, 0x299c, 0x41ab, {0xa0, 0xf5, 0xfc, 0xbc, 0xf6, 0xfd, 0xd3, 0x32 }} extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid004; +#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_005_GUID \ +{ 0x93740b06, 0xa186, 0x47ff, { 0xba, 0xc3, 0xdd, 0xa8, 0xcb, 0x7b, 0x18, 0x5e }} +extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid005; + +#define EFI_TEST_PKCS7BBTESTFUNCTION_ASSERTION_006_GUID \ +{ 0x37253616, 0xca42, 0x4082, { 0x90, 0xda, 0xdb, 0x69, 0x98, 0x22, 0xa0, 0xe6 }} +extern EFI_GUID gPkcs7BBTestFunctionAssertionGuid006; 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 a5a90f04..ea13248c 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,7 +1,7 @@ /** @file Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
+ 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 @@ -52,7 +52,7 @@ BBTestVerifyBufferConformanceTest ( Pkcs7Verify = (EFI_PKCS7_VERIFY_PROTOCOL*)ClientInterface; if (Pkcs7Verify == NULL) - return EFI_UNSUPPORTED; + return EFI_UNSUPPORTED; // // Get the Standard Library Interface @@ -278,10 +278,6 @@ BBTestVerifyBufferConformanceTest ( Status ); - - - - // Signed data embedded in SignedData but InData is not NULL AllowedDb[0] = DbEntry1; RevokedDb[0] = NULL; @@ -507,4 +503,304 @@ BBTestVerifyBufferConformanceTest ( return EFI_SUCCESS; } +EFI_STATUS +BBTestVerifySignatureConformanceTest ( + 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; + EFI_PKCS7_VERIFY_PROTOCOL *Pkcs7Verify; + EFI_TEST_ASSERTION AssertionType; + + + + 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; + + // + // Checkpoint 1 - EFI_INVALID_PARAMETER + // + + // Signature is NULL + Status1 = Pkcs7Verify->VerifySignature (Pkcs7Verify, NULL, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, NULL, NULL); + + // SignatureSize is 0 + Status2 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, 0, TestInHash, sizeof(TestInHash), AllowedDb, NULL, NULL); + + // InHash is NULL. + Status3 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), NULL, sizeof(TestInHash), AllowedDb, NULL, NULL); + + // InHashSize is 0. + Status4 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, 0, AllowedDb, NULL, NULL); + + // AllowedDb is NULL + Status5 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), NULL, NULL, NULL); + + + if ((Status1 == EFI_INVALID_PARAMETER) && (Status2 == EFI_INVALID_PARAMETER) && (Status3 == EFI_INVALID_PARAMETER) && (Status4 == EFI_INVALID_PARAMETER) && + (Status5 == EFI_INVALID_PARAMETER) ) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid011 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_INVALID_PARAMETER.", + L"%a:%d: Status1 - %r, Status2 - %r, Status3 - %r, Status4 - %r, Status5 - %r\n", + __FILE__, + (UINTN)__LINE__, + Status1, + Status2, + Status3, + Status4, + Status5 + ); + + // + // Checkpoint 2 - EFI_UNSUPPORTED + // NOTE: It's hard to distinguish unsupported Signature or security-violated signature for VerifySignature() interface + // since we don't need to extra the attached content from input signature as VerifyBuffer() interface. + // So it's OK to bypass this check or just check the EFI_SECURITY_VIOLATION result. + // + + // + // Modify the Data in the Signature + // + P7TestSignature[0] = 0x40; + + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, NULL, NULL); + + if ((Status == EFI_UNSUPPORTED) || (Status == EFI_SECURITY_VIOLATION)) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid012 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_UNSUPPORTED when Signature buffer was not clrrectly formatted.", + L"%a:%d: Status - %r\n", + __FILE__, + (UINTN)__LINE__, + Status + ); + + // + // Restore the Signature + // + P7TestSignature[0] = 0x30; + + // + // Checkpoint 3 - EFI_ABORTED + // +#if 0 + // + // Unsupported or invalid format in the AllowedDb + // + DbEntry6->SignatureListSize = 16; + AllowedDb[0] = DbEntry1; + Status1 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + // + // Restore the AllowedDb + // + AllowedDb[0] = NULL; + DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert2); + + // + // Modify the Data in the RevokedDb + // + DbEntry1->SignatureListSize = 16; + RevokedDb[0] = DbEntry1; + + Status2 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + // + // Restore the RevokedDb + // + RevokedDb[0] = NULL; + DbEntry1->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TestRootCert2);; + + // + // Modify the Data in the TimestampDb + // + DbEntry3->SignatureListSize = 16; + RevokedDb[0] = DbEntry1; + AllowedDb[0] = DbEntry1; + TimestampDb[0] = DbEntry3; + + Status3 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + // + // Restore the TimestampDb + // + RevokedDb[0] = NULL; + AllowedDb[0] = NULL; + TimestampDb[0] = NULL; + + DbEntry3->SignatureListSize = sizeof (EFI_SIGNATURE_LIST) + 16 + sizeof (TSRootCert2); + + if ((Status1 == EFI_ABORTED) && (Status2 == EFI_ABORTED) && (Status3 == EFI_ABORTED)) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid013 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_ABORTED when Unsupported or invalid format in TimeStampDb, RevokedDb or AllowedDb list contents.", + L"%a:%d: Status - %r\n", + __FILE__, + (UINTN)__LINE__, + Status1, Status2, Status3 + ); +#endif + // + // Checkpoint 4 - EFI_COMPROMISED_DATA + // NOTE: P7Verify leverage OpenSSL for pkcs7 signature verification. + // It's hard for EFI_COMPROMISED_DATA check. Just use EFI_SECURITY_VIOLATION for wrong InHash input. + // + + // + // Modify the Data in the InHash + // + TestInHash[0] = 0x3E; + Status1 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + // + // Restore the InHash + // + TestInHash[0] = 0x3D; + + Status2 = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash)- 2, AllowedDb, RevokedDb, TimestampDb); + + if ((Status1 == EFI_SECURITY_VIOLATION) && (Status2 == EFI_SECURITY_VIOLATION)) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid014 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_COMPROMISED_DATA when hash differs from signed hash.Or encrypted hash are different sizes.", + L"%a:%d: Status - %r\n", + __FILE__, + (UINTN)__LINE__, + Status1, Status2 + ); + + // + // Checkpoint 5 - EFI_SECURITY_VIOLATION + // + // + // The SignedData buffer was correctly formatted but signer was in RevokedDb + // + AllowedDb[0] = DbEntry1; + RevokedDb[0] = DbEntry1; + + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + AllowedDb[0] = NULL; + RevokedDb[0] = NULL; + + if (Status == EFI_SECURITY_VIOLATION) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid015 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_SECURITY_VIOLATION when the SignedData buffer was correctly formatted but signer was in RevokedDb.", + L"%a:%d: Status - %r\n", + __FILE__, + (UINTN)__LINE__, + Status + ); + + + // + // The SignedData buffer was correctly formatted but signer was not in AllowedDb + // + AllowedDb[0] = NULL; + + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + if (Status == EFI_SECURITY_VIOLATION) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid015 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_SECURITY_VIOLATION when the SignedData buffer was correctly formatted but signer was not in AllowedDb.", + L"%a:%d: Status - %r\n", + __FILE__, + (UINTN)__LINE__, + Status + ); + // + // Matching content hash found in the RevokedDb + // + SctCopyMem ((UINT8 *)DbEntry4 + sizeof (EFI_SIGNATURE_LIST) + 16, TestInHash, 32); + RevokedDb[0] = DbEntry4; + AllowedDb[0] = DbEntry1; + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + RevokedDb[0] = NULL; + AllowedDb[0] = NULL; + + if (Status == EFI_SECURITY_VIOLATION) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestConformanceAssertionGuid015 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_SECURITY_VIOLATION when matching content hash found in the RevokedDb.", + L"%a:%d: Status - %r\n", + __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 a164b54a..0945a758 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,7 +1,7 @@ /** @file Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
+ 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 @@ -24,542 +24,980 @@ Abstract: --*/ +// +// Test Root Certificate ("TestRoot.cer") +// +GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestRootCert[781] = { + 0x30, 0x82, 0x03, 0x09, 0x30, 0x82, 0x01, 0xF1, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0xDE, 0x9F, 0x42, 0x91, 0x68, 0x16, 0xEA, 0x97, 0x4D, + 0xA1, 0x8A, 0x32, 0x25, 0xD6, 0xEE, 0x8D, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 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, + 0x38, 0x30, 0x31, 0x32, 0x35, 0x30, 0x32, 0x30, 0x35, 0x35, 0x30, 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, 0xA5, 0x97, 0x23, + 0x48, 0xBE, 0xCA, 0xC8, 0xE0, 0x88, 0xC6, 0xA2, 0xAF, 0x78, 0x60, 0x94, + 0x48, 0x3E, 0x82, 0xE7, 0xD5, 0x62, 0x01, 0x73, 0x00, 0xEA, 0x42, 0x7A, + 0x32, 0x0A, 0xD7, 0x3F, 0x4D, 0x0B, 0x71, 0x6D, 0xD3, 0x50, 0x5E, 0x26, + 0x20, 0xE8, 0xCC, 0xB6, 0x0A, 0xAF, 0xD9, 0x07, 0x22, 0x17, 0x45, 0xD8, + 0x91, 0x75, 0x75, 0x52, 0xD8, 0x8C, 0xAB, 0x63, 0x0A, 0xF0, 0x23, 0x14, + 0x34, 0x92, 0x3F, 0xE0, 0x05, 0x24, 0x28, 0xED, 0x74, 0x8E, 0x4D, 0x3E, + 0xE9, 0xBA, 0xA8, 0x92, 0xB1, 0x0D, 0xCB, 0x60, 0x4B, 0xEA, 0x42, 0x84, + 0x20, 0x25, 0x8E, 0x80, 0x1D, 0x57, 0xEE, 0xE7, 0xF4, 0xB8, 0x11, 0x3C, + 0xDE, 0x51, 0x2F, 0xE1, 0xE8, 0xC0, 0x8B, 0x85, 0x7D, 0x54, 0x0F, 0x05, + 0xBE, 0xD5, 0xAA, 0x70, 0xDD, 0xDE, 0x55, 0xEC, 0x78, 0x1F, 0x0B, 0xE6, + 0x0D, 0xEF, 0xDB, 0xCD, 0x7A, 0x33, 0x17, 0xA3, 0xD5, 0xDB, 0x20, 0xC6, + 0xF1, 0x48, 0xD6, 0x6E, 0x1F, 0xA1, 0x72, 0xD1, 0xA1, 0xF0, 0x47, 0x2D, + 0xA2, 0xDC, 0x42, 0x11, 0x65, 0x3A, 0xE1, 0x32, 0x3E, 0x15, 0x25, 0xCA, + 0x1F, 0x99, 0xE4, 0xA5, 0x01, 0x31, 0x0B, 0x84, 0xAC, 0xD2, 0x4B, 0x6B, + 0xE3, 0xE8, 0x06, 0x19, 0xB6, 0xA6, 0xA8, 0xAB, 0xA9, 0x09, 0x72, 0x34, + 0x4F, 0xDB, 0xA5, 0x3E, 0x11, 0x1B, 0xCA, 0xC3, 0x16, 0x69, 0x1D, 0x66, + 0xC8, 0x2D, 0x7A, 0xF8, 0xBD, 0xE3, 0x96, 0x56, 0x26, 0xAB, 0xDE, 0x28, + 0x8B, 0x86, 0x22, 0x0A, 0xAC, 0x96, 0xAE, 0x0D, 0x48, 0xA0, 0xEA, 0x15, + 0xCD, 0xA0, 0x9F, 0xC4, 0xD8, 0x09, 0x67, 0x6A, 0x22, 0x24, 0x72, 0x69, + 0xB4, 0xAB, 0x17, 0x13, 0xF3, 0x37, 0x68, 0x6A, 0xA7, 0xC6, 0x5F, 0x9A, + 0xCE, 0x87, 0xB1, 0x28, 0x33, 0x66, 0xB3, 0x2A, 0xD2, 0xEF, 0xBF, 0x00, + 0x85, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x59, 0x30, 0x57, 0x30, 0x0F, + 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, + 0x01, 0x01, 0xFF, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, + 0x30, 0x3B, 0x80, 0x10, 0x7A, 0x73, 0xC4, 0xE1, 0x17, 0x5D, 0xA7, 0x53, + 0x98, 0x6B, 0x7A, 0x61, 0x49, 0xBC, 0xE5, 0xE3, 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, 0xDE, 0x9F, 0x42, + 0x91, 0x68, 0x16, 0xEA, 0x97, 0x4D, 0xA1, 0x8A, 0x32, 0x25, 0xD6, 0xEE, + 0x8D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, + 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x94, 0x21, 0x58, + 0x01, 0xA5, 0xFC, 0xF7, 0x29, 0x03, 0x52, 0x7C, 0xCB, 0x5B, 0x52, 0xC7, + 0x6C, 0x9C, 0xD5, 0xE9, 0xCB, 0xF4, 0x6D, 0xE8, 0xD5, 0xBE, 0xED, 0xF7, + 0x35, 0x6C, 0x55, 0xAB, 0xDD, 0xA9, 0x66, 0xE8, 0x80, 0x5F, 0xBE, 0x4A, + 0xCB, 0x81, 0xED, 0x9D, 0xD5, 0xC5, 0x1B, 0xEB, 0x37, 0x08, 0xEB, 0x8F, + 0x47, 0xC1, 0x53, 0xC3, 0x94, 0x27, 0xEF, 0x57, 0xD4, 0xD8, 0x15, 0xB8, + 0x3E, 0x2C, 0x3C, 0x17, 0x10, 0x1D, 0x8C, 0x88, 0xD0, 0xA5, 0x17, 0x46, + 0x25, 0x2F, 0xDA, 0xE2, 0xF5, 0x97, 0x8E, 0xF8, 0x14, 0x40, 0x24, 0xC0, + 0xE5, 0xC9, 0x36, 0x57, 0x41, 0xE9, 0xF7, 0x73, 0x74, 0xE8, 0x76, 0xB5, + 0x9E, 0x85, 0xA8, 0x1E, 0x96, 0x27, 0x21, 0x4A, 0x8A, 0xFB, 0x9F, 0x81, + 0x3B, 0x96, 0xAD, 0xFC, 0x73, 0x37, 0xCB, 0xDC, 0x70, 0x2B, 0x29, 0x7D, + 0x53, 0x7C, 0xC0, 0xEC, 0x46, 0x86, 0x12, 0xDF, 0x95, 0x61, 0xAE, 0x76, + 0x7E, 0xDE, 0x43, 0x23, 0x98, 0xD0, 0x7E, 0x29, 0x0E, 0xAB, 0xD9, 0x4A, + 0xE2, 0xD0, 0x66, 0x45, 0xC6, 0xD0, 0x30, 0x02, 0x60, 0x09, 0xF3, 0xFB, + 0xF1, 0x7F, 0xE8, 0xCE, 0x41, 0x4A, 0xE5, 0x64, 0xF6, 0x01, 0xCE, 0x04, + 0xE4, 0x0B, 0xD0, 0x12, 0x2D, 0x90, 0x1D, 0x36, 0x97, 0xD5, 0x7B, 0xB3, + 0xFD, 0xD9, 0x56, 0x64, 0x3C, 0x6E, 0x8B, 0xBC, 0x58, 0x3C, 0xC8, 0xE1, + 0x5A, 0xDE, 0xB2, 0x29, 0x16, 0x30, 0x13, 0xB4, 0xC2, 0x07, 0x4C, 0x4F, + 0x2E, 0x77, 0x20, 0xDC, 0x4A, 0xB7, 0x59, 0x21, 0x07, 0x32, 0x90, 0x80, + 0x5D, 0x06, 0xBA, 0x5D, 0x1C, 0xDA, 0x01, 0xE5, 0x13, 0x91, 0x05, 0xE8, + 0x71, 0x82, 0x68, 0x90, 0x6C, 0x8A, 0x93, 0x38, 0x67, 0x8E, 0x15, 0x5A, + 0xD6, 0x3F, 0xB3, 0x9E, 0x54, 0xE2, 0x51, 0x7F, 0xEB, 0x20, 0x72, 0x62, + 0x50 + }; + +// +// Test Sub Certificate ("TestSub.cer", Issued by TestRoot Certificate) +// +UINT8 TestSubCert[780] = { + 0x30, 0x82, 0x03, 0x08, 0x30, 0x82, 0x01, 0xF0, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x10, 0x87, 0xF0, 0xD2, 0x05, 0x0C, 0x57, 0x0C, 0x96, 0x48, + 0x94, 0xBA, 0x6B, 0xEB, 0xA2, 0x97, 0x46, 0x30, 0x0D, 0x06, 0x09, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 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, + 0x38, 0x30, 0x31, 0x32, 0x35, 0x30, 0x32, 0x30, 0x36, 0x34, 0x35, 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, 0x9F, 0x97, 0xC4, 0x19, + 0x70, 0x6C, 0x7D, 0x3D, 0x7F, 0x32, 0xC8, 0x01, 0xFA, 0xA9, 0x36, 0x84, + 0xA2, 0xAF, 0xB6, 0xF5, 0xC6, 0x22, 0xF6, 0xF9, 0x98, 0xDB, 0xC9, 0xEF, + 0xA0, 0xDF, 0x2E, 0x02, 0x8B, 0x76, 0xD0, 0x05, 0x72, 0x72, 0x0A, 0xBB, + 0xAC, 0x45, 0xDA, 0x45, 0x96, 0x7E, 0x71, 0x69, 0x32, 0x1C, 0xA0, 0x73, + 0x93, 0x91, 0xBA, 0x86, 0x6A, 0x86, 0xFC, 0x2B, 0x95, 0x57, 0x82, 0xD8, + 0x67, 0x59, 0x43, 0xD8, 0xEE, 0xBE, 0x12, 0xF1, 0x9F, 0x95, 0x8E, 0x10, + 0xA0, 0xFC, 0xF4, 0x47, 0x19, 0x49, 0xA3, 0xA0, 0xE5, 0x93, 0x3A, 0x7C, + 0x0B, 0x03, 0xE5, 0x8E, 0xDF, 0xCD, 0x86, 0x98, 0x9C, 0xF4, 0x95, 0x67, + 0x9D, 0xD8, 0xB8, 0xC2, 0x16, 0xED, 0x20, 0x7D, 0x07, 0x7F, 0xAD, 0xD0, + 0x75, 0x5F, 0x7B, 0xB9, 0xA3, 0xC2, 0xD4, 0x2F, 0x42, 0x06, 0xE4, 0xBA, + 0x8C, 0xF0, 0x69, 0x71, 0xA2, 0x3B, 0x68, 0x3A, 0x35, 0x10, 0x32, 0x0E, + 0xDA, 0x91, 0xC6, 0x00, 0x83, 0x74, 0xAB, 0xF4, 0xB4, 0x55, 0xC2, 0x48, + 0x9A, 0xCE, 0x89, 0xFE, 0x28, 0x10, 0x62, 0xEA, 0xC0, 0xC5, 0xC4, 0x15, + 0x20, 0x78, 0xF9, 0xB0, 0xE9, 0x7B, 0xA3, 0x1B, 0xB8, 0xE7, 0xA5, 0x79, + 0xA5, 0xFF, 0x1B, 0x68, 0xA3, 0xA4, 0x3A, 0x18, 0xA6, 0x77, 0xF6, 0x2F, + 0xC8, 0xC4, 0xBD, 0xA6, 0xDC, 0xC6, 0xAF, 0x48, 0xF4, 0x44, 0xF9, 0x60, + 0x00, 0xE7, 0x94, 0xBC, 0xE3, 0x70, 0x2E, 0x21, 0x8E, 0x6E, 0x90, 0xD0, + 0x4B, 0xE1, 0xB6, 0x58, 0x81, 0x4E, 0x4E, 0xAA, 0xEB, 0x6A, 0xE8, 0xBC, + 0xCE, 0xD7, 0x96, 0xB0, 0x6A, 0x99, 0x8D, 0x93, 0xF9, 0x79, 0xA3, 0xAD, + 0x9A, 0x3C, 0x52, 0x0E, 0x87, 0x9B, 0x34, 0xBC, 0x1D, 0xD0, 0x6A, 0x77, + 0xCC, 0x21, 0x2F, 0x5F, 0xCB, 0x60, 0x0A, 0xEF, 0xF5, 0xBD, 0xE9, 0x15, + 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x59, 0x30, 0x57, 0x30, 0x0F, 0x06, + 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, + 0x01, 0xFF, 0x30, 0x44, 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, + 0x3B, 0x80, 0x10, 0x7A, 0x73, 0xC4, 0xE1, 0x17, 0x5D, 0xA7, 0x53, 0x98, + 0x6B, 0x7A, 0x61, 0x49, 0xBC, 0xE5, 0xE3, 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, 0xDE, 0x9F, 0x42, 0x91, + 0x68, 0x16, 0xEA, 0x97, 0x4D, 0xA1, 0x8A, 0x32, 0x25, 0xD6, 0xEE, 0x8D, + 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x2A, 0x39, 0x32, 0xE5, + 0xFA, 0x14, 0x03, 0x1A, 0x8B, 0xBD, 0xDF, 0xAB, 0x6D, 0x1C, 0xF7, 0x8B, + 0xE5, 0x76, 0x4E, 0x02, 0xDF, 0x9D, 0x18, 0x7E, 0x1E, 0x73, 0xDC, 0x9C, + 0xD5, 0x36, 0xA2, 0x91, 0xC7, 0xC0, 0xAC, 0xEE, 0x92, 0xE8, 0x3C, 0x88, + 0x2A, 0xF5, 0x61, 0x6F, 0xB7, 0xC4, 0x21, 0xC3, 0xCD, 0xE5, 0xCF, 0x48, + 0x46, 0x67, 0x5A, 0xC3, 0x16, 0x4E, 0xBE, 0xF0, 0x30, 0xD8, 0x3B, 0xBC, + 0x8F, 0x84, 0xCD, 0x15, 0xD5, 0xB3, 0x11, 0xA0, 0xAD, 0xED, 0x81, 0x51, + 0x49, 0x71, 0x7F, 0xF6, 0xCC, 0x4C, 0x44, 0x59, 0x13, 0x5E, 0x27, 0x98, + 0x73, 0x5B, 0x74, 0xD6, 0xD6, 0x59, 0xFF, 0x81, 0x57, 0xBF, 0xF1, 0xF3, + 0x01, 0x6C, 0xE6, 0x32, 0xE4, 0x05, 0xFE, 0x1B, 0x1E, 0x33, 0x03, 0x2E, + 0x9A, 0xA1, 0x1E, 0xBE, 0xA3, 0x0E, 0xA5, 0x59, 0x50, 0x38, 0x3D, 0x0B, + 0xF7, 0xD8, 0x25, 0x15, 0xCB, 0xFA, 0x73, 0x22, 0x24, 0xD2, 0x5E, 0x7F, + 0xAE, 0x8B, 0x8F, 0x44, 0x29, 0x68, 0x49, 0x6A, 0x36, 0xA8, 0x29, 0x5B, + 0xAE, 0xD3, 0xE4, 0x5E, 0xE1, 0xDB, 0xF1, 0x73, 0xEE, 0x15, 0x88, 0x03, + 0x69, 0x0D, 0x53, 0xF4, 0x92, 0x93, 0xDF, 0xC9, 0x95, 0x22, 0xED, 0x0E, + 0xEB, 0xCD, 0xB2, 0x1E, 0xFD, 0xCA, 0xEF, 0x53, 0x06, 0xF2, 0xE0, 0x85, + 0xE2, 0x51, 0x6C, 0xE9, 0xAB, 0x8D, 0x30, 0x5A, 0xC3, 0xDC, 0x0A, 0xC2, + 0xDC, 0x23, 0x47, 0xDD, 0x8F, 0x18, 0x06, 0x24, 0xFF, 0x77, 0xF8, 0xFA, + 0x25, 0x2B, 0x68, 0x7A, 0xD1, 0xED, 0x41, 0xA2, 0x37, 0x95, 0xBC, 0x2B, + 0xBB, 0x64, 0xBE, 0x9D, 0x6A, 0x6E, 0x5A, 0x85, 0xBF, 0x03, 0xC5, 0x4E, + 0xA1, 0x5D, 0x82, 0xFE, 0x19, 0x85, 0xD7, 0x60, 0xE9, 0x01, 0xB3, 0x40, + 0x1F, 0x8B, 0x16, 0xDD, 0xFD, 0x22, 0x55, 0x2F, 0x3D, 0xDF, 0xA7, 0x28 + }; + +// +// The SHA256 Digest Value of Sample TBSCert in TestSub Certificate +// +GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestSubCertHash[32] = { + 0x08, 0xae, 0xc4, 0xe2, 0xef, 0x27, 0x02, 0xe1, 0x52, 0xfc, 0x1a, 0x35, + 0xa5, 0x33, 0x35, 0x04, 0xff, 0x86, 0x66, 0xf8, 0x46, 0xbf, 0xcc, 0x40, + 0x8f, 0x0f, 0x57, 0x71, 0xa5, 0x8c, 0x21, 0x3f + }; + +// +// The Comodo Time Stamping Signer Certificate Used for the verification of TimeStamp signature +// which was retrieved from signed-timestamped TestBin binary. +// +GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TSRootCert[1181] = { + 0x30, 0x82, 0x04, 0x99, 0x30, 0x82, 0x03, 0x81, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0F, 0x16, 0x88, 0xF0, 0x39, 0x25, 0x5E, 0x63, 0x8E, 0x69, + 0x14, 0x39, 0x07, 0xE6, 0x33, 0x0B, 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, 0x31, + 0x32, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, + 0x31, 0x39, 0x30, 0x37, 0x30, 0x39, 0x31, 0x38, 0x34, 0x30, 0x33, 0x36, + 0x5A, 0x30, 0x81, 0x84, 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, 0x2A, 0x30, 0x28, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, 0x4F, 0x4D, 0x4F, 0x44, + 0x4F, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x31, 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, 0xE9, 0xE9, 0x3D, 0xDF, 0xD7, 0x37, 0x08, 0xC9, 0x1E, 0x38, 0xB2, + 0x52, 0x53, 0x42, 0x6D, 0x22, 0xF1, 0xB1, 0xC4, 0x06, 0x04, 0x6B, 0x9E, + 0xFD, 0x82, 0x74, 0x50, 0x43, 0x7D, 0xC6, 0xA0, 0xBB, 0x1F, 0x4E, 0xF9, + 0x02, 0x71, 0x26, 0xB1, 0xEF, 0x43, 0xD8, 0x83, 0x8C, 0x48, 0xFC, 0xE7, + 0x0F, 0x97, 0x7A, 0x9A, 0xEB, 0x9C, 0xDE, 0xA6, 0xA3, 0x0E, 0x3B, 0x1C, + 0x44, 0x18, 0x75, 0x8E, 0x78, 0xA5, 0x17, 0x69, 0xFE, 0x49, 0x18, 0xA4, + 0xE2, 0xBB, 0x5C, 0x4E, 0xFE, 0x8E, 0x2A, 0x54, 0x7A, 0x50, 0xF0, 0xD5, + 0xF6, 0xCC, 0x91, 0xE7, 0x99, 0x79, 0xD7, 0xDE, 0x79, 0x94, 0xD7, 0x96, + 0x33, 0xFE, 0x0E, 0x83, 0xBE, 0x22, 0xBF, 0x63, 0x16, 0x2C, 0xA3, 0xDD, + 0x28, 0x1B, 0xAF, 0x3D, 0xAB, 0xEA, 0x97, 0xD2, 0xF1, 0xBF, 0x04, 0x10, + 0xE7, 0x3D, 0x48, 0x45, 0xFD, 0x1F, 0x68, 0x65, 0xC1, 0x7F, 0x59, 0x99, + 0x69, 0xC0, 0x22, 0x31, 0x0C, 0x62, 0x6E, 0xA7, 0x5C, 0x65, 0x01, 0x21, + 0xB0, 0x63, 0xC4, 0x22, 0x18, 0x27, 0xEE, 0xE6, 0xFC, 0xD2, 0x00, 0x3D, + 0x47, 0x2E, 0xA8, 0xB8, 0x86, 0x56, 0x5D, 0x04, 0xDC, 0x13, 0x17, 0x25, + 0x6E, 0x1C, 0xDF, 0x44, 0x0F, 0x15, 0xCD, 0xB7, 0xDB, 0xA5, 0x57, 0x76, + 0x42, 0x6F, 0x00, 0x68, 0x82, 0x99, 0xD2, 0xE3, 0xC1, 0xDE, 0xF0, 0x8B, + 0x94, 0x57, 0x4C, 0xEC, 0x08, 0x90, 0x22, 0x21, 0xCE, 0x22, 0x2B, 0x98, + 0x0C, 0x42, 0xE6, 0x42, 0x93, 0x94, 0x98, 0x93, 0xEF, 0xFD, 0x06, 0xD9, + 0x3F, 0xBC, 0x5B, 0x9B, 0x54, 0x3C, 0x20, 0xB1, 0xEE, 0x6A, 0xD6, 0x47, + 0x7A, 0xC5, 0xAB, 0x80, 0xE9, 0x30, 0x9A, 0xDE, 0xF1, 0xA4, 0x3F, 0x55, + 0x4D, 0x0A, 0x09, 0x34, 0x8A, 0x75, 0x29, 0xD2, 0x69, 0xAD, 0x97, 0x0F, + 0x50, 0xBF, 0xF8, 0xCA, 0x09, 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, + 0x8E, 0x6B, 0x2D, 0x33, 0x6B, 0xF4, 0x33, 0xA7, 0x93, 0xB3, 0x13, 0x9A, + 0xA5, 0xE0, 0x0A, 0xF7, 0x12, 0x35, 0x6A, 0x88, 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, 0xBA, 0x33, 0x24, 0x40, 0x40, 0x8C, 0x7C, 0xDB, 0x58, 0x9F, 0xB3, + 0x60, 0x98, 0xB2, 0xF5, 0xC0, 0x31, 0xFE, 0xEB, 0x1F, 0x6E, 0x50, 0xF6, + 0x0A, 0xE0, 0xE4, 0xE6, 0x81, 0xAD, 0x26, 0x87, 0xA2, 0xDF, 0xFD, 0xB3, + 0xDA, 0xF4, 0x73, 0xF3, 0x00, 0xFB, 0x29, 0x1B, 0x89, 0x1B, 0x15, 0x3E, + 0xDB, 0x6B, 0x52, 0x93, 0x2B, 0xC4, 0xAC, 0x39, 0x81, 0xD7, 0x3C, 0x67, + 0x57, 0x9A, 0x39, 0x36, 0xE0, 0x28, 0x08, 0x9A, 0xE3, 0x39, 0x4F, 0x9B, + 0x89, 0x09, 0x7F, 0x7B, 0xC5, 0x61, 0x7F, 0x59, 0x89, 0x32, 0x25, 0x0A, + 0x6A, 0xAE, 0x1A, 0x3E, 0xF0, 0xA2, 0x27, 0xA8, 0xB6, 0xC3, 0xB8, 0x87, + 0xF7, 0x16, 0x04, 0x48, 0x41, 0x3D, 0x5C, 0xD8, 0xEC, 0x9F, 0x4D, 0x20, + 0x31, 0x04, 0xD9, 0x65, 0xA1, 0xED, 0xCD, 0x69, 0x07, 0x53, 0x16, 0x3D, + 0xDD, 0x36, 0x02, 0x0A, 0x88, 0xEB, 0x40, 0xE5, 0x06, 0x30, 0x0B, 0xB8, + 0x16, 0x4B, 0xDC, 0xEF, 0xBC, 0x55, 0x09, 0xFF, 0xC6, 0x3E, 0x12, 0x2E, + 0x76, 0xB3, 0xDC, 0xCE, 0x42, 0xEF, 0xF9, 0x76, 0x57, 0xE1, 0xB7, 0x0A, + 0x05, 0x40, 0x98, 0x58, 0x9A, 0x5D, 0x71, 0x16, 0x93, 0x71, 0x8C, 0x65, + 0x81, 0xEA, 0x6F, 0xF3, 0x89, 0xF7, 0xFB, 0x73, 0xAD, 0xB4, 0xE7, 0xBF, + 0xD9, 0x8E, 0x6F, 0xAA, 0x0B, 0x4F, 0x25, 0xF3, 0xB8, 0xE1, 0xD5, 0xDD, + 0x75, 0x98, 0x68, 0x81, 0xF8, 0xAA, 0xC0, 0xD1, 0x80, 0xC2, 0xC4, 0xC4, + 0x39, 0x89, 0xC1, 0xF6, 0xC9, 0x9E, 0x6C, 0xD7, 0x74, 0xF9, 0xD9, 0x97, + 0xF8, 0x4F, 0xC2, 0x9A, 0x0A, 0xCD, 0x5E, 0x8F, 0xF8, 0x19, 0xE9, 0xE0, + 0xA5, 0x9F, 0xC4, 0xF0, 0x92, 0x21, 0xE6, 0x2D, 0x79, 0x25, 0xC9, 0x22, + 0xF9, 0xC3, 0xF0, 0x3A, 0x84, 0x57, 0xAD, 0x3A, 0x16, 0xF4, 0x63, 0x94, + 0x10, 0x1D, 0x5D, 0xD0, 0xC6 + }; + // // 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 -}; + 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 -}; + 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 + }; // -// Embedded PKCS7 signedData (by signing TestBin with TestSub Certificate, and Timestamped) +// Embedded PKCS7 signedData (by signing Test.bin 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 -}; +UINT8 P7Embedded[3365] = { + 0x30, 0x82, 0x0D, 0x21, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, + 0x01, 0x07, 0x02, 0xA0, 0x82, 0x0D, 0x12, 0x30, 0x82, 0x0D, 0x0E, 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, 0x03, 0x0C, 0x30, 0x82, 0x03, 0x08, + 0x30, 0x82, 0x01, 0xF0, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x87, + 0xF0, 0xD2, 0x05, 0x0C, 0x57, 0x0C, 0x96, 0x48, 0x94, 0xBA, 0x6B, 0xEB, + 0xA2, 0x97, 0x46, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x01, 0x0B, 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, 0x38, 0x30, 0x31, 0x32, + 0x35, 0x30, 0x32, 0x30, 0x36, 0x34, 0x35, 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, 0x9F, 0x97, 0xC4, 0x19, 0x70, 0x6C, 0x7D, 0x3D, + 0x7F, 0x32, 0xC8, 0x01, 0xFA, 0xA9, 0x36, 0x84, 0xA2, 0xAF, 0xB6, 0xF5, + 0xC6, 0x22, 0xF6, 0xF9, 0x98, 0xDB, 0xC9, 0xEF, 0xA0, 0xDF, 0x2E, 0x02, + 0x8B, 0x76, 0xD0, 0x05, 0x72, 0x72, 0x0A, 0xBB, 0xAC, 0x45, 0xDA, 0x45, + 0x96, 0x7E, 0x71, 0x69, 0x32, 0x1C, 0xA0, 0x73, 0x93, 0x91, 0xBA, 0x86, + 0x6A, 0x86, 0xFC, 0x2B, 0x95, 0x57, 0x82, 0xD8, 0x67, 0x59, 0x43, 0xD8, + 0xEE, 0xBE, 0x12, 0xF1, 0x9F, 0x95, 0x8E, 0x10, 0xA0, 0xFC, 0xF4, 0x47, + 0x19, 0x49, 0xA3, 0xA0, 0xE5, 0x93, 0x3A, 0x7C, 0x0B, 0x03, 0xE5, 0x8E, + 0xDF, 0xCD, 0x86, 0x98, 0x9C, 0xF4, 0x95, 0x67, 0x9D, 0xD8, 0xB8, 0xC2, + 0x16, 0xED, 0x20, 0x7D, 0x07, 0x7F, 0xAD, 0xD0, 0x75, 0x5F, 0x7B, 0xB9, + 0xA3, 0xC2, 0xD4, 0x2F, 0x42, 0x06, 0xE4, 0xBA, 0x8C, 0xF0, 0x69, 0x71, + 0xA2, 0x3B, 0x68, 0x3A, 0x35, 0x10, 0x32, 0x0E, 0xDA, 0x91, 0xC6, 0x00, + 0x83, 0x74, 0xAB, 0xF4, 0xB4, 0x55, 0xC2, 0x48, 0x9A, 0xCE, 0x89, 0xFE, + 0x28, 0x10, 0x62, 0xEA, 0xC0, 0xC5, 0xC4, 0x15, 0x20, 0x78, 0xF9, 0xB0, + 0xE9, 0x7B, 0xA3, 0x1B, 0xB8, 0xE7, 0xA5, 0x79, 0xA5, 0xFF, 0x1B, 0x68, + 0xA3, 0xA4, 0x3A, 0x18, 0xA6, 0x77, 0xF6, 0x2F, 0xC8, 0xC4, 0xBD, 0xA6, + 0xDC, 0xC6, 0xAF, 0x48, 0xF4, 0x44, 0xF9, 0x60, 0x00, 0xE7, 0x94, 0xBC, + 0xE3, 0x70, 0x2E, 0x21, 0x8E, 0x6E, 0x90, 0xD0, 0x4B, 0xE1, 0xB6, 0x58, + 0x81, 0x4E, 0x4E, 0xAA, 0xEB, 0x6A, 0xE8, 0xBC, 0xCE, 0xD7, 0x96, 0xB0, + 0x6A, 0x99, 0x8D, 0x93, 0xF9, 0x79, 0xA3, 0xAD, 0x9A, 0x3C, 0x52, 0x0E, + 0x87, 0x9B, 0x34, 0xBC, 0x1D, 0xD0, 0x6A, 0x77, 0xCC, 0x21, 0x2F, 0x5F, + 0xCB, 0x60, 0x0A, 0xEF, 0xF5, 0xBD, 0xE9, 0x15, 0x02, 0x03, 0x01, 0x00, + 0x01, 0xA3, 0x59, 0x30, 0x57, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, + 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x44, + 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x7A, + 0x73, 0xC4, 0xE1, 0x17, 0x5D, 0xA7, 0x53, 0x98, 0x6B, 0x7A, 0x61, 0x49, + 0xBC, 0xE5, 0xE3, 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, 0xDE, 0x9F, 0x42, 0x91, 0x68, 0x16, 0xEA, 0x97, + 0x4D, 0xA1, 0x8A, 0x32, 0x25, 0xD6, 0xEE, 0x8D, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, + 0x82, 0x01, 0x01, 0x00, 0x2A, 0x39, 0x32, 0xE5, 0xFA, 0x14, 0x03, 0x1A, + 0x8B, 0xBD, 0xDF, 0xAB, 0x6D, 0x1C, 0xF7, 0x8B, 0xE5, 0x76, 0x4E, 0x02, + 0xDF, 0x9D, 0x18, 0x7E, 0x1E, 0x73, 0xDC, 0x9C, 0xD5, 0x36, 0xA2, 0x91, + 0xC7, 0xC0, 0xAC, 0xEE, 0x92, 0xE8, 0x3C, 0x88, 0x2A, 0xF5, 0x61, 0x6F, + 0xB7, 0xC4, 0x21, 0xC3, 0xCD, 0xE5, 0xCF, 0x48, 0x46, 0x67, 0x5A, 0xC3, + 0x16, 0x4E, 0xBE, 0xF0, 0x30, 0xD8, 0x3B, 0xBC, 0x8F, 0x84, 0xCD, 0x15, + 0xD5, 0xB3, 0x11, 0xA0, 0xAD, 0xED, 0x81, 0x51, 0x49, 0x71, 0x7F, 0xF6, + 0xCC, 0x4C, 0x44, 0x59, 0x13, 0x5E, 0x27, 0x98, 0x73, 0x5B, 0x74, 0xD6, + 0xD6, 0x59, 0xFF, 0x81, 0x57, 0xBF, 0xF1, 0xF3, 0x01, 0x6C, 0xE6, 0x32, + 0xE4, 0x05, 0xFE, 0x1B, 0x1E, 0x33, 0x03, 0x2E, 0x9A, 0xA1, 0x1E, 0xBE, + 0xA3, 0x0E, 0xA5, 0x59, 0x50, 0x38, 0x3D, 0x0B, 0xF7, 0xD8, 0x25, 0x15, + 0xCB, 0xFA, 0x73, 0x22, 0x24, 0xD2, 0x5E, 0x7F, 0xAE, 0x8B, 0x8F, 0x44, + 0x29, 0x68, 0x49, 0x6A, 0x36, 0xA8, 0x29, 0x5B, 0xAE, 0xD3, 0xE4, 0x5E, + 0xE1, 0xDB, 0xF1, 0x73, 0xEE, 0x15, 0x88, 0x03, 0x69, 0x0D, 0x53, 0xF4, + 0x92, 0x93, 0xDF, 0xC9, 0x95, 0x22, 0xED, 0x0E, 0xEB, 0xCD, 0xB2, 0x1E, + 0xFD, 0xCA, 0xEF, 0x53, 0x06, 0xF2, 0xE0, 0x85, 0xE2, 0x51, 0x6C, 0xE9, + 0xAB, 0x8D, 0x30, 0x5A, 0xC3, 0xDC, 0x0A, 0xC2, 0xDC, 0x23, 0x47, 0xDD, + 0x8F, 0x18, 0x06, 0x24, 0xFF, 0x77, 0xF8, 0xFA, 0x25, 0x2B, 0x68, 0x7A, + 0xD1, 0xED, 0x41, 0xA2, 0x37, 0x95, 0xBC, 0x2B, 0xBB, 0x64, 0xBE, 0x9D, + 0x6A, 0x6E, 0x5A, 0x85, 0xBF, 0x03, 0xC5, 0x4E, 0xA1, 0x5D, 0x82, 0xFE, + 0x19, 0x85, 0xD7, 0x60, 0xE9, 0x01, 0xB3, 0x40, 0x1F, 0x8B, 0x16, 0xDD, + 0xFD, 0x22, 0x55, 0x2F, 0x3D, 0xDF, 0xA7, 0x28, 0x31, 0x82, 0x09, 0x95, + 0x30, 0x82, 0x09, 0x91, 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, 0x87, 0xF0, 0xD2, 0x05, + 0x0C, 0x57, 0x0C, 0x96, 0x48, 0x94, 0xBA, 0x6B, 0xEB, 0xA2, 0x97, 0x46, + 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, 0x57, 0x8A, + 0x23, 0xE1, 0x7C, 0x50, 0xEB, 0x86, 0xFE, 0x20, 0x58, 0xA1, 0x59, 0xE1, + 0x65, 0xC4, 0x31, 0xDE, 0xC6, 0xB3, 0x00, 0x84, 0x5C, 0x6E, 0x7D, 0x83, + 0x44, 0x02, 0xD8, 0xB0, 0x81, 0xCE, 0xC1, 0xA9, 0x26, 0x05, 0x85, 0x76, + 0x43, 0x08, 0x15, 0x47, 0x61, 0x41, 0x72, 0xE1, 0x49, 0xBD, 0x6B, 0x1F, + 0xC1, 0xC2, 0xBF, 0xA1, 0x54, 0xE2, 0xFA, 0x1D, 0xDD, 0x13, 0x14, 0x1C, + 0x09, 0xF3, 0x0C, 0xBF, 0xE1, 0x4F, 0xBF, 0xF9, 0xD7, 0xF1, 0x21, 0x9A, + 0xCC, 0x16, 0xA6, 0x08, 0x3C, 0x99, 0x50, 0x2F, 0x38, 0xF7, 0xFF, 0xB9, + 0x1C, 0x63, 0x8C, 0xBD, 0xBD, 0x38, 0x11, 0xF5, 0x48, 0xB5, 0xD9, 0x6F, + 0xC8, 0xFB, 0xC7, 0xE9, 0xB6, 0xA4, 0xBE, 0xDE, 0x22, 0xB2, 0xAA, 0x38, + 0xE1, 0x58, 0x05, 0x06, 0xB9, 0xC4, 0x82, 0x6E, 0x14, 0x25, 0x87, 0xC2, + 0x06, 0xD9, 0x73, 0x85, 0x19, 0xF4, 0x87, 0x9C, 0xFB, 0x8A, 0xD8, 0x2C, + 0x13, 0x1A, 0xA3, 0x24, 0xC8, 0xEC, 0xA4, 0xBA, 0x81, 0xE1, 0x7E, 0x4A, + 0x18, 0x9C, 0xE0, 0x98, 0xCF, 0xA5, 0x78, 0x40, 0xD0, 0xFD, 0xD9, 0xC0, + 0x0E, 0x0C, 0x87, 0xBD, 0xDB, 0x06, 0x88, 0x7A, 0x09, 0xEE, 0x92, 0x22, + 0xB0, 0xC8, 0x11, 0xB1, 0x12, 0x9D, 0x9B, 0x0D, 0xD5, 0x60, 0xED, 0x31, + 0x5A, 0x38, 0x6C, 0x50, 0x55, 0x70, 0xD8, 0x5A, 0x51, 0x1A, 0xDA, 0x03, + 0x53, 0x9A, 0x2D, 0x3F, 0x2A, 0xA5, 0xD6, 0x0F, 0x5E, 0x51, 0xDD, 0xE7, + 0x48, 0xAE, 0xE3, 0x6C, 0x1D, 0x44, 0xC4, 0x16, 0xA2, 0x56, 0x8E, 0x80, + 0xCB, 0x12, 0xB3, 0xA6, 0x12, 0x10, 0x66, 0x45, 0x3A, 0x56, 0x2B, 0x46, + 0xFF, 0x33, 0x67, 0xBE, 0x32, 0x0B, 0x9B, 0x62, 0x2B, 0x8F, 0xD1, 0xB5, + 0x03, 0xE2, 0x7B, 0x6F, 0x29, 0x8F, 0x63, 0x05, 0xB6, 0xB6, 0x65, 0xD7, + 0x62, 0x70, 0xA1, 0x82, 0x08, 0x3F, 0x30, 0x82, 0x08, 0x3B, 0x06, 0x0A, + 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01, 0x31, 0x82, + 0x08, 0x2B, 0x30, 0x82, 0x08, 0x27, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x08, 0x18, 0x30, 0x82, 0x08, + 0x14, 0x02, 0x01, 0x03, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, 0x2B, 0x0E, + 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x81, 0xFC, 0x06, 0x0B, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0xA0, 0x81, 0xEC, + 0x04, 0x81, 0xE9, 0x30, 0x81, 0xE6, 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, + 0x26, 0x8D, 0xE9, 0xED, 0x54, 0x9D, 0x95, 0x6C, 0x86, 0x3F, 0xD6, 0x03, + 0x03, 0xB9, 0x05, 0xA0, 0xA3, 0x66, 0x4E, 0x80, 0x02, 0x14, 0x0E, 0x1A, + 0x65, 0x68, 0x2F, 0x86, 0xEB, 0x8C, 0xB8, 0x55, 0x73, 0x07, 0xB3, 0xD7, + 0xFF, 0x4C, 0xA2, 0x94, 0x51, 0x80, 0x18, 0x0F, 0x32, 0x30, 0x31, 0x38, + 0x30, 0x31, 0x33, 0x30, 0x31, 0x36, 0x34, 0x32, 0x31, 0x37, 0x5A, 0xA0, + 0x81, 0x8A, 0xA4, 0x81, 0x87, 0x30, 0x81, 0x84, 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, 0x2A, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, + 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x31, 0x20, + 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, 0x69, 0x6E, + 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72, 0xA0, 0x82, 0x04, 0x9D, + 0x30, 0x82, 0x04, 0x99, 0x30, 0x82, 0x03, 0x81, 0xA0, 0x03, 0x02, 0x01, + 0x02, 0x02, 0x0F, 0x16, 0x88, 0xF0, 0x39, 0x25, 0x5E, 0x63, 0x8E, 0x69, + 0x14, 0x39, 0x07, 0xE6, 0x33, 0x0B, 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, 0x31, + 0x32, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, 0x17, 0x0D, + 0x31, 0x39, 0x30, 0x37, 0x30, 0x39, 0x31, 0x38, 0x34, 0x30, 0x33, 0x36, + 0x5A, 0x30, 0x81, 0x84, 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, 0x2A, 0x30, 0x28, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, 0x4F, 0x4D, 0x4F, 0x44, + 0x4F, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x31, 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, 0xE9, 0xE9, 0x3D, 0xDF, 0xD7, 0x37, 0x08, 0xC9, 0x1E, 0x38, 0xB2, + 0x52, 0x53, 0x42, 0x6D, 0x22, 0xF1, 0xB1, 0xC4, 0x06, 0x04, 0x6B, 0x9E, + 0xFD, 0x82, 0x74, 0x50, 0x43, 0x7D, 0xC6, 0xA0, 0xBB, 0x1F, 0x4E, 0xF9, + 0x02, 0x71, 0x26, 0xB1, 0xEF, 0x43, 0xD8, 0x83, 0x8C, 0x48, 0xFC, 0xE7, + 0x0F, 0x97, 0x7A, 0x9A, 0xEB, 0x9C, 0xDE, 0xA6, 0xA3, 0x0E, 0x3B, 0x1C, + 0x44, 0x18, 0x75, 0x8E, 0x78, 0xA5, 0x17, 0x69, 0xFE, 0x49, 0x18, 0xA4, + 0xE2, 0xBB, 0x5C, 0x4E, 0xFE, 0x8E, 0x2A, 0x54, 0x7A, 0x50, 0xF0, 0xD5, + 0xF6, 0xCC, 0x91, 0xE7, 0x99, 0x79, 0xD7, 0xDE, 0x79, 0x94, 0xD7, 0x96, + 0x33, 0xFE, 0x0E, 0x83, 0xBE, 0x22, 0xBF, 0x63, 0x16, 0x2C, 0xA3, 0xDD, + 0x28, 0x1B, 0xAF, 0x3D, 0xAB, 0xEA, 0x97, 0xD2, 0xF1, 0xBF, 0x04, 0x10, + 0xE7, 0x3D, 0x48, 0x45, 0xFD, 0x1F, 0x68, 0x65, 0xC1, 0x7F, 0x59, 0x99, + 0x69, 0xC0, 0x22, 0x31, 0x0C, 0x62, 0x6E, 0xA7, 0x5C, 0x65, 0x01, 0x21, + 0xB0, 0x63, 0xC4, 0x22, 0x18, 0x27, 0xEE, 0xE6, 0xFC, 0xD2, 0x00, 0x3D, + 0x47, 0x2E, 0xA8, 0xB8, 0x86, 0x56, 0x5D, 0x04, 0xDC, 0x13, 0x17, 0x25, + 0x6E, 0x1C, 0xDF, 0x44, 0x0F, 0x15, 0xCD, 0xB7, 0xDB, 0xA5, 0x57, 0x76, + 0x42, 0x6F, 0x00, 0x68, 0x82, 0x99, 0xD2, 0xE3, 0xC1, 0xDE, 0xF0, 0x8B, + 0x94, 0x57, 0x4C, 0xEC, 0x08, 0x90, 0x22, 0x21, 0xCE, 0x22, 0x2B, 0x98, + 0x0C, 0x42, 0xE6, 0x42, 0x93, 0x94, 0x98, 0x93, 0xEF, 0xFD, 0x06, 0xD9, + 0x3F, 0xBC, 0x5B, 0x9B, 0x54, 0x3C, 0x20, 0xB1, 0xEE, 0x6A, 0xD6, 0x47, + 0x7A, 0xC5, 0xAB, 0x80, 0xE9, 0x30, 0x9A, 0xDE, 0xF1, 0xA4, 0x3F, 0x55, + 0x4D, 0x0A, 0x09, 0x34, 0x8A, 0x75, 0x29, 0xD2, 0x69, 0xAD, 0x97, 0x0F, + 0x50, 0xBF, 0xF8, 0xCA, 0x09, 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, + 0x8E, 0x6B, 0x2D, 0x33, 0x6B, 0xF4, 0x33, 0xA7, 0x93, 0xB3, 0x13, 0x9A, + 0xA5, 0xE0, 0x0A, 0xF7, 0x12, 0x35, 0x6A, 0x88, 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, 0xBA, 0x33, 0x24, 0x40, 0x40, 0x8C, 0x7C, 0xDB, 0x58, 0x9F, 0xB3, + 0x60, 0x98, 0xB2, 0xF5, 0xC0, 0x31, 0xFE, 0xEB, 0x1F, 0x6E, 0x50, 0xF6, + 0x0A, 0xE0, 0xE4, 0xE6, 0x81, 0xAD, 0x26, 0x87, 0xA2, 0xDF, 0xFD, 0xB3, + 0xDA, 0xF4, 0x73, 0xF3, 0x00, 0xFB, 0x29, 0x1B, 0x89, 0x1B, 0x15, 0x3E, + 0xDB, 0x6B, 0x52, 0x93, 0x2B, 0xC4, 0xAC, 0x39, 0x81, 0xD7, 0x3C, 0x67, + 0x57, 0x9A, 0x39, 0x36, 0xE0, 0x28, 0x08, 0x9A, 0xE3, 0x39, 0x4F, 0x9B, + 0x89, 0x09, 0x7F, 0x7B, 0xC5, 0x61, 0x7F, 0x59, 0x89, 0x32, 0x25, 0x0A, + 0x6A, 0xAE, 0x1A, 0x3E, 0xF0, 0xA2, 0x27, 0xA8, 0xB6, 0xC3, 0xB8, 0x87, + 0xF7, 0x16, 0x04, 0x48, 0x41, 0x3D, 0x5C, 0xD8, 0xEC, 0x9F, 0x4D, 0x20, + 0x31, 0x04, 0xD9, 0x65, 0xA1, 0xED, 0xCD, 0x69, 0x07, 0x53, 0x16, 0x3D, + 0xDD, 0x36, 0x02, 0x0A, 0x88, 0xEB, 0x40, 0xE5, 0x06, 0x30, 0x0B, 0xB8, + 0x16, 0x4B, 0xDC, 0xEF, 0xBC, 0x55, 0x09, 0xFF, 0xC6, 0x3E, 0x12, 0x2E, + 0x76, 0xB3, 0xDC, 0xCE, 0x42, 0xEF, 0xF9, 0x76, 0x57, 0xE1, 0xB7, 0x0A, + 0x05, 0x40, 0x98, 0x58, 0x9A, 0x5D, 0x71, 0x16, 0x93, 0x71, 0x8C, 0x65, + 0x81, 0xEA, 0x6F, 0xF3, 0x89, 0xF7, 0xFB, 0x73, 0xAD, 0xB4, 0xE7, 0xBF, + 0xD9, 0x8E, 0x6F, 0xAA, 0x0B, 0x4F, 0x25, 0xF3, 0xB8, 0xE1, 0xD5, 0xDD, + 0x75, 0x98, 0x68, 0x81, 0xF8, 0xAA, 0xC0, 0xD1, 0x80, 0xC2, 0xC4, 0xC4, + 0x39, 0x89, 0xC1, 0xF6, 0xC9, 0x9E, 0x6C, 0xD7, 0x74, 0xF9, 0xD9, 0x97, + 0xF8, 0x4F, 0xC2, 0x9A, 0x0A, 0xCD, 0x5E, 0x8F, 0xF8, 0x19, 0xE9, 0xE0, + 0xA5, 0x9F, 0xC4, 0xF0, 0x92, 0x21, 0xE6, 0x2D, 0x79, 0x25, 0xC9, 0x22, + 0xF9, 0xC3, 0xF0, 0x3A, 0x84, 0x57, 0xAD, 0x3A, 0x16, 0xF4, 0x63, 0x94, + 0x10, 0x1D, 0x5D, 0xD0, 0xC6, 0x31, 0x82, 0x02, 0x60, 0x30, 0x82, 0x02, + 0x5C, 0x02, 0x01, 0x01, 0x30, 0x81, 0xA9, 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, 0x0F, 0x16, 0x88, 0xF0, 0x39, 0x25, 0x5E, 0x63, + 0x8E, 0x69, 0x14, 0x39, 0x07, 0xE6, 0x33, 0x0B, 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, 0x38, 0x30, 0x31, 0x33, + 0x30, 0x31, 0x36, 0x34, 0x32, 0x31, 0x37, 0x5A, 0x30, 0x23, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, 0x16, 0x04, + 0x14, 0x23, 0x69, 0x8A, 0x94, 0x7E, 0x58, 0x63, 0xA6, 0x40, 0xD3, 0xF7, + 0x6C, 0xA3, 0xC4, 0xB7, 0x65, 0x42, 0xA9, 0xB5, 0xC4, 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, 0x03, 0xA5, + 0xB1, 0x46, 0x63, 0xEB, 0x12, 0x02, 0x30, 0x91, 0xB8, 0x4A, 0x6D, 0x6A, + 0x68, 0xBC, 0x87, 0x1D, 0xE6, 0x6B, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, + 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, + 0x00, 0x60, 0xF0, 0x30, 0x50, 0xDF, 0x3A, 0xAE, 0xE8, 0x21, 0xE7, 0x3F, + 0x44, 0x8B, 0x2C, 0xDB, 0xEB, 0x1C, 0x66, 0x91, 0x90, 0xE5, 0x53, 0xD0, + 0x3A, 0x52, 0x1A, 0xDE, 0xC3, 0x85, 0xBE, 0xB0, 0xAE, 0x78, 0x62, 0x7D, + 0xF6, 0x0C, 0xA3, 0xDD, 0x6D, 0xA2, 0x9D, 0xC8, 0x3C, 0x47, 0x4A, 0xA4, + 0x43, 0x5C, 0x7A, 0xD0, 0xC5, 0x93, 0xC0, 0x1E, 0xC0, 0xF6, 0x09, 0x69, + 0xDB, 0xD6, 0xEE, 0xF7, 0xEE, 0x54, 0x77, 0xCE, 0xB4, 0x7B, 0x43, 0x7C, + 0x81, 0xE2, 0xEB, 0x4F, 0x3F, 0xFD, 0xE2, 0xAC, 0x22, 0x41, 0x8B, 0x9B, + 0x31, 0x3D, 0x4E, 0x37, 0xAF, 0x70, 0x52, 0x82, 0x45, 0xAC, 0xC2, 0x55, + 0xA5, 0x64, 0x79, 0x8F, 0xF4, 0x4E, 0x92, 0x0A, 0xB7, 0xE2, 0x63, 0xC5, + 0x1C, 0x6A, 0xCF, 0xCF, 0x4F, 0xEC, 0xCA, 0x8E, 0x1C, 0xDB, 0x94, 0x6A, + 0xEC, 0x86, 0x0B, 0xBD, 0x43, 0xFA, 0x90, 0x8B, 0xCC, 0xD5, 0x47, 0xFF, + 0x25, 0xE6, 0x28, 0x64, 0xEB, 0xC6, 0xD1, 0xB7, 0x15, 0x60, 0x2C, 0x4B, + 0x88, 0xCB, 0x8F, 0x73, 0xC3, 0x6B, 0x69, 0xF2, 0xC5, 0xDC, 0x9A, 0xF3, + 0x03, 0x37, 0xF9, 0x1B, 0xDD, 0xB2, 0x98, 0x37, 0xCC, 0x65, 0xAA, 0x57, + 0x16, 0x50, 0x89, 0x30, 0x4A, 0x12, 0xAC, 0x83, 0x1E, 0xB4, 0x80, 0x0F, + 0xC1, 0x83, 0xE6, 0x54, 0xB7, 0x42, 0xBC, 0x9F, 0x48, 0xE6, 0xCF, 0xFE, + 0x7E, 0x76, 0x48, 0xD5, 0xFE, 0x37, 0x71, 0xAD, 0xB7, 0x56, 0xC1, 0x77, + 0x05, 0x48, 0x02, 0x38, 0x9B, 0xF1, 0x78, 0x7C, 0x73, 0xAD, 0xDA, 0xF0, + 0x91, 0xC7, 0x73, 0xF9, 0x12, 0xFA, 0x1A, 0x05, 0xA6, 0x1B, 0x75, 0xE8, + 0x8D, 0x38, 0xC1, 0xD5, 0x94, 0x56, 0x56, 0x24, 0x69, 0xDE, 0x67, 0xC1, + 0x53, 0xC8, 0x88, 0xE9, 0x17, 0xF6, 0x69, 0xA1, 0x9C, 0x45, 0x2F, 0xB8, + 0x24, 0x83, 0xBC, 0x8C, 0x5F + }; // // 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 +UINT8 P7Detached[1163] = { + 0x30, 0x82, 0x04, 0x87, 0x02, 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, + 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, + 0x30, 0x0B, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, + 0x01, 0xA0, 0x82, 0x03, 0x0C, 0x30, 0x82, 0x03, 0x08, 0x30, 0x82, 0x01, + 0xF0, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, 0x87, 0xF0, 0xD2, 0x05, + 0x0C, 0x57, 0x0C, 0x96, 0x48, 0x94, 0xBA, 0x6B, 0xEB, 0xA2, 0x97, 0x46, + 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, + 0x0B, 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, 0x38, 0x30, 0x31, 0x32, 0x35, 0x30, 0x32, + 0x30, 0x36, 0x34, 0x35, 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, 0x9F, 0x97, 0xC4, 0x19, 0x70, 0x6C, 0x7D, 0x3D, 0x7F, 0x32, 0xC8, + 0x01, 0xFA, 0xA9, 0x36, 0x84, 0xA2, 0xAF, 0xB6, 0xF5, 0xC6, 0x22, 0xF6, + 0xF9, 0x98, 0xDB, 0xC9, 0xEF, 0xA0, 0xDF, 0x2E, 0x02, 0x8B, 0x76, 0xD0, + 0x05, 0x72, 0x72, 0x0A, 0xBB, 0xAC, 0x45, 0xDA, 0x45, 0x96, 0x7E, 0x71, + 0x69, 0x32, 0x1C, 0xA0, 0x73, 0x93, 0x91, 0xBA, 0x86, 0x6A, 0x86, 0xFC, + 0x2B, 0x95, 0x57, 0x82, 0xD8, 0x67, 0x59, 0x43, 0xD8, 0xEE, 0xBE, 0x12, + 0xF1, 0x9F, 0x95, 0x8E, 0x10, 0xA0, 0xFC, 0xF4, 0x47, 0x19, 0x49, 0xA3, + 0xA0, 0xE5, 0x93, 0x3A, 0x7C, 0x0B, 0x03, 0xE5, 0x8E, 0xDF, 0xCD, 0x86, + 0x98, 0x9C, 0xF4, 0x95, 0x67, 0x9D, 0xD8, 0xB8, 0xC2, 0x16, 0xED, 0x20, + 0x7D, 0x07, 0x7F, 0xAD, 0xD0, 0x75, 0x5F, 0x7B, 0xB9, 0xA3, 0xC2, 0xD4, + 0x2F, 0x42, 0x06, 0xE4, 0xBA, 0x8C, 0xF0, 0x69, 0x71, 0xA2, 0x3B, 0x68, + 0x3A, 0x35, 0x10, 0x32, 0x0E, 0xDA, 0x91, 0xC6, 0x00, 0x83, 0x74, 0xAB, + 0xF4, 0xB4, 0x55, 0xC2, 0x48, 0x9A, 0xCE, 0x89, 0xFE, 0x28, 0x10, 0x62, + 0xEA, 0xC0, 0xC5, 0xC4, 0x15, 0x20, 0x78, 0xF9, 0xB0, 0xE9, 0x7B, 0xA3, + 0x1B, 0xB8, 0xE7, 0xA5, 0x79, 0xA5, 0xFF, 0x1B, 0x68, 0xA3, 0xA4, 0x3A, + 0x18, 0xA6, 0x77, 0xF6, 0x2F, 0xC8, 0xC4, 0xBD, 0xA6, 0xDC, 0xC6, 0xAF, + 0x48, 0xF4, 0x44, 0xF9, 0x60, 0x00, 0xE7, 0x94, 0xBC, 0xE3, 0x70, 0x2E, + 0x21, 0x8E, 0x6E, 0x90, 0xD0, 0x4B, 0xE1, 0xB6, 0x58, 0x81, 0x4E, 0x4E, + 0xAA, 0xEB, 0x6A, 0xE8, 0xBC, 0xCE, 0xD7, 0x96, 0xB0, 0x6A, 0x99, 0x8D, + 0x93, 0xF9, 0x79, 0xA3, 0xAD, 0x9A, 0x3C, 0x52, 0x0E, 0x87, 0x9B, 0x34, + 0xBC, 0x1D, 0xD0, 0x6A, 0x77, 0xCC, 0x21, 0x2F, 0x5F, 0xCB, 0x60, 0x0A, + 0xEF, 0xF5, 0xBD, 0xE9, 0x15, 0x02, 0x03, 0x01, 0x00, 0x01, 0xA3, 0x59, + 0x30, 0x57, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, 0x13, 0x01, 0x01, 0xFF, + 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, 0x44, 0x06, 0x03, 0x55, + 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, 0x7A, 0x73, 0xC4, 0xE1, + 0x17, 0x5D, 0xA7, 0x53, 0x98, 0x6B, 0x7A, 0x61, 0x49, 0xBC, 0xE5, 0xE3, + 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, 0xDE, 0x9F, 0x42, 0x91, 0x68, 0x16, 0xEA, 0x97, 0x4D, 0xA1, 0x8A, + 0x32, 0x25, 0xD6, 0xEE, 0x8D, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, + 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, + 0x00, 0x2A, 0x39, 0x32, 0xE5, 0xFA, 0x14, 0x03, 0x1A, 0x8B, 0xBD, 0xDF, + 0xAB, 0x6D, 0x1C, 0xF7, 0x8B, 0xE5, 0x76, 0x4E, 0x02, 0xDF, 0x9D, 0x18, + 0x7E, 0x1E, 0x73, 0xDC, 0x9C, 0xD5, 0x36, 0xA2, 0x91, 0xC7, 0xC0, 0xAC, + 0xEE, 0x92, 0xE8, 0x3C, 0x88, 0x2A, 0xF5, 0x61, 0x6F, 0xB7, 0xC4, 0x21, + 0xC3, 0xCD, 0xE5, 0xCF, 0x48, 0x46, 0x67, 0x5A, 0xC3, 0x16, 0x4E, 0xBE, + 0xF0, 0x30, 0xD8, 0x3B, 0xBC, 0x8F, 0x84, 0xCD, 0x15, 0xD5, 0xB3, 0x11, + 0xA0, 0xAD, 0xED, 0x81, 0x51, 0x49, 0x71, 0x7F, 0xF6, 0xCC, 0x4C, 0x44, + 0x59, 0x13, 0x5E, 0x27, 0x98, 0x73, 0x5B, 0x74, 0xD6, 0xD6, 0x59, 0xFF, + 0x81, 0x57, 0xBF, 0xF1, 0xF3, 0x01, 0x6C, 0xE6, 0x32, 0xE4, 0x05, 0xFE, + 0x1B, 0x1E, 0x33, 0x03, 0x2E, 0x9A, 0xA1, 0x1E, 0xBE, 0xA3, 0x0E, 0xA5, + 0x59, 0x50, 0x38, 0x3D, 0x0B, 0xF7, 0xD8, 0x25, 0x15, 0xCB, 0xFA, 0x73, + 0x22, 0x24, 0xD2, 0x5E, 0x7F, 0xAE, 0x8B, 0x8F, 0x44, 0x29, 0x68, 0x49, + 0x6A, 0x36, 0xA8, 0x29, 0x5B, 0xAE, 0xD3, 0xE4, 0x5E, 0xE1, 0xDB, 0xF1, + 0x73, 0xEE, 0x15, 0x88, 0x03, 0x69, 0x0D, 0x53, 0xF4, 0x92, 0x93, 0xDF, + 0xC9, 0x95, 0x22, 0xED, 0x0E, 0xEB, 0xCD, 0xB2, 0x1E, 0xFD, 0xCA, 0xEF, + 0x53, 0x06, 0xF2, 0xE0, 0x85, 0xE2, 0x51, 0x6C, 0xE9, 0xAB, 0x8D, 0x30, + 0x5A, 0xC3, 0xDC, 0x0A, 0xC2, 0xDC, 0x23, 0x47, 0xDD, 0x8F, 0x18, 0x06, + 0x24, 0xFF, 0x77, 0xF8, 0xFA, 0x25, 0x2B, 0x68, 0x7A, 0xD1, 0xED, 0x41, + 0xA2, 0x37, 0x95, 0xBC, 0x2B, 0xBB, 0x64, 0xBE, 0x9D, 0x6A, 0x6E, 0x5A, + 0x85, 0xBF, 0x03, 0xC5, 0x4E, 0xA1, 0x5D, 0x82, 0xFE, 0x19, 0x85, 0xD7, + 0x60, 0xE9, 0x01, 0xB3, 0x40, 0x1F, 0x8B, 0x16, 0xDD, 0xFD, 0x22, 0x55, + 0x2F, 0x3D, 0xDF, 0xA7, 0x28, 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, 0x87, 0xF0, 0xD2, 0x05, 0x0C, 0x57, 0x0C, + 0x96, 0x48, 0x94, 0xBA, 0x6B, 0xEB, 0xA2, 0x97, 0x46, 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, 0x57, 0x8A, 0x23, 0xE1, 0x7C, + 0x50, 0xEB, 0x86, 0xFE, 0x20, 0x58, 0xA1, 0x59, 0xE1, 0x65, 0xC4, 0x31, + 0xDE, 0xC6, 0xB3, 0x00, 0x84, 0x5C, 0x6E, 0x7D, 0x83, 0x44, 0x02, 0xD8, + 0xB0, 0x81, 0xCE, 0xC1, 0xA9, 0x26, 0x05, 0x85, 0x76, 0x43, 0x08, 0x15, + 0x47, 0x61, 0x41, 0x72, 0xE1, 0x49, 0xBD, 0x6B, 0x1F, 0xC1, 0xC2, 0xBF, + 0xA1, 0x54, 0xE2, 0xFA, 0x1D, 0xDD, 0x13, 0x14, 0x1C, 0x09, 0xF3, 0x0C, + 0xBF, 0xE1, 0x4F, 0xBF, 0xF9, 0xD7, 0xF1, 0x21, 0x9A, 0xCC, 0x16, 0xA6, + 0x08, 0x3C, 0x99, 0x50, 0x2F, 0x38, 0xF7, 0xFF, 0xB9, 0x1C, 0x63, 0x8C, + 0xBD, 0xBD, 0x38, 0x11, 0xF5, 0x48, 0xB5, 0xD9, 0x6F, 0xC8, 0xFB, 0xC7, + 0xE9, 0xB6, 0xA4, 0xBE, 0xDE, 0x22, 0xB2, 0xAA, 0x38, 0xE1, 0x58, 0x05, + 0x06, 0xB9, 0xC4, 0x82, 0x6E, 0x14, 0x25, 0x87, 0xC2, 0x06, 0xD9, 0x73, + 0x85, 0x19, 0xF4, 0x87, 0x9C, 0xFB, 0x8A, 0xD8, 0x2C, 0x13, 0x1A, 0xA3, + 0x24, 0xC8, 0xEC, 0xA4, 0xBA, 0x81, 0xE1, 0x7E, 0x4A, 0x18, 0x9C, 0xE0, + 0x98, 0xCF, 0xA5, 0x78, 0x40, 0xD0, 0xFD, 0xD9, 0xC0, 0x0E, 0x0C, 0x87, + 0xBD, 0xDB, 0x06, 0x88, 0x7A, 0x09, 0xEE, 0x92, 0x22, 0xB0, 0xC8, 0x11, + 0xB1, 0x12, 0x9D, 0x9B, 0x0D, 0xD5, 0x60, 0xED, 0x31, 0x5A, 0x38, 0x6C, + 0x50, 0x55, 0x70, 0xD8, 0x5A, 0x51, 0x1A, 0xDA, 0x03, 0x53, 0x9A, 0x2D, + 0x3F, 0x2A, 0xA5, 0xD6, 0x0F, 0x5E, 0x51, 0xDD, 0xE7, 0x48, 0xAE, 0xE3, + 0x6C, 0x1D, 0x44, 0xC4, 0x16, 0xA2, 0x56, 0x8E, 0x80, 0xCB, 0x12, 0xB3, + 0xA6, 0x12, 0x10, 0x66, 0x45, 0x3A, 0x56, 0x2B, 0x46, 0xFF, 0x33, 0x67, + 0xBE, 0x32, 0x0B, 0x9B, 0x62, 0x2B, 0x8F, 0xD1, 0xB5, 0x03, 0xE2, 0x7B, + 0x6F, 0x29, 0x8F, 0x63, 0x05, 0xB6, 0xB6, 0x65, 0xD7, 0x62, 0x70 }; // -//TBSCert in TestSub Certificate +// The SHA256 Digest Value of "HelloWorld.efi" +// (Follow the PE/COFF Image Hash Calculation process in MSFT Authenticode Specification) // -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 -}; +GLOBAL_REMOVE_IF_UNREFERENCED UINT8 TestInHash[32] = { + 0x3D, 0x39, 0xBB, 0x5D, 0xAC, 0x7F, 0x18, 0x94, 0x84, 0x4C, 0xC3, 0xD2, + 0xEF, 0x6D, 0xD8, 0x0F, 0x4B, 0xBD, 0x1A, 0xE2, 0xC2, 0xE1, 0x98, 0x18, + 0xED, 0x6A, 0x2C, 0x83, 0x5F, 0x93, 0xAA, 0x00 + }; // -// The SHA256 Digest Value of Sample TBSCert in TestSub Certificate +// Detached PKCS7 signedData +// (Authenticode-Signature part retrieved from signed HelloWorld.efi) // -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 +GLOBAL_REMOVE_IF_UNREFERENCED UINT8 P7TestSignature[3480] = { + 0x30, 0x82, 0x0D, 0x8F, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, + 0x01, 0x07, 0x02, 0xA0, 0x82, 0x0D, 0x80, 0x30, 0x82, 0x0D, 0x7C, 0x02, + 0x01, 0x01, 0x31, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, + 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x30, 0x5C, 0x06, 0x0A, 0x2B, + 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x04, 0xA0, 0x4E, 0x30, + 0x4C, 0x30, 0x17, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, + 0x02, 0x01, 0x0F, 0x30, 0x09, 0x03, 0x01, 0x00, 0xA0, 0x04, 0xA2, 0x02, + 0x80, 0x00, 0x30, 0x31, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, + 0x65, 0x03, 0x04, 0x02, 0x01, 0x05, 0x00, 0x04, 0x20, 0x3D, 0x39, 0xBB, + 0x5D, 0xAC, 0x7F, 0x18, 0x94, 0x84, 0x4C, 0xC3, 0xD2, 0xEF, 0x6D, 0xD8, + 0x0F, 0x4B, 0xBD, 0x1A, 0xE2, 0xC2, 0xE1, 0x98, 0x18, 0xED, 0x6A, 0x2C, + 0x83, 0x5F, 0x93, 0xAA, 0x00, 0xA0, 0x82, 0x03, 0x0C, 0x30, 0x82, 0x03, + 0x08, 0x30, 0x82, 0x01, 0xF0, 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x10, + 0x87, 0xF0, 0xD2, 0x05, 0x0C, 0x57, 0x0C, 0x96, 0x48, 0x94, 0xBA, 0x6B, + 0xEB, 0xA2, 0x97, 0x46, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x01, 0x0B, 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, 0x38, 0x30, 0x31, + 0x32, 0x35, 0x30, 0x32, 0x30, 0x36, 0x34, 0x35, 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, 0x9F, 0x97, 0xC4, 0x19, 0x70, 0x6C, 0x7D, + 0x3D, 0x7F, 0x32, 0xC8, 0x01, 0xFA, 0xA9, 0x36, 0x84, 0xA2, 0xAF, 0xB6, + 0xF5, 0xC6, 0x22, 0xF6, 0xF9, 0x98, 0xDB, 0xC9, 0xEF, 0xA0, 0xDF, 0x2E, + 0x02, 0x8B, 0x76, 0xD0, 0x05, 0x72, 0x72, 0x0A, 0xBB, 0xAC, 0x45, 0xDA, + 0x45, 0x96, 0x7E, 0x71, 0x69, 0x32, 0x1C, 0xA0, 0x73, 0x93, 0x91, 0xBA, + 0x86, 0x6A, 0x86, 0xFC, 0x2B, 0x95, 0x57, 0x82, 0xD8, 0x67, 0x59, 0x43, + 0xD8, 0xEE, 0xBE, 0x12, 0xF1, 0x9F, 0x95, 0x8E, 0x10, 0xA0, 0xFC, 0xF4, + 0x47, 0x19, 0x49, 0xA3, 0xA0, 0xE5, 0x93, 0x3A, 0x7C, 0x0B, 0x03, 0xE5, + 0x8E, 0xDF, 0xCD, 0x86, 0x98, 0x9C, 0xF4, 0x95, 0x67, 0x9D, 0xD8, 0xB8, + 0xC2, 0x16, 0xED, 0x20, 0x7D, 0x07, 0x7F, 0xAD, 0xD0, 0x75, 0x5F, 0x7B, + 0xB9, 0xA3, 0xC2, 0xD4, 0x2F, 0x42, 0x06, 0xE4, 0xBA, 0x8C, 0xF0, 0x69, + 0x71, 0xA2, 0x3B, 0x68, 0x3A, 0x35, 0x10, 0x32, 0x0E, 0xDA, 0x91, 0xC6, + 0x00, 0x83, 0x74, 0xAB, 0xF4, 0xB4, 0x55, 0xC2, 0x48, 0x9A, 0xCE, 0x89, + 0xFE, 0x28, 0x10, 0x62, 0xEA, 0xC0, 0xC5, 0xC4, 0x15, 0x20, 0x78, 0xF9, + 0xB0, 0xE9, 0x7B, 0xA3, 0x1B, 0xB8, 0xE7, 0xA5, 0x79, 0xA5, 0xFF, 0x1B, + 0x68, 0xA3, 0xA4, 0x3A, 0x18, 0xA6, 0x77, 0xF6, 0x2F, 0xC8, 0xC4, 0xBD, + 0xA6, 0xDC, 0xC6, 0xAF, 0x48, 0xF4, 0x44, 0xF9, 0x60, 0x00, 0xE7, 0x94, + 0xBC, 0xE3, 0x70, 0x2E, 0x21, 0x8E, 0x6E, 0x90, 0xD0, 0x4B, 0xE1, 0xB6, + 0x58, 0x81, 0x4E, 0x4E, 0xAA, 0xEB, 0x6A, 0xE8, 0xBC, 0xCE, 0xD7, 0x96, + 0xB0, 0x6A, 0x99, 0x8D, 0x93, 0xF9, 0x79, 0xA3, 0xAD, 0x9A, 0x3C, 0x52, + 0x0E, 0x87, 0x9B, 0x34, 0xBC, 0x1D, 0xD0, 0x6A, 0x77, 0xCC, 0x21, 0x2F, + 0x5F, 0xCB, 0x60, 0x0A, 0xEF, 0xF5, 0xBD, 0xE9, 0x15, 0x02, 0x03, 0x01, + 0x00, 0x01, 0xA3, 0x59, 0x30, 0x57, 0x30, 0x0F, 0x06, 0x03, 0x55, 0x1D, + 0x13, 0x01, 0x01, 0xFF, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xFF, 0x30, + 0x44, 0x06, 0x03, 0x55, 0x1D, 0x01, 0x04, 0x3D, 0x30, 0x3B, 0x80, 0x10, + 0x7A, 0x73, 0xC4, 0xE1, 0x17, 0x5D, 0xA7, 0x53, 0x98, 0x6B, 0x7A, 0x61, + 0x49, 0xBC, 0xE5, 0xE3, 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, 0xDE, 0x9F, 0x42, 0x91, 0x68, 0x16, 0xEA, + 0x97, 0x4D, 0xA1, 0x8A, 0x32, 0x25, 0xD6, 0xEE, 0x8D, 0x30, 0x0D, 0x06, + 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x0B, 0x05, 0x00, + 0x03, 0x82, 0x01, 0x01, 0x00, 0x2A, 0x39, 0x32, 0xE5, 0xFA, 0x14, 0x03, + 0x1A, 0x8B, 0xBD, 0xDF, 0xAB, 0x6D, 0x1C, 0xF7, 0x8B, 0xE5, 0x76, 0x4E, + 0x02, 0xDF, 0x9D, 0x18, 0x7E, 0x1E, 0x73, 0xDC, 0x9C, 0xD5, 0x36, 0xA2, + 0x91, 0xC7, 0xC0, 0xAC, 0xEE, 0x92, 0xE8, 0x3C, 0x88, 0x2A, 0xF5, 0x61, + 0x6F, 0xB7, 0xC4, 0x21, 0xC3, 0xCD, 0xE5, 0xCF, 0x48, 0x46, 0x67, 0x5A, + 0xC3, 0x16, 0x4E, 0xBE, 0xF0, 0x30, 0xD8, 0x3B, 0xBC, 0x8F, 0x84, 0xCD, + 0x15, 0xD5, 0xB3, 0x11, 0xA0, 0xAD, 0xED, 0x81, 0x51, 0x49, 0x71, 0x7F, + 0xF6, 0xCC, 0x4C, 0x44, 0x59, 0x13, 0x5E, 0x27, 0x98, 0x73, 0x5B, 0x74, + 0xD6, 0xD6, 0x59, 0xFF, 0x81, 0x57, 0xBF, 0xF1, 0xF3, 0x01, 0x6C, 0xE6, + 0x32, 0xE4, 0x05, 0xFE, 0x1B, 0x1E, 0x33, 0x03, 0x2E, 0x9A, 0xA1, 0x1E, + 0xBE, 0xA3, 0x0E, 0xA5, 0x59, 0x50, 0x38, 0x3D, 0x0B, 0xF7, 0xD8, 0x25, + 0x15, 0xCB, 0xFA, 0x73, 0x22, 0x24, 0xD2, 0x5E, 0x7F, 0xAE, 0x8B, 0x8F, + 0x44, 0x29, 0x68, 0x49, 0x6A, 0x36, 0xA8, 0x29, 0x5B, 0xAE, 0xD3, 0xE4, + 0x5E, 0xE1, 0xDB, 0xF1, 0x73, 0xEE, 0x15, 0x88, 0x03, 0x69, 0x0D, 0x53, + 0xF4, 0x92, 0x93, 0xDF, 0xC9, 0x95, 0x22, 0xED, 0x0E, 0xEB, 0xCD, 0xB2, + 0x1E, 0xFD, 0xCA, 0xEF, 0x53, 0x06, 0xF2, 0xE0, 0x85, 0xE2, 0x51, 0x6C, + 0xE9, 0xAB, 0x8D, 0x30, 0x5A, 0xC3, 0xDC, 0x0A, 0xC2, 0xDC, 0x23, 0x47, + 0xDD, 0x8F, 0x18, 0x06, 0x24, 0xFF, 0x77, 0xF8, 0xFA, 0x25, 0x2B, 0x68, + 0x7A, 0xD1, 0xED, 0x41, 0xA2, 0x37, 0x95, 0xBC, 0x2B, 0xBB, 0x64, 0xBE, + 0x9D, 0x6A, 0x6E, 0x5A, 0x85, 0xBF, 0x03, 0xC5, 0x4E, 0xA1, 0x5D, 0x82, + 0xFE, 0x19, 0x85, 0xD7, 0x60, 0xE9, 0x01, 0xB3, 0x40, 0x1F, 0x8B, 0x16, + 0xDD, 0xFD, 0x22, 0x55, 0x2F, 0x3D, 0xDF, 0xA7, 0x28, 0x31, 0x82, 0x09, + 0xF6, 0x30, 0x82, 0x09, 0xF2, 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, 0x87, 0xF0, 0xD2, + 0x05, 0x0C, 0x57, 0x0C, 0x96, 0x48, 0x94, 0xBA, 0x6B, 0xEB, 0xA2, 0x97, + 0x46, 0x30, 0x0D, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, + 0x02, 0x01, 0x05, 0x00, 0xA0, 0x5E, 0x30, 0x10, 0x06, 0x0A, 0x2B, 0x06, + 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0C, 0x31, 0x02, 0x30, 0x00, + 0x30, 0x19, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, + 0x03, 0x31, 0x0C, 0x06, 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, + 0x02, 0x01, 0x04, 0x30, 0x2F, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, + 0x0D, 0x01, 0x09, 0x04, 0x31, 0x22, 0x04, 0x20, 0xE0, 0xBF, 0xC4, 0x29, + 0x84, 0x5C, 0xB0, 0x75, 0x3E, 0xFB, 0x5E, 0x90, 0x8B, 0x4B, 0x7C, 0x27, + 0xD8, 0xD1, 0x39, 0x53, 0x5C, 0x00, 0x51, 0x1A, 0x6F, 0xB4, 0x65, 0x87, + 0x2C, 0xF5, 0xF7, 0x0F, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, + 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, 0x00, 0x9A, + 0x01, 0x28, 0x23, 0x7F, 0xF1, 0x1D, 0xF2, 0x20, 0xD0, 0xC8, 0x92, 0x0A, + 0x36, 0xE1, 0xA2, 0x0E, 0xE8, 0xDC, 0xD0, 0xEF, 0x31, 0x76, 0x22, 0xF7, + 0x01, 0xC3, 0xCE, 0xF4, 0x48, 0x03, 0xEF, 0xEE, 0x67, 0x90, 0xDE, 0x4A, + 0x04, 0xFF, 0x95, 0x64, 0x34, 0x55, 0x2F, 0xE5, 0xE7, 0x23, 0x3E, 0x40, + 0x5C, 0xC4, 0xF8, 0x57, 0x32, 0xDB, 0x4E, 0x6F, 0x45, 0x68, 0x81, 0x76, + 0xE9, 0x01, 0x7F, 0x43, 0xB2, 0x68, 0xA3, 0x0E, 0xD5, 0xA5, 0x7A, 0x71, + 0x19, 0x59, 0x04, 0x55, 0x81, 0x1F, 0xE8, 0x87, 0x20, 0xAD, 0xD7, 0x28, + 0x47, 0x2A, 0x84, 0x7F, 0x53, 0x11, 0xC2, 0xCE, 0xDD, 0xAB, 0x2E, 0xAF, + 0x02, 0x27, 0x4A, 0x1B, 0x66, 0x81, 0x33, 0x75, 0xF9, 0x78, 0x0E, 0x1E, + 0x8B, 0xEB, 0x1F, 0x22, 0x63, 0x9D, 0x6E, 0xA8, 0x6B, 0xB8, 0xBA, 0x48, + 0x72, 0xF4, 0x0F, 0x64, 0xCE, 0x90, 0x8C, 0x84, 0xEA, 0x18, 0x24, 0x55, + 0xE4, 0x3E, 0xF1, 0x87, 0x3B, 0x96, 0x12, 0x53, 0x25, 0xE4, 0xCB, 0xE2, + 0x5F, 0x0C, 0xCC, 0xA1, 0x11, 0x6E, 0x62, 0xB7, 0x85, 0xA7, 0x09, 0x04, + 0xD3, 0x6C, 0x93, 0x3F, 0x93, 0xCB, 0xF7, 0xE1, 0x76, 0x8C, 0x10, 0x78, + 0x45, 0xC0, 0xF5, 0xCC, 0x8D, 0x72, 0x24, 0x9D, 0xB2, 0x6D, 0x88, 0x8C, + 0x2B, 0x3D, 0x79, 0x01, 0x43, 0xD2, 0xD6, 0x16, 0xAD, 0xA3, 0x54, 0xAC, + 0xAF, 0x33, 0x09, 0xFC, 0x1B, 0x79, 0xF1, 0xA8, 0xC6, 0x09, 0xA7, 0x50, + 0xB6, 0x0F, 0x29, 0x3A, 0x9A, 0x9C, 0x99, 0x8D, 0x4A, 0x2D, 0xA3, 0xC2, + 0x48, 0x93, 0x58, 0x75, 0x02, 0xA5, 0xAC, 0x6A, 0x8F, 0xB3, 0x6D, 0xA0, + 0x29, 0xD8, 0xF4, 0x72, 0x00, 0x1C, 0x76, 0xEB, 0xFF, 0x65, 0x29, 0xDE, + 0xA5, 0x57, 0xBF, 0xF3, 0xA4, 0xEF, 0x12, 0xB7, 0x7C, 0xC0, 0xC9, 0x7E, + 0x90, 0xA2, 0xC5, 0xA1, 0x82, 0x08, 0x40, 0x30, 0x82, 0x08, 0x3C, 0x06, + 0x0A, 0x2B, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x03, 0x03, 0x01, 0x31, + 0x82, 0x08, 0x2C, 0x30, 0x82, 0x08, 0x28, 0x06, 0x09, 0x2A, 0x86, 0x48, + 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02, 0xA0, 0x82, 0x08, 0x19, 0x30, 0x82, + 0x08, 0x15, 0x02, 0x01, 0x03, 0x31, 0x0B, 0x30, 0x09, 0x06, 0x05, 0x2B, + 0x0E, 0x03, 0x02, 0x1A, 0x05, 0x00, 0x30, 0x81, 0xFD, 0x06, 0x0B, 0x2A, + 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x10, 0x01, 0x04, 0xA0, 0x81, + 0xED, 0x04, 0x81, 0xEA, 0x30, 0x81, 0xE7, 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, 0x47, 0xC1, 0xFA, 0x01, 0x27, 0x7D, 0xDC, 0x3F, 0xAF, 0x45, 0x31, + 0x96, 0x6C, 0x5A, 0xBF, 0xB0, 0xB0, 0x9E, 0xA9, 0x55, 0x02, 0x15, 0x00, + 0xD5, 0xA0, 0x83, 0x8B, 0x5F, 0x0E, 0x4B, 0x2F, 0x64, 0x28, 0x34, 0xC1, + 0xBC, 0x13, 0x17, 0x03, 0xAB, 0xD1, 0xEF, 0x42, 0x18, 0x0F, 0x32, 0x30, + 0x31, 0x38, 0x30, 0x31, 0x32, 0x35, 0x30, 0x38, 0x32, 0x39, 0x32, 0x34, + 0x5A, 0xA0, 0x81, 0x8A, 0xA4, 0x81, 0x87, 0x30, 0x81, 0x84, 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, 0x2A, 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, + 0x21, 0x43, 0x4F, 0x4D, 0x4F, 0x44, 0x4F, 0x20, 0x53, 0x48, 0x41, 0x2D, + 0x31, 0x20, 0x54, 0x69, 0x6D, 0x65, 0x20, 0x53, 0x74, 0x61, 0x6D, 0x70, + 0x69, 0x6E, 0x67, 0x20, 0x53, 0x69, 0x67, 0x6E, 0x65, 0x72, 0xA0, 0x82, + 0x04, 0x9D, 0x30, 0x82, 0x04, 0x99, 0x30, 0x82, 0x03, 0x81, 0xA0, 0x03, + 0x02, 0x01, 0x02, 0x02, 0x0F, 0x16, 0x88, 0xF0, 0x39, 0x25, 0x5E, 0x63, + 0x8E, 0x69, 0x14, 0x39, 0x07, 0xE6, 0x33, 0x0B, 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, 0x31, 0x32, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x5A, + 0x17, 0x0D, 0x31, 0x39, 0x30, 0x37, 0x30, 0x39, 0x31, 0x38, 0x34, 0x30, + 0x33, 0x36, 0x5A, 0x30, 0x81, 0x84, 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, 0x2A, + 0x30, 0x28, 0x06, 0x03, 0x55, 0x04, 0x03, 0x13, 0x21, 0x43, 0x4F, 0x4D, + 0x4F, 0x44, 0x4F, 0x20, 0x53, 0x48, 0x41, 0x2D, 0x31, 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, 0xE9, 0xE9, 0x3D, 0xDF, 0xD7, 0x37, 0x08, 0xC9, 0x1E, + 0x38, 0xB2, 0x52, 0x53, 0x42, 0x6D, 0x22, 0xF1, 0xB1, 0xC4, 0x06, 0x04, + 0x6B, 0x9E, 0xFD, 0x82, 0x74, 0x50, 0x43, 0x7D, 0xC6, 0xA0, 0xBB, 0x1F, + 0x4E, 0xF9, 0x02, 0x71, 0x26, 0xB1, 0xEF, 0x43, 0xD8, 0x83, 0x8C, 0x48, + 0xFC, 0xE7, 0x0F, 0x97, 0x7A, 0x9A, 0xEB, 0x9C, 0xDE, 0xA6, 0xA3, 0x0E, + 0x3B, 0x1C, 0x44, 0x18, 0x75, 0x8E, 0x78, 0xA5, 0x17, 0x69, 0xFE, 0x49, + 0x18, 0xA4, 0xE2, 0xBB, 0x5C, 0x4E, 0xFE, 0x8E, 0x2A, 0x54, 0x7A, 0x50, + 0xF0, 0xD5, 0xF6, 0xCC, 0x91, 0xE7, 0x99, 0x79, 0xD7, 0xDE, 0x79, 0x94, + 0xD7, 0x96, 0x33, 0xFE, 0x0E, 0x83, 0xBE, 0x22, 0xBF, 0x63, 0x16, 0x2C, + 0xA3, 0xDD, 0x28, 0x1B, 0xAF, 0x3D, 0xAB, 0xEA, 0x97, 0xD2, 0xF1, 0xBF, + 0x04, 0x10, 0xE7, 0x3D, 0x48, 0x45, 0xFD, 0x1F, 0x68, 0x65, 0xC1, 0x7F, + 0x59, 0x99, 0x69, 0xC0, 0x22, 0x31, 0x0C, 0x62, 0x6E, 0xA7, 0x5C, 0x65, + 0x01, 0x21, 0xB0, 0x63, 0xC4, 0x22, 0x18, 0x27, 0xEE, 0xE6, 0xFC, 0xD2, + 0x00, 0x3D, 0x47, 0x2E, 0xA8, 0xB8, 0x86, 0x56, 0x5D, 0x04, 0xDC, 0x13, + 0x17, 0x25, 0x6E, 0x1C, 0xDF, 0x44, 0x0F, 0x15, 0xCD, 0xB7, 0xDB, 0xA5, + 0x57, 0x76, 0x42, 0x6F, 0x00, 0x68, 0x82, 0x99, 0xD2, 0xE3, 0xC1, 0xDE, + 0xF0, 0x8B, 0x94, 0x57, 0x4C, 0xEC, 0x08, 0x90, 0x22, 0x21, 0xCE, 0x22, + 0x2B, 0x98, 0x0C, 0x42, 0xE6, 0x42, 0x93, 0x94, 0x98, 0x93, 0xEF, 0xFD, + 0x06, 0xD9, 0x3F, 0xBC, 0x5B, 0x9B, 0x54, 0x3C, 0x20, 0xB1, 0xEE, 0x6A, + 0xD6, 0x47, 0x7A, 0xC5, 0xAB, 0x80, 0xE9, 0x30, 0x9A, 0xDE, 0xF1, 0xA4, + 0x3F, 0x55, 0x4D, 0x0A, 0x09, 0x34, 0x8A, 0x75, 0x29, 0xD2, 0x69, 0xAD, + 0x97, 0x0F, 0x50, 0xBF, 0xF8, 0xCA, 0x09, 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, 0x8E, 0x6B, 0x2D, 0x33, 0x6B, 0xF4, 0x33, 0xA7, 0x93, 0xB3, + 0x13, 0x9A, 0xA5, 0xE0, 0x0A, 0xF7, 0x12, 0x35, 0x6A, 0x88, 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, 0xBA, 0x33, 0x24, 0x40, 0x40, 0x8C, 0x7C, 0xDB, 0x58, + 0x9F, 0xB3, 0x60, 0x98, 0xB2, 0xF5, 0xC0, 0x31, 0xFE, 0xEB, 0x1F, 0x6E, + 0x50, 0xF6, 0x0A, 0xE0, 0xE4, 0xE6, 0x81, 0xAD, 0x26, 0x87, 0xA2, 0xDF, + 0xFD, 0xB3, 0xDA, 0xF4, 0x73, 0xF3, 0x00, 0xFB, 0x29, 0x1B, 0x89, 0x1B, + 0x15, 0x3E, 0xDB, 0x6B, 0x52, 0x93, 0x2B, 0xC4, 0xAC, 0x39, 0x81, 0xD7, + 0x3C, 0x67, 0x57, 0x9A, 0x39, 0x36, 0xE0, 0x28, 0x08, 0x9A, 0xE3, 0x39, + 0x4F, 0x9B, 0x89, 0x09, 0x7F, 0x7B, 0xC5, 0x61, 0x7F, 0x59, 0x89, 0x32, + 0x25, 0x0A, 0x6A, 0xAE, 0x1A, 0x3E, 0xF0, 0xA2, 0x27, 0xA8, 0xB6, 0xC3, + 0xB8, 0x87, 0xF7, 0x16, 0x04, 0x48, 0x41, 0x3D, 0x5C, 0xD8, 0xEC, 0x9F, + 0x4D, 0x20, 0x31, 0x04, 0xD9, 0x65, 0xA1, 0xED, 0xCD, 0x69, 0x07, 0x53, + 0x16, 0x3D, 0xDD, 0x36, 0x02, 0x0A, 0x88, 0xEB, 0x40, 0xE5, 0x06, 0x30, + 0x0B, 0xB8, 0x16, 0x4B, 0xDC, 0xEF, 0xBC, 0x55, 0x09, 0xFF, 0xC6, 0x3E, + 0x12, 0x2E, 0x76, 0xB3, 0xDC, 0xCE, 0x42, 0xEF, 0xF9, 0x76, 0x57, 0xE1, + 0xB7, 0x0A, 0x05, 0x40, 0x98, 0x58, 0x9A, 0x5D, 0x71, 0x16, 0x93, 0x71, + 0x8C, 0x65, 0x81, 0xEA, 0x6F, 0xF3, 0x89, 0xF7, 0xFB, 0x73, 0xAD, 0xB4, + 0xE7, 0xBF, 0xD9, 0x8E, 0x6F, 0xAA, 0x0B, 0x4F, 0x25, 0xF3, 0xB8, 0xE1, + 0xD5, 0xDD, 0x75, 0x98, 0x68, 0x81, 0xF8, 0xAA, 0xC0, 0xD1, 0x80, 0xC2, + 0xC4, 0xC4, 0x39, 0x89, 0xC1, 0xF6, 0xC9, 0x9E, 0x6C, 0xD7, 0x74, 0xF9, + 0xD9, 0x97, 0xF8, 0x4F, 0xC2, 0x9A, 0x0A, 0xCD, 0x5E, 0x8F, 0xF8, 0x19, + 0xE9, 0xE0, 0xA5, 0x9F, 0xC4, 0xF0, 0x92, 0x21, 0xE6, 0x2D, 0x79, 0x25, + 0xC9, 0x22, 0xF9, 0xC3, 0xF0, 0x3A, 0x84, 0x57, 0xAD, 0x3A, 0x16, 0xF4, + 0x63, 0x94, 0x10, 0x1D, 0x5D, 0xD0, 0xC6, 0x31, 0x82, 0x02, 0x60, 0x30, + 0x82, 0x02, 0x5C, 0x02, 0x01, 0x01, 0x30, 0x81, 0xA9, 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, 0x0F, 0x16, 0x88, 0xF0, 0x39, 0x25, + 0x5E, 0x63, 0x8E, 0x69, 0x14, 0x39, 0x07, 0xE6, 0x33, 0x0B, 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, 0x38, 0x30, + 0x31, 0x32, 0x35, 0x30, 0x38, 0x32, 0x39, 0x32, 0x34, 0x5A, 0x30, 0x23, + 0x06, 0x09, 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x09, 0x04, 0x31, + 0x16, 0x04, 0x14, 0x2A, 0xA6, 0xAE, 0xCE, 0xC6, 0xB6, 0xA3, 0xF9, 0xA3, + 0x2B, 0xC8, 0xB3, 0x40, 0x38, 0x02, 0xEF, 0x91, 0xC8, 0x0F, 0x4E, 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, + 0x03, 0xA5, 0xB1, 0x46, 0x63, 0xEB, 0x12, 0x02, 0x30, 0x91, 0xB8, 0x4A, + 0x6D, 0x6A, 0x68, 0xBC, 0x87, 0x1D, 0xE6, 0x6B, 0x30, 0x0D, 0x06, 0x09, + 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, + 0x82, 0x01, 0x00, 0x83, 0x12, 0xDC, 0x6F, 0x05, 0x84, 0xB5, 0xD4, 0x98, + 0xE2, 0x00, 0x61, 0xD4, 0x9C, 0xC8, 0xD1, 0x93, 0xE9, 0x08, 0x23, 0x2C, + 0x1A, 0xBC, 0xC1, 0xA7, 0xC4, 0x89, 0xEA, 0x48, 0x2F, 0xCF, 0xDB, 0xFA, + 0x49, 0x9A, 0xAC, 0x30, 0x36, 0xC1, 0x32, 0x54, 0x4A, 0x2C, 0xD1, 0xA8, + 0x8C, 0x93, 0x10, 0xB0, 0xFA, 0x39, 0x18, 0x47, 0x65, 0x6A, 0x37, 0x0B, + 0xF8, 0x2D, 0x30, 0xCA, 0xC6, 0x1A, 0x49, 0x04, 0x3D, 0x62, 0xC5, 0x89, + 0xD9, 0xA9, 0xD8, 0x08, 0x2D, 0xD8, 0x2A, 0x5A, 0x4A, 0x81, 0x69, 0x50, + 0xEA, 0x71, 0x1F, 0xE9, 0x60, 0xE7, 0xB9, 0x02, 0x0A, 0x4E, 0xEE, 0xDF, + 0xCC, 0xDD, 0x67, 0x48, 0x52, 0xE8, 0xB4, 0x4E, 0x9C, 0x55, 0xC4, 0x55, + 0xEA, 0xBE, 0x71, 0x27, 0xEE, 0x73, 0x87, 0x41, 0xC0, 0xEC, 0x23, 0xC1, + 0x82, 0x29, 0x9D, 0x30, 0x93, 0xA0, 0x3A, 0x77, 0x53, 0xAE, 0x6D, 0xB2, + 0x61, 0x76, 0xCB, 0x1C, 0x15, 0x93, 0x25, 0x63, 0xFC, 0x07, 0xCE, 0x40, + 0x0B, 0xA7, 0x40, 0xB5, 0x45, 0x2D, 0x52, 0x87, 0x27, 0xC8, 0xDF, 0x3C, + 0x44, 0xBB, 0x4E, 0xEE, 0x72, 0x26, 0x08, 0x1B, 0xEE, 0xF9, 0xC8, 0x77, + 0x65, 0x35, 0x6D, 0x59, 0xD2, 0x8B, 0x19, 0x4F, 0xAB, 0x80, 0x4F, 0xC7, + 0x90, 0x9D, 0x35, 0xBE, 0x57, 0x9A, 0x75, 0x01, 0xAD, 0x2B, 0x40, 0x0A, + 0x7D, 0xA7, 0x41, 0x9A, 0xD2, 0xF3, 0x52, 0x64, 0xDE, 0x83, 0x23, 0xAC, + 0x59, 0x6A, 0x5D, 0x3E, 0x2F, 0x33, 0x59, 0x9B, 0x91, 0xB1, 0x3B, 0xE0, + 0x41, 0x6A, 0x99, 0x90, 0xCF, 0x71, 0xBE, 0xC6, 0x41, 0x93, 0xCD, 0xE7, + 0xF8, 0x0B, 0x7A, 0x10, 0x22, 0xC3, 0x33, 0x3A, 0x34, 0x67, 0x54, 0x3E, + 0x61, 0x10, 0x54, 0x28, 0xC1, 0xB5, 0x6C, 0xC2, 0xC0, 0xD3, 0x37, 0x52, + 0x4C, 0x5A, 0x1B, 0x47, 0x7C, 0xF1, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00 + }; 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 c4f51c04..77d6bd2e 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,7 +1,7 @@ /** @file Copyright 2016 Unified EFI, Inc.
- Copyright (c) 2016, Intel Corporation. All rights reserved.
+ 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 @@ -111,7 +111,6 @@ BBTestVerifyBufferFunctionTest ( Status ); - Content = SctAllocateZeroPool(ContentSize); Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Embedded, sizeof(P7Embedded), NULL, 0, AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize); @@ -205,7 +204,6 @@ BBTestVerifyBufferFunctionTest ( Status ); - Content = SctAllocateZeroPool(ContentSize); Status = Pkcs7Verify->VerifyBuffer (Pkcs7Verify, P7Detached, sizeof(P7Detached), TestBin, sizeof(TestBin), AllowedDb, RevokedDb, TimestampDb, Content, &ContentSize); @@ -238,3 +236,88 @@ BBTestVerifyBufferFunctionTest ( return EFI_SUCCESS; } + +EFI_STATUS +BBTestVerifySignatureFunctionTest ( + 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; + + 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; + } + + // + // Signed hash was verified against caller-provided hash of content, the signer's certificate was not found in RevokedDb, and was found in AllowedDb + // + AllowedDb[0] = DbEntry1; + + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + if (Status == EFI_SUCCESS) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestFunctionAssertionGuid005 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_SUCCESS when Signed hash was verified against caller-provided 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 + ); + + // signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb, and no hash matching content hash was found in RevokedDb + AllowedDb[0] = DbEntry1; + RevokedDb[0] = DbEntry5; + TimestampDb[0] = DbEntry3; + + Status = Pkcs7Verify->VerifySignature (Pkcs7Verify, P7TestSignature, sizeof(P7TestSignature), TestInHash, sizeof(TestInHash), AllowedDb, RevokedDb, TimestampDb); + + if (Status == EFI_SUCCESS) + AssertionType = EFI_TEST_ASSERTION_PASSED; + else + AssertionType = EFI_TEST_ASSERTION_FAILED; + + StandardLib->RecordAssertion ( + StandardLib, + AssertionType, + gPkcs7BBTestFunctionAssertionGuid006 , + L"PKCS7_VERIFY_PROTOCOL.VerifySignature - VerifySignature() should returns EFI_SUCCESS when signer is found in both AllowedDb and RevokedDb, the signing was allowed by reference to TimeStampDb, and no hash matching content hash was found 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/Pkcs7BBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/Protocol/PKCS7Verify/BlackBoxTest/Pkcs7BBTestMain.c index 10adb435..faa50f93 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,7 +1,7 @@ /** @file Copyright 2016 - 2017 Unified EFI, Inc.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
+ 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 @@ -69,8 +69,7 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = { gSupportProtocolGuid, EFI_TEST_CASE_AUTO, BBTestVerifyBufferFunctionTest - }, -#if 0 + }, { EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0102, L"VerifySignatureFunction", @@ -79,8 +78,7 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = { gSupportProtocolGuid, EFI_TEST_CASE_AUTO, BBTestVerifySignatureFunctionTest - }, -#endif + }, { EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0201, L"VerifyBufferConformance", @@ -89,8 +87,7 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = { gSupportProtocolGuid, EFI_TEST_CASE_AUTO, BBTestVerifyBufferConformanceTest - }, -#if 0 + }, { EFI_PKCS7_VERIFY_PROTOCOL_TEST_ENTRY_GUID0202, L"VerifySignatureConformance", @@ -99,14 +96,12 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = { gSupportProtocolGuid, EFI_TEST_CASE_AUTO, BBTestVerifySignatureConformanceTest - }, -#endif + }, 0 }; EFI_STATUS -EFIAPI InitializePkcs7VerifyBBTest ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable @@ -134,7 +129,7 @@ InitializePkcs7VerifyBBTest ( ); // - // Initialize Signature List Entry for testing. + // Initialize Signature List Entry for VerifyBuffer testing. // DbEntry1 = NULL; DbEntry2 = NULL; @@ -191,18 +186,17 @@ InitializePkcs7VerifyBBTest ( 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); + SctCopyMem ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16, TestSubCertHash, 32); RevokedTime = (EFI_TIME *) ((UINT8 *)DbEntry5 + sizeof (EFI_SIGNATURE_LIST) + 16 + 32); - RevokedTime->Year = 2015; - RevokedTime->Month = 8; - RevokedTime->Day = 20; + RevokedTime->Year = 2018; + RevokedTime->Month = 2; + RevokedTime->Day = 1; return Status; } EFI_STATUS -EFIAPI UnloadPkcs7VerifyBBTest ( IN EFI_HANDLE ImageHandle ) @@ -228,5 +222,3 @@ UnloadPkcs7VerifyBBTest ( 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 5a7667d1..44b8cea6 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,7 +1,7 @@ /** @file Copyright 2016 - 2017 Unified EFI, Inc.
- Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.
+ 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 @@ -56,30 +56,29 @@ Abstract: { 0xaf5e33d1, 0x3e08, 0x451a, {0xb1, 0x92, 0xe7, 0xb9, 0x91, 0x67, 0x83, 0xae }} - +extern UINT8 TestRootCert[781]; +extern UINT8 TestSubCert[780]; +extern UINT8 TestSubCertHash[32]; +extern UINT8 TSRootCert[1181]; 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]; +extern UINT8 TestInHash[32]; + +extern UINT8 P7Embedded[3365]; +extern UINT8 P7Detached[1163]; +extern UINT8 P7TestSignature[3480]; // // // EFI_STATUS -EFIAPI InitializePkcs7VerifyBBTest ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ); EFI_STATUS -EFIAPI UnloadPkcs7VerifyBBTest ( IN EFI_HANDLE ImageHandle ); @@ -96,15 +95,13 @@ BBTestVerifyBufferConformanceTest ( ); EFI_STATUS -BBTestHashConformanceTest ( +BBTestVerifySignatureConformanceTest ( 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, @@ -122,4 +119,3 @@ BBTestVerifySignatureFunctionTest ( ); #endif - -- 2.18.0.windows.1