From 1223089c0f8b5883faea8f1a5717628ce6323251 Mon Sep 17 00:00:00 2001 From: Evgeny Margolis Date: Fri, 12 Nov 2021 11:01:21 -0800 Subject: [PATCH] CHIPCert: Update to Support Single CASE Authenticated Tag OID. (#11697) -- Support single CAT OID to match spec changes. -- Added Utility function to Extract OID array from the subject of OpCert. -- Updated test vectors to match the change. Added new test vector which includes 3 CAT OIDs in its subject. --- src/credentials/CHIPCert.cpp | 26 + src/credentials/CHIPCert.h | 16 +- .../tests/CHIPCert_test_vectors.cpp | 2084 +++++++++-------- src/credentials/tests/CHIPCert_test_vectors.h | 196 +- src/credentials/tests/TestChipCert.cpp | 77 + src/lib/asn1/gen_asn1oid.py | 4 +- src/tools/chip-cert/CertUtils.cpp | 7 +- src/tools/chip-cert/Cmd_GenCert.cpp | 21 +- src/tools/chip-cert/GeneralUtils.cpp | 16 +- src/tools/chip-cert/chip-cert.h | 3 +- 10 files changed, 1350 insertions(+), 1100 deletions(-) diff --git a/src/credentials/CHIPCert.cpp b/src/credentials/CHIPCert.cpp index 58f1bdd08a4872..5bb47aea3aba84 100644 --- a/src/credentials/CHIPCert.cpp +++ b/src/credentials/CHIPCert.cpp @@ -883,6 +883,32 @@ CHIP_ERROR ExtractFabricIdFromCert(const ChipCertificateData & cert, FabricId * return CHIP_ERROR_INVALID_ARGUMENT; } +CHIP_ERROR ExtractCATsFromOpCert(const ChipCertificateData & opcert, uint32_t * cats, uint8_t catsSize) +{ + uint8_t catCount = 0; + uint8_t certType; + + ReturnErrorOnFailure(opcert.mSubjectDN.GetCertType(certType)); + VerifyOrReturnError(certType == kCertType_Node, CHIP_ERROR_INVALID_ARGUMENT); + + const ChipDN & subjectDN = opcert.mSubjectDN; + for (uint8_t i = 0; i < subjectDN.RDNCount(); ++i) + { + const auto & rdn = subjectDN.rdn[i]; + if (rdn.mAttrOID == ASN1::kOID_AttributeType_ChipCASEAuthenticatedTag) + { + ReturnErrorCodeIf(catCount == catsSize, CHIP_ERROR_BUFFER_TOO_SMALL); + cats[catCount++] = static_cast(rdn.mChipVal); + } + } + for (uint8_t i = catCount; i < catsSize; ++i) + { + cats[i] = 0; + } + + return CHIP_NO_ERROR; +} + CHIP_ERROR ExtractNodeIdFabricIdFromOpCert(const ByteSpan & opcert, NodeId * nodeId, FabricId * fabricId) { ChipCertificateSet certSet; diff --git a/src/credentials/CHIPCert.h b/src/credentials/CHIPCert.h index 07f11b4b6f7473..762e0f25f209f6 100644 --- a/src/credentials/CHIPCert.h +++ b/src/credentials/CHIPCert.h @@ -54,6 +54,9 @@ static constexpr uint32_t kMaxDERCertLength = 600; // The decode buffer is used to reconstruct TBS section of X.509 certificate, which doesn't include signature. static constexpr uint32_t kMaxCHIPCertDecodeBufLength = kMaxDERCertLength - Crypto::kMax_ECDSA_Signature_Length_Der; +// Muximum number of CASE Authenticated Tags (CAT) in the CHIP certificate subject. +static constexpr size_t kMaxSubjectCATAttributeCount = CHIP_CONFIG_CERT_MAX_RDN_ATTRIBUTES - 2; + /** Data Element Tags for the CHIP Certificate */ enum @@ -715,7 +718,7 @@ inline bool IsChip64bitDNAttr(chip::ASN1::OID oid) **/ inline bool IsChip32bitDNAttr(chip::ASN1::OID oid) { - return (oid == chip::ASN1::kOID_AttributeType_ChipAuthTag1 || oid == chip::ASN1::kOID_AttributeType_ChipAuthTag2); + return (oid == chip::ASN1::kOID_AttributeType_ChipCASEAuthenticatedTag); } /** @@ -796,6 +799,17 @@ CHIP_ERROR ExtractFabricIdFromCert(const ChipCertificateData & cert, FabricId * */ CHIP_ERROR ExtractNodeIdFabricIdFromOpCert(const ChipCertificateData & opcert, NodeId * nodeId, FabricId * fabricId); +/** + * Extract CASE Authenticated Tags from an operational certificate that has already been + * parsed. + * + * All values in the 'cats' array will be set either to a valid CAT value or zero (undefined) value. + * + * @return CHIP_ERROR_INVALID_ARGUMENT if the passed-in cert is not NOC. + * @return CHIP_ERROR_BUFFER_TOO_SMALL if the passed-in CATs array is too small. + */ +CHIP_ERROR ExtractCATsFromOpCert(const ChipCertificateData & opcert, uint32_t * cats, uint8_t catsSize); + /** * Extract Node ID and Fabric ID from an operational certificate in ByteSpan TLV-encoded * form. This does not perform any sort of validation on the certificate diff --git a/src/credentials/tests/CHIPCert_test_vectors.cpp b/src/credentials/tests/CHIPCert_test_vectors.cpp index 8b6829758dcffd..efa1c74ccdc089 100644 --- a/src/credentials/tests/CHIPCert_test_vectors.cpp +++ b/src/credentials/tests/CHIPCert_test_vectors.cpp @@ -51,6 +51,7 @@ extern const uint8_t gTestCerts[] = { TestCert::kNode02_05, TestCert::kNode02_06, TestCert::kNode02_07, + TestCert::kNode02_08, }; // clang-format on @@ -93,6 +94,7 @@ CHIP_ERROR GetTestCert(uint8_t certType, BitFlags certLoadFla SELECT_CERT(Node02_05); SELECT_CERT(Node02_06); SELECT_CERT(Node02_07); + SELECT_CERT(Node02_08); #undef SELECT_CERT @@ -128,6 +130,7 @@ const char * GetTestCertName(uint8_t certType) NAME_CERT(Node02_05); NAME_CERT(Node02_06); NAME_CERT(Node02_07); + NAME_CERT(Node02_08); #undef NAME_CERT @@ -163,6 +166,7 @@ CHIP_ERROR GetTestCertPubkey(uint8_t certType, ByteSpan & pubkey) SELECT_PUBKEY(Node02_05); SELECT_PUBKEY(Node02_06); SELECT_PUBKEY(Node02_07); + SELECT_PUBKEY(Node02_08); #undef SELECT_PUBKEY @@ -201,6 +205,7 @@ CHIP_ERROR GetTestCertSKID(uint8_t certType, ByteSpan & skid) SELECT_SKID(Node02_05); SELECT_SKID(Node02_06); SELECT_SKID(Node02_07); + SELECT_SKID(Node02_08); #undef SELECT_SKID @@ -239,6 +244,7 @@ CHIP_ERROR GetTestCertAKID(uint8_t certType, ByteSpan & akid) SELECT_AKID(Node02_05); SELECT_AKID(Node02_06); SELECT_AKID(Node02_07); + SELECT_AKID(Node02_08); #undef SELECT_AKID @@ -296,7 +302,7 @@ CHIP_ERROR LoadTestCert(ChipCertificateSet & certSet, uint8_t certType, BitFlags Certificate: Data: Version: 3 (0x2) - Serial Number: 6479173750095827996 (0x59eaa632947f541c) + Serial Number: 6002248829961909524 (0x534c458273623514) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000001 Validity @@ -307,11 +313,11 @@ CHIP_ERROR LoadTestCert(ChipCertificateSet & certSet, uint8_t certType, BitFlags Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:13:53:a3:b3:ef:1d:a7:08:c4:90:80:48:01:4e: - 40:7d:59:90:ce:22:bc:4e:b3:3e:9a:5a:cb:25:a8: - 56:03:eb:a6:dc:d8:21:36:66:a4:e4:4f:5a:ca:13: - eb:76:7f:af:a7:dc:dd:dc:33:41:1f:82:a3:0b:54: - 3d:d1:d2:4b:a8 + 04:3b:88:46:0e:c9:68:7a:5d:0f:3b:4b:3b:13:fc: + d2:99:c2:f6:d5:05:1d:00:3e:e4:9c:99:24:cf:98: + f4:f7:80:eb:20:fd:37:c8:d3:58:34:7f:5f:87:d0: + 8c:32:13:e5:40:af:11:ba:b9:13:7e:49:35:4f:0c: + 5b:63:43:de:63 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -320,110 +326,110 @@ CHIP_ERROR LoadTestCert(ChipCertificateSet & certSet, uint8_t certType, BitFlags X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: - 13:AF:81:AB:37:37:4B:2E:D2:A9:64:9B:12:B7:A3:A4:28:7E:15:1D + CC:13:08:AF:82:CF:EE:50:5E:B2:3B:57:BF:E8:6A:31:16:65:53:5F X509v3 Authority Key Identifier: - keyid:13:AF:81:AB:37:37:4B:2E:D2:A9:64:9B:12:B7:A3:A4:28:7E:15:1D + keyid:CC:13:08:AF:82:CF:EE:50:5E:B2:3B:57:BF:E8:6A:31:16:65:53:5F Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:20:45:81:64:46:6c:8f:19:5a:bc:0a:bb:7c:6c:b5: - a2:7a:83:f4:1d:37:f8:d5:3b:ee:c5:20:ab:d2:a0:da:05:09: - 02:21:00:b8:a7:c2:5c:04:2e:30:cf:64:dc:30:fe:33:4e:12: - 00:19:66:4e:51:50:49:13:4f:57:81:23:84:44:fc:75:31 + 30:46:02:21:00:f7:f0:09:26:90:49:4e:46:c8:b1:c5:cb:d1: + a5:08:5e:1e:65:d4:36:0f:98:e9:6c:4e:8e:49:5d:c5:e2:16: + d0:02:21:00:bf:a2:3d:8f:57:47:0d:89:fd:da:f0:3f:04:64: + b0:ae:8e:1f:95:6d:6f:67:a3:11:24:38:58:24:68:97:80:a9 -----BEGIN CERTIFICATE----- -MIIBnTCCAUOgAwIBAgIIWeqmMpR/VBwwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIBnjCCAUOgAwIBAgIIU0xFgnNiNRQwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDEwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjAiMSAwHgYKKwYBBAGConwBBAwQQ0FDQUNBQ0EwMDAwMDAwMTBZMBMG -ByqGSM49AgEGCCqGSM49AwEHA0IABBNTo7PvHacIxJCASAFOQH1ZkM4ivE6zPppa -yyWoVgPrptzYITZmpORPWsoT63Z/r6fc3dwzQR+CowtUPdHSS6ijYzBhMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBQTr4GrNzdLLtKp -ZJsSt6OkKH4VHTAfBgNVHSMEGDAWgBQTr4GrNzdLLtKpZJsSt6OkKH4VHTAKBggq -hkjOPQQDAgNIADBFAiBFgWRGbI8ZWrwKu3xstaJ6g/QdN/jVO+7FIKvSoNoFCQIh -ALinwlwELjDPZNww/jNOEgAZZk5RUEkTT1eBI4RE/HUx +ByqGSM49AgEGCCqGSM49AwEHA0IABDuIRg7JaHpdDztLOxP80pnC9tUFHQA+5JyZ +JM+Y9PeA6yD9N8jTWDR/X4fQjDIT5UCvEbq5E35JNU8MW2ND3mOjYzBhMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTMEwivgs/uUF6y +O1e/6GoxFmVTXzAfBgNVHSMEGDAWgBTMEwivgs/uUF6yO1e/6GoxFmVTXzAKBggq +hkjOPQQDAgNJADBGAiEA9/AJJpBJTkbIscXL0aUIXh5l1DYPmOlsTo5JXcXiFtAC +IQC/oj2PV0cNif3a8D8EZLCujh+VbW9noxEkOFgkaJeAqQ== -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIH1zW+/pFqHAygL4ypiB5CZjqq+aucQzsom+JnAQdXQaoAoGCCqGSM49 -AwEHoUQDQgAEE1Ojs+8dpwjEkIBIAU5AfVmQziK8TrM+mlrLJahWA+um3NghNmak -5E9ayhPrdn+vp9zd3DNBH4KjC1Q90dJLqA== +MHcCAQEEIPzd/ZESsw0kD2rm3ieiAp57tudDd+O3l1120j3jw2gUoAoGCCqGSM49 +AwEHoUQDQgAEO4hGDsloel0PO0s7E/zSmcL21QUdAD7knJkkz5j094DrIP03yNNY +NH9fh9CMMhPlQK8RurkTfkk1TwxbY0PeYw== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Root01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x59, 0xea, 0xa6, 0x32, 0x94, 0x7f, 0x54, 0x1c, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x53, 0x4c, 0x45, 0x82, 0x73, 0x62, 0x35, 0x14, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, - 0x13, 0x53, 0xa3, 0xb3, 0xef, 0x1d, 0xa7, 0x08, 0xc4, 0x90, 0x80, 0x48, 0x01, 0x4e, 0x40, 0x7d, 0x59, 0x90, 0xce, 0x22, 0xbc, - 0x4e, 0xb3, 0x3e, 0x9a, 0x5a, 0xcb, 0x25, 0xa8, 0x56, 0x03, 0xeb, 0xa6, 0xdc, 0xd8, 0x21, 0x36, 0x66, 0xa4, 0xe4, 0x4f, 0x5a, - 0xca, 0x13, 0xeb, 0x76, 0x7f, 0xaf, 0xa7, 0xdc, 0xdd, 0xdc, 0x33, 0x41, 0x1f, 0x82, 0xa3, 0x0b, 0x54, 0x3d, 0xd1, 0xd2, 0x4b, - 0xa8, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, 0x37, 0x4b, - 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x30, 0x05, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, - 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x18, 0x30, 0x0b, 0x40, 0x45, 0x81, - 0x64, 0x46, 0x6c, 0x8f, 0x19, 0x5a, 0xbc, 0x0a, 0xbb, 0x7c, 0x6c, 0xb5, 0xa2, 0x7a, 0x83, 0xf4, 0x1d, 0x37, 0xf8, 0xd5, 0x3b, - 0xee, 0xc5, 0x20, 0xab, 0xd2, 0xa0, 0xda, 0x05, 0x09, 0xb8, 0xa7, 0xc2, 0x5c, 0x04, 0x2e, 0x30, 0xcf, 0x64, 0xdc, 0x30, 0xfe, - 0x33, 0x4e, 0x12, 0x00, 0x19, 0x66, 0x4e, 0x51, 0x50, 0x49, 0x13, 0x4f, 0x57, 0x81, 0x23, 0x84, 0x44, 0xfc, 0x75, 0x31, 0x18, + 0x3b, 0x88, 0x46, 0x0e, 0xc9, 0x68, 0x7a, 0x5d, 0x0f, 0x3b, 0x4b, 0x3b, 0x13, 0xfc, 0xd2, 0x99, 0xc2, 0xf6, 0xd5, 0x05, 0x1d, + 0x00, 0x3e, 0xe4, 0x9c, 0x99, 0x24, 0xcf, 0x98, 0xf4, 0xf7, 0x80, 0xeb, 0x20, 0xfd, 0x37, 0xc8, 0xd3, 0x58, 0x34, 0x7f, 0x5f, + 0x87, 0xd0, 0x8c, 0x32, 0x13, 0xe5, 0x40, 0xaf, 0x11, 0xba, 0xb9, 0x13, 0x7e, 0x49, 0x35, 0x4f, 0x0c, 0x5b, 0x63, 0x43, 0xde, + 0x63, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, 0xcf, 0xee, + 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x30, 0x05, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, + 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x18, 0x30, 0x0b, 0x40, 0xf7, 0xf0, + 0x09, 0x26, 0x90, 0x49, 0x4e, 0x46, 0xc8, 0xb1, 0xc5, 0xcb, 0xd1, 0xa5, 0x08, 0x5e, 0x1e, 0x65, 0xd4, 0x36, 0x0f, 0x98, 0xe9, + 0x6c, 0x4e, 0x8e, 0x49, 0x5d, 0xc5, 0xe2, 0x16, 0xd0, 0xbf, 0xa2, 0x3d, 0x8f, 0x57, 0x47, 0x0d, 0x89, 0xfd, 0xda, 0xf0, 0x3f, + 0x04, 0x64, 0xb0, 0xae, 0x8e, 0x1f, 0x95, 0x6d, 0x6f, 0x67, 0xa3, 0x11, 0x24, 0x38, 0x58, 0x24, 0x68, 0x97, 0x80, 0xa9, 0x18, }; -extern const uint32_t sTestCert_Root01_Chip_Len = sizeof(sTestCert_Root01_Chip); +extern const size_t sTestCert_Root01_Chip_Len = sizeof(sTestCert_Root01_Chip); extern const uint8_t sTestCert_Root01_DER[] = { - 0x30, 0x82, 0x01, 0x9d, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x59, 0xea, 0xa6, 0x32, 0x94, 0x7f, - 0x54, 0x1c, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0x9e, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x53, 0x4c, 0x45, 0x82, 0x73, 0x62, + 0x35, 0x14, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x13, 0x53, - 0xa3, 0xb3, 0xef, 0x1d, 0xa7, 0x08, 0xc4, 0x90, 0x80, 0x48, 0x01, 0x4e, 0x40, 0x7d, 0x59, 0x90, 0xce, 0x22, 0xbc, 0x4e, 0xb3, - 0x3e, 0x9a, 0x5a, 0xcb, 0x25, 0xa8, 0x56, 0x03, 0xeb, 0xa6, 0xdc, 0xd8, 0x21, 0x36, 0x66, 0xa4, 0xe4, 0x4f, 0x5a, 0xca, 0x13, - 0xeb, 0x76, 0x7f, 0xaf, 0xa7, 0xdc, 0xdd, 0xdc, 0x33, 0x41, 0x1f, 0x82, 0xa3, 0x0b, 0x54, 0x3d, 0xd1, 0xd2, 0x4b, 0xa8, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x3b, 0x88, + 0x46, 0x0e, 0xc9, 0x68, 0x7a, 0x5d, 0x0f, 0x3b, 0x4b, 0x3b, 0x13, 0xfc, 0xd2, 0x99, 0xc2, 0xf6, 0xd5, 0x05, 0x1d, 0x00, 0x3e, + 0xe4, 0x9c, 0x99, 0x24, 0xcf, 0x98, 0xf4, 0xf7, 0x80, 0xeb, 0x20, 0xfd, 0x37, 0xc8, 0xd3, 0x58, 0x34, 0x7f, 0x5f, 0x87, 0xd0, + 0x8c, 0x32, 0x13, 0xe5, 0x40, 0xaf, 0x11, 0xba, 0xb9, 0x13, 0x7e, 0x49, 0x35, 0x4f, 0x0c, 0x5b, 0x63, 0x43, 0xde, 0x63, 0xa3, 0x63, 0x30, 0x61, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, - 0x0e, 0x04, 0x16, 0x04, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, - 0x28, 0x7e, 0x15, 0x1d, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x13, 0xaf, 0x81, 0xab, - 0x37, 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x30, 0x0a, 0x06, 0x08, 0x2a, - 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x45, 0x81, 0x64, 0x46, 0x6c, 0x8f, 0x19, - 0x5a, 0xbc, 0x0a, 0xbb, 0x7c, 0x6c, 0xb5, 0xa2, 0x7a, 0x83, 0xf4, 0x1d, 0x37, 0xf8, 0xd5, 0x3b, 0xee, 0xc5, 0x20, 0xab, 0xd2, - 0xa0, 0xda, 0x05, 0x09, 0x02, 0x21, 0x00, 0xb8, 0xa7, 0xc2, 0x5c, 0x04, 0x2e, 0x30, 0xcf, 0x64, 0xdc, 0x30, 0xfe, 0x33, 0x4e, - 0x12, 0x00, 0x19, 0x66, 0x4e, 0x51, 0x50, 0x49, 0x13, 0x4f, 0x57, 0x81, 0x23, 0x84, 0x44, 0xfc, 0x75, 0x31, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, + 0x16, 0x65, 0x53, 0x5f, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcc, 0x13, 0x08, 0xaf, + 0x82, 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x30, 0x0a, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xf7, 0xf0, 0x09, 0x26, 0x90, 0x49, + 0x4e, 0x46, 0xc8, 0xb1, 0xc5, 0xcb, 0xd1, 0xa5, 0x08, 0x5e, 0x1e, 0x65, 0xd4, 0x36, 0x0f, 0x98, 0xe9, 0x6c, 0x4e, 0x8e, 0x49, + 0x5d, 0xc5, 0xe2, 0x16, 0xd0, 0x02, 0x21, 0x00, 0xbf, 0xa2, 0x3d, 0x8f, 0x57, 0x47, 0x0d, 0x89, 0xfd, 0xda, 0xf0, 0x3f, 0x04, + 0x64, 0xb0, 0xae, 0x8e, 0x1f, 0x95, 0x6d, 0x6f, 0x67, 0xa3, 0x11, 0x24, 0x38, 0x58, 0x24, 0x68, 0x97, 0x80, 0xa9, }; -extern const uint32_t sTestCert_Root01_DER_Len = sizeof(sTestCert_Root01_DER); +extern const size_t sTestCert_Root01_DER_Len = sizeof(sTestCert_Root01_DER); extern const uint8_t sTestCert_Root01_PublicKey[] = { - 0x04, 0x13, 0x53, 0xa3, 0xb3, 0xef, 0x1d, 0xa7, 0x08, 0xc4, 0x90, 0x80, 0x48, 0x01, 0x4e, 0x40, 0x7d, - 0x59, 0x90, 0xce, 0x22, 0xbc, 0x4e, 0xb3, 0x3e, 0x9a, 0x5a, 0xcb, 0x25, 0xa8, 0x56, 0x03, 0xeb, 0xa6, - 0xdc, 0xd8, 0x21, 0x36, 0x66, 0xa4, 0xe4, 0x4f, 0x5a, 0xca, 0x13, 0xeb, 0x76, 0x7f, 0xaf, 0xa7, 0xdc, - 0xdd, 0xdc, 0x33, 0x41, 0x1f, 0x82, 0xa3, 0x0b, 0x54, 0x3d, 0xd1, 0xd2, 0x4b, 0xa8, + 0x04, 0x3b, 0x88, 0x46, 0x0e, 0xc9, 0x68, 0x7a, 0x5d, 0x0f, 0x3b, 0x4b, 0x3b, 0x13, 0xfc, 0xd2, 0x99, + 0xc2, 0xf6, 0xd5, 0x05, 0x1d, 0x00, 0x3e, 0xe4, 0x9c, 0x99, 0x24, 0xcf, 0x98, 0xf4, 0xf7, 0x80, 0xeb, + 0x20, 0xfd, 0x37, 0xc8, 0xd3, 0x58, 0x34, 0x7f, 0x5f, 0x87, 0xd0, 0x8c, 0x32, 0x13, 0xe5, 0x40, 0xaf, + 0x11, 0xba, 0xb9, 0x13, 0x7e, 0x49, 0x35, 0x4f, 0x0c, 0x5b, 0x63, 0x43, 0xde, 0x63, }; -extern const uint8_t sTestCert_Root01_PublicKey_Len = sizeof(sTestCert_Root01_PublicKey); +extern const size_t sTestCert_Root01_PublicKey_Len = sizeof(sTestCert_Root01_PublicKey); extern const uint8_t sTestCert_Root01_PrivateKey[] = { - 0x7d, 0x73, 0x5b, 0xef, 0xe9, 0x16, 0xa1, 0xc0, 0xca, 0x02, 0xf8, 0xca, 0x98, 0x81, 0xe4, 0x26, - 0x63, 0xaa, 0xaf, 0x9a, 0xb9, 0xc4, 0x33, 0xb2, 0x89, 0xbe, 0x26, 0x70, 0x10, 0x75, 0x74, 0x1a, + 0xfc, 0xdd, 0xfd, 0x91, 0x12, 0xb3, 0x0d, 0x24, 0x0f, 0x6a, 0xe6, 0xde, 0x27, 0xa2, 0x02, 0x9e, + 0x7b, 0xb6, 0xe7, 0x43, 0x77, 0xe3, 0xb7, 0x97, 0x5d, 0x76, 0xd2, 0x3d, 0xe3, 0xc3, 0x68, 0x14, }; -extern const uint8_t sTestCert_Root01_PrivateKey_Len = sizeof(sTestCert_Root01_PrivateKey); +extern const size_t sTestCert_Root01_PrivateKey_Len = sizeof(sTestCert_Root01_PrivateKey); extern const uint8_t sTestCert_Root01_SubjectKeyId[] = { - 0x13, 0xAF, 0x81, 0xAB, 0x37, 0x37, 0x4B, 0x2E, 0xD2, 0xA9, 0x64, 0x9B, 0x12, 0xB7, 0xA3, 0xA4, 0x28, 0x7E, 0x15, 0x1D, + 0xCC, 0x13, 0x08, 0xAF, 0x82, 0xCF, 0xEE, 0x50, 0x5E, 0xB2, 0x3B, 0x57, 0xBF, 0xE8, 0x6A, 0x31, 0x16, 0x65, 0x53, 0x5F, }; -extern const uint8_t sTestCert_Root01_SubjectKeyId_Len = sizeof(sTestCert_Root01_SubjectKeyId); +extern const size_t sTestCert_Root01_SubjectKeyId_Len = sizeof(sTestCert_Root01_SubjectKeyId); extern const uint8_t sTestCert_Root01_AuthorityKeyId[] = { - 0x13, 0xAF, 0x81, 0xAB, 0x37, 0x37, 0x4B, 0x2E, 0xD2, 0xA9, 0x64, 0x9B, 0x12, 0xB7, 0xA3, 0xA4, 0x28, 0x7E, 0x15, 0x1D, + 0xCC, 0x13, 0x08, 0xAF, 0x82, 0xCF, 0xEE, 0x50, 0x5E, 0xB2, 0x3B, 0x57, 0xBF, 0xE8, 0x6A, 0x31, 0x16, 0x65, 0x53, 0x5F, }; -extern const uint8_t sTestCert_Root01_AuthorityKeyId_Len = sizeof(sTestCert_Root01_AuthorityKeyId); +extern const size_t sTestCert_Root01_AuthorityKeyId_Len = sizeof(sTestCert_Root01_AuthorityKeyId); /************** Test Root02 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 5356538228357938904 (0x4a563f2377133ed8) + Serial Number: 6921238115407929496 (0x600d2d654ac8a098) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000002, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -434,11 +440,11 @@ extern const uint8_t sTestCert_Root01_AuthorityKeyId_Len = sizeof(sTestCert_Root Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:6e:96:30:68:98:89:f6:06:b2:54:4f:0e:00:21: - e4:be:70:36:0c:3f:77:d0:33:be:50:6d:bc:64:63: - 81:0f:9a:7a:1c:ef:d2:ed:e1:d0:06:56:ee:07:63: - aa:c5:03:e8:b2:40:ac:76:32:0c:75:35:c8:7f:dc: - f3:91:d7:21:32 + 04:27:50:0b:20:60:52:ce:33:77:6c:63:08:3f:1c: + f1:03:6e:a4:cc:7f:fd:61:7c:17:6d:4c:ad:f5:51: + bb:b4:b0:d9:97:ca:e5:55:db:f9:bc:a8:56:e4:cc: + 7a:8e:de:91:e0:a7:33:e1:67:c0:41:67:a6:c2:c9: + fa:48:f1:4f:0b ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -447,59 +453,59 @@ extern const uint8_t sTestCert_Root01_AuthorityKeyId_Len = sizeof(sTestCert_Root X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: - B2:1B:EA:40:AB:F2:AB:A9:56:F9:82:E1:DA:D2:B6:06:92:06:90:E0 + 62:BE:B9:67:1C:91:C3:55:C8:6F:06:FA:6C:08:80:14:51:E1:A0:EA X509v3 Authority Key Identifier: - keyid:B2:1B:EA:40:AB:F2:AB:A9:56:F9:82:E1:DA:D2:B6:06:92:06:90:E0 + keyid:62:BE:B9:67:1C:91:C3:55:C8:6F:06:FA:6C:08:80:14:51:E1:A0:EA Signature Algorithm: ecdsa-with-SHA256 - 30:46:02:21:00:86:89:d7:3a:c2:e0:04:b7:0f:a4:05:91:ca: - b3:b9:79:47:c4:c6:92:cb:97:6c:53:9c:f3:76:06:53:a5:a4: - dd:02:21:00:87:cf:49:39:32:df:cd:49:8c:a0:bc:c4:93:9b: - b2:7d:76:ac:3d:de:67:2c:25:cb:34:7a:4f:de:9f:dc:f3:cb + 30:46:02:21:00:b7:e7:6c:d3:95:be:d1:21:51:2f:10:f7:2a: + 7a:b1:5a:91:60:b7:f0:38:6c:e8:19:36:d1:5a:cd:19:c8:c0: + 4a:02:21:00:d1:9d:3e:b5:c7:ea:f1:a5:cb:06:43:bb:67:68: + 54:02:e2:ff:1e:65:80:bc:c5:2c:2b:03:a3:b6:a4:92:00:5e -----BEGIN CERTIFICATE----- -MIIB5TCCAYqgAwIBAgIISlY/I3cTPtgwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIIB5TCCAYqgAwIBAgIIYA0tZUrIoJgwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDIxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowRDEgMB4G CisGAQQBgqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDIxIDAeBgorBgEEAYKifAEFDBBG -QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbpYwaJiJ -9gayVE8OACHkvnA2DD930DO+UG28ZGOBD5p6HO/S7eHQBlbuB2OqxQPoskCsdjIM -dTXIf9zzkdchMqNmMGQwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFLIb6kCr8qupVvmC4drStgaSBpDgMB8GA1UdIwQYMBaAFLIb -6kCr8qupVvmC4drStgaSBpDgMAoGCCqGSM49BAMCA0kAMEYCIQCGidc6wuAEtw+k -BZHKs7l5R8TGksuXbFOc83YGU6Wk3QIhAIfPSTky381JjKC8xJObsn12rD3eZywl -yzR6T96f3PPL +QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJ1ALIGBS +zjN3bGMIPxzxA26kzH/9YXwXbUyt9VG7tLDZl8rlVdv5vKhW5Mx6jt6R4Kcz4WfA +QWemwsn6SPFPC6NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBATAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFGK+uWcckcNVyG8G+mwIgBRR4aDqMB8GA1UdIwQYMBaAFGK+ +uWcckcNVyG8G+mwIgBRR4aDqMAoGCCqGSM49BAMCA0kAMEYCIQC352zTlb7RIVEv +EPcqerFakWC38Dhs6Bk20VrNGcjASgIhANGdPrXH6vGlywZDu2doVALi/x5lgLzF +LCsDo7akkgBe -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIPZLkcRw3jaaTSEexd9ohQszl851s9gtPlaTqxwJdlUeoAoGCCqGSM49 -AwEHoUQDQgAEbpYwaJiJ9gayVE8OACHkvnA2DD930DO+UG28ZGOBD5p6HO/S7eHQ -BlbuB2OqxQPoskCsdjIMdTXIf9zzkdchMg== +MHcCAQEEIPm3IofWpI3VEJPEEuYbQ6/hIhUolnG/M5b/l/a2IbKsoAoGCCqGSM49 +AwEHoUQDQgAEJ1ALIGBSzjN3bGMIPxzxA26kzH/9YXwXbUyt9VG7tLDZl8rlVdv5 +vKhW5Mx6jt6R4Kcz4WfAQWemwsn6SPFPCw== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Root02_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x4a, 0x56, 0x3f, 0x23, 0x77, 0x13, 0x3e, 0xd8, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x02, + 0x15, 0x30, 0x01, 0x08, 0x60, 0x0d, 0x2d, 0x65, 0x4a, 0xc8, 0xa0, 0x98, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x02, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x14, 0x02, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, - 0x09, 0x41, 0x04, 0x6e, 0x96, 0x30, 0x68, 0x98, 0x89, 0xf6, 0x06, 0xb2, 0x54, 0x4f, 0x0e, 0x00, 0x21, 0xe4, 0xbe, 0x70, - 0x36, 0x0c, 0x3f, 0x77, 0xd0, 0x33, 0xbe, 0x50, 0x6d, 0xbc, 0x64, 0x63, 0x81, 0x0f, 0x9a, 0x7a, 0x1c, 0xef, 0xd2, 0xed, - 0xe1, 0xd0, 0x06, 0x56, 0xee, 0x07, 0x63, 0xaa, 0xc5, 0x03, 0xe8, 0xb2, 0x40, 0xac, 0x76, 0x32, 0x0c, 0x75, 0x35, 0xc8, - 0x7f, 0xdc, 0xf3, 0x91, 0xd7, 0x21, 0x32, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x24, 0x02, 0x01, 0x18, 0x24, 0x02, 0x60, - 0x30, 0x04, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, 0xb6, 0x06, 0x92, - 0x06, 0x90, 0xe0, 0x30, 0x05, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, - 0xb6, 0x06, 0x92, 0x06, 0x90, 0xe0, 0x18, 0x30, 0x0b, 0x40, 0x86, 0x89, 0xd7, 0x3a, 0xc2, 0xe0, 0x04, 0xb7, 0x0f, 0xa4, - 0x05, 0x91, 0xca, 0xb3, 0xb9, 0x79, 0x47, 0xc4, 0xc6, 0x92, 0xcb, 0x97, 0x6c, 0x53, 0x9c, 0xf3, 0x76, 0x06, 0x53, 0xa5, - 0xa4, 0xdd, 0x87, 0xcf, 0x49, 0x39, 0x32, 0xdf, 0xcd, 0x49, 0x8c, 0xa0, 0xbc, 0xc4, 0x93, 0x9b, 0xb2, 0x7d, 0x76, 0xac, - 0x3d, 0xde, 0x67, 0x2c, 0x25, 0xcb, 0x34, 0x7a, 0x4f, 0xde, 0x9f, 0xdc, 0xf3, 0xcb, 0x18, + 0x09, 0x41, 0x04, 0x27, 0x50, 0x0b, 0x20, 0x60, 0x52, 0xce, 0x33, 0x77, 0x6c, 0x63, 0x08, 0x3f, 0x1c, 0xf1, 0x03, 0x6e, + 0xa4, 0xcc, 0x7f, 0xfd, 0x61, 0x7c, 0x17, 0x6d, 0x4c, 0xad, 0xf5, 0x51, 0xbb, 0xb4, 0xb0, 0xd9, 0x97, 0xca, 0xe5, 0x55, + 0xdb, 0xf9, 0xbc, 0xa8, 0x56, 0xe4, 0xcc, 0x7a, 0x8e, 0xde, 0x91, 0xe0, 0xa7, 0x33, 0xe1, 0x67, 0xc0, 0x41, 0x67, 0xa6, + 0xc2, 0xc9, 0xfa, 0x48, 0xf1, 0x4f, 0x0b, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x24, 0x02, 0x01, 0x18, 0x24, 0x02, 0x60, + 0x30, 0x04, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, 0x80, 0x14, 0x51, + 0xe1, 0xa0, 0xea, 0x30, 0x05, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, + 0x80, 0x14, 0x51, 0xe1, 0xa0, 0xea, 0x18, 0x30, 0x0b, 0x40, 0xb7, 0xe7, 0x6c, 0xd3, 0x95, 0xbe, 0xd1, 0x21, 0x51, 0x2f, + 0x10, 0xf7, 0x2a, 0x7a, 0xb1, 0x5a, 0x91, 0x60, 0xb7, 0xf0, 0x38, 0x6c, 0xe8, 0x19, 0x36, 0xd1, 0x5a, 0xcd, 0x19, 0xc8, + 0xc0, 0x4a, 0xd1, 0x9d, 0x3e, 0xb5, 0xc7, 0xea, 0xf1, 0xa5, 0xcb, 0x06, 0x43, 0xbb, 0x67, 0x68, 0x54, 0x02, 0xe2, 0xff, + 0x1e, 0x65, 0x80, 0xbc, 0xc5, 0x2c, 0x2b, 0x03, 0xa3, 0xb6, 0xa4, 0x92, 0x00, 0x5e, 0x18, }; -extern const uint32_t sTestCert_Root02_Chip_Len = sizeof(sTestCert_Root02_Chip); +extern const size_t sTestCert_Root02_Chip_Len = sizeof(sTestCert_Root02_Chip); extern const uint8_t sTestCert_Root02_DER[] = { - 0x30, 0x82, 0x01, 0xe5, 0x30, 0x82, 0x01, 0x8a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x4a, 0x56, 0x3f, 0x23, 0x77, 0x13, - 0x3e, 0xd8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0xe5, 0x30, 0x82, 0x01, 0x8a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x60, 0x0d, 0x2d, 0x65, 0x4a, 0xc8, + 0xa0, 0x98, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -509,56 +515,56 @@ extern const uint8_t sTestCert_Root02_DER[] = { 0x30, 0x30, 0x30, 0x30, 0x32, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0x6e, 0x96, 0x30, 0x68, 0x98, 0x89, 0xf6, 0x06, 0xb2, 0x54, 0x4f, 0x0e, 0x00, 0x21, 0xe4, 0xbe, 0x70, 0x36, - 0x0c, 0x3f, 0x77, 0xd0, 0x33, 0xbe, 0x50, 0x6d, 0xbc, 0x64, 0x63, 0x81, 0x0f, 0x9a, 0x7a, 0x1c, 0xef, 0xd2, 0xed, 0xe1, 0xd0, - 0x06, 0x56, 0xee, 0x07, 0x63, 0xaa, 0xc5, 0x03, 0xe8, 0xb2, 0x40, 0xac, 0x76, 0x32, 0x0c, 0x75, 0x35, 0xc8, 0x7f, 0xdc, 0xf3, - 0x91, 0xd7, 0x21, 0x32, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x42, 0x00, 0x04, 0x27, 0x50, 0x0b, 0x20, 0x60, 0x52, 0xce, 0x33, 0x77, 0x6c, 0x63, 0x08, 0x3f, 0x1c, 0xf1, 0x03, 0x6e, 0xa4, + 0xcc, 0x7f, 0xfd, 0x61, 0x7c, 0x17, 0x6d, 0x4c, 0xad, 0xf5, 0x51, 0xbb, 0xb4, 0xb0, 0xd9, 0x97, 0xca, 0xe5, 0x55, 0xdb, 0xf9, + 0xbc, 0xa8, 0x56, 0xe4, 0xcc, 0x7a, 0x8e, 0xde, 0x91, 0xe0, 0xa7, 0x33, 0xe1, 0x67, 0xc0, 0x41, 0x67, 0xa6, 0xc2, 0xc9, 0xfa, + 0x48, 0xf1, 0x4f, 0x0b, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, - 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, - 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, 0xb6, 0x06, 0x92, 0x06, 0x90, 0xe0, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, - 0x30, 0x16, 0x80, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, 0xb6, 0x06, 0x92, - 0x06, 0x90, 0xe0, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, - 0x21, 0x00, 0x86, 0x89, 0xd7, 0x3a, 0xc2, 0xe0, 0x04, 0xb7, 0x0f, 0xa4, 0x05, 0x91, 0xca, 0xb3, 0xb9, 0x79, 0x47, 0xc4, 0xc6, - 0x92, 0xcb, 0x97, 0x6c, 0x53, 0x9c, 0xf3, 0x76, 0x06, 0x53, 0xa5, 0xa4, 0xdd, 0x02, 0x21, 0x00, 0x87, 0xcf, 0x49, 0x39, 0x32, - 0xdf, 0xcd, 0x49, 0x8c, 0xa0, 0xbc, 0xc4, 0x93, 0x9b, 0xb2, 0x7d, 0x76, 0xac, 0x3d, 0xde, 0x67, 0x2c, 0x25, 0xcb, 0x34, 0x7a, - 0x4f, 0xde, 0x9f, 0xdc, 0xf3, 0xcb, + 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, + 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, 0x80, 0x14, 0x51, 0xe1, 0xa0, 0xea, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, 0x80, 0x14, 0x51, + 0xe1, 0xa0, 0xea, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, + 0x21, 0x00, 0xb7, 0xe7, 0x6c, 0xd3, 0x95, 0xbe, 0xd1, 0x21, 0x51, 0x2f, 0x10, 0xf7, 0x2a, 0x7a, 0xb1, 0x5a, 0x91, 0x60, 0xb7, + 0xf0, 0x38, 0x6c, 0xe8, 0x19, 0x36, 0xd1, 0x5a, 0xcd, 0x19, 0xc8, 0xc0, 0x4a, 0x02, 0x21, 0x00, 0xd1, 0x9d, 0x3e, 0xb5, 0xc7, + 0xea, 0xf1, 0xa5, 0xcb, 0x06, 0x43, 0xbb, 0x67, 0x68, 0x54, 0x02, 0xe2, 0xff, 0x1e, 0x65, 0x80, 0xbc, 0xc5, 0x2c, 0x2b, 0x03, + 0xa3, 0xb6, 0xa4, 0x92, 0x00, 0x5e, }; -extern const uint32_t sTestCert_Root02_DER_Len = sizeof(sTestCert_Root02_DER); +extern const size_t sTestCert_Root02_DER_Len = sizeof(sTestCert_Root02_DER); extern const uint8_t sTestCert_Root02_PublicKey[] = { - 0x04, 0x6e, 0x96, 0x30, 0x68, 0x98, 0x89, 0xf6, 0x06, 0xb2, 0x54, 0x4f, 0x0e, 0x00, 0x21, 0xe4, 0xbe, - 0x70, 0x36, 0x0c, 0x3f, 0x77, 0xd0, 0x33, 0xbe, 0x50, 0x6d, 0xbc, 0x64, 0x63, 0x81, 0x0f, 0x9a, 0x7a, - 0x1c, 0xef, 0xd2, 0xed, 0xe1, 0xd0, 0x06, 0x56, 0xee, 0x07, 0x63, 0xaa, 0xc5, 0x03, 0xe8, 0xb2, 0x40, - 0xac, 0x76, 0x32, 0x0c, 0x75, 0x35, 0xc8, 0x7f, 0xdc, 0xf3, 0x91, 0xd7, 0x21, 0x32, + 0x04, 0x27, 0x50, 0x0b, 0x20, 0x60, 0x52, 0xce, 0x33, 0x77, 0x6c, 0x63, 0x08, 0x3f, 0x1c, 0xf1, 0x03, + 0x6e, 0xa4, 0xcc, 0x7f, 0xfd, 0x61, 0x7c, 0x17, 0x6d, 0x4c, 0xad, 0xf5, 0x51, 0xbb, 0xb4, 0xb0, 0xd9, + 0x97, 0xca, 0xe5, 0x55, 0xdb, 0xf9, 0xbc, 0xa8, 0x56, 0xe4, 0xcc, 0x7a, 0x8e, 0xde, 0x91, 0xe0, 0xa7, + 0x33, 0xe1, 0x67, 0xc0, 0x41, 0x67, 0xa6, 0xc2, 0xc9, 0xfa, 0x48, 0xf1, 0x4f, 0x0b, }; -extern const uint8_t sTestCert_Root02_PublicKey_Len = sizeof(sTestCert_Root02_PublicKey); +extern const size_t sTestCert_Root02_PublicKey_Len = sizeof(sTestCert_Root02_PublicKey); extern const uint8_t sTestCert_Root02_PrivateKey[] = { - 0xf6, 0x4b, 0x91, 0xc4, 0x70, 0xde, 0x36, 0x9a, 0x4d, 0x21, 0x1e, 0xc5, 0xdf, 0x68, 0x85, 0x0b, - 0x33, 0x97, 0xce, 0x75, 0xb3, 0xd8, 0x2d, 0x3e, 0x56, 0x93, 0xab, 0x1c, 0x09, 0x76, 0x55, 0x1e, + 0xf9, 0xb7, 0x22, 0x87, 0xd6, 0xa4, 0x8d, 0xd5, 0x10, 0x93, 0xc4, 0x12, 0xe6, 0x1b, 0x43, 0xaf, + 0xe1, 0x22, 0x15, 0x28, 0x96, 0x71, 0xbf, 0x33, 0x96, 0xff, 0x97, 0xf6, 0xb6, 0x21, 0xb2, 0xac, }; -extern const uint8_t sTestCert_Root02_PrivateKey_Len = sizeof(sTestCert_Root02_PrivateKey); +extern const size_t sTestCert_Root02_PrivateKey_Len = sizeof(sTestCert_Root02_PrivateKey); extern const uint8_t sTestCert_Root02_SubjectKeyId[] = { - 0xB2, 0x1B, 0xEA, 0x40, 0xAB, 0xF2, 0xAB, 0xA9, 0x56, 0xF9, 0x82, 0xE1, 0xDA, 0xD2, 0xB6, 0x06, 0x92, 0x06, 0x90, 0xE0, + 0x62, 0xBE, 0xB9, 0x67, 0x1C, 0x91, 0xC3, 0x55, 0xC8, 0x6F, 0x06, 0xFA, 0x6C, 0x08, 0x80, 0x14, 0x51, 0xE1, 0xA0, 0xEA, }; -extern const uint8_t sTestCert_Root02_SubjectKeyId_Len = sizeof(sTestCert_Root02_SubjectKeyId); +extern const size_t sTestCert_Root02_SubjectKeyId_Len = sizeof(sTestCert_Root02_SubjectKeyId); extern const uint8_t sTestCert_Root02_AuthorityKeyId[] = { - 0xB2, 0x1B, 0xEA, 0x40, 0xAB, 0xF2, 0xAB, 0xA9, 0x56, 0xF9, 0x82, 0xE1, 0xDA, 0xD2, 0xB6, 0x06, 0x92, 0x06, 0x90, 0xE0, + 0x62, 0xBE, 0xB9, 0x67, 0x1C, 0x91, 0xC3, 0x55, 0xC8, 0x6F, 0x06, 0xFA, 0x6C, 0x08, 0x80, 0x14, 0x51, 0xE1, 0xA0, 0xEA, }; -extern const uint8_t sTestCert_Root02_AuthorityKeyId_Len = sizeof(sTestCert_Root02_AuthorityKeyId); +extern const size_t sTestCert_Root02_AuthorityKeyId_Len = sizeof(sTestCert_Root02_AuthorityKeyId); /************** Test ICA01 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 3293332566983159519 (0x2db444855641aedf) + Serial Number: 7626963124938903389 (0x69d86a8d80fc8f5d) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000001 Validity @@ -569,11 +575,11 @@ extern const uint8_t sTestCert_Root02_AuthorityKeyId_Len = sizeof(sTestCert_Root Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:c5:d0:86:1b:b8:f9:0c:40:5c:12:31:4e:4c:5e: - be:ea:93:9f:72:77:4b:cc:33:23:9e:2f:59:f6:f4: - 6a:f8:dc:7d:46:82:a0:e3:cc:c6:46:e6:df:29:ea: - 86:bf:56:2a:e7:20:a8:98:33:7d:38:3f:32:c0:a0: - 9e:41:60:19:ea + 04:5f:94:f5:7e:0b:13:c9:cf:cf:96:df:e1:fc:e7: + 88:8d:56:4c:c2:09:c5:5c:45:08:e4:4d:cf:16:ba: + 2e:09:66:2f:9e:ec:f1:9f:40:b0:e8:8a:0b:28:15: + da:9e:e1:0a:3a:17:7c:25:1f:43:4f:5b:0f:26:3c: + e7:de:62:78:c6 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -582,110 +588,110 @@ extern const uint8_t sTestCert_Root02_AuthorityKeyId_Len = sizeof(sTestCert_Root X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: - 53:52:D7:05:9E:9C:15:A5:08:90:68:62:86:48:01:A2:9F:1F:41:D3 + 44:0C:C6:92:31:C4:CB:5B:37:94:24:26:F8:1B:BE:24:B7:EF:34:5C X509v3 Authority Key Identifier: - keyid:13:AF:81:AB:37:37:4B:2E:D2:A9:64:9B:12:B7:A3:A4:28:7E:15:1D + keyid:CC:13:08:AF:82:CF:EE:50:5E:B2:3B:57:BF:E8:6A:31:16:65:53:5F Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:21:00:84:1a:06:d4:3b:5e:9f:ec:d2:4e:87:b1:24: - 4e:b5:1c:6a:2c:f2:0d:9b:5e:6b:a0:7f:11:e6:00:2f:7e:0c: - a3:02:20:4e:32:a6:02:c3:60:9d:00:92:d3:48:bd:bd:19:8a: - 11:46:46:bd:41:cf:10:37:83:64:1a:e2:5e:3f:23:fd:26 + 30:45:02:21:00:ad:b8:5b:5d:68:cb:fd:36:14:0d:8c:9d:12: + 90:14:c4:5f:a7:ca:19:1f:34:d9:af:24:1d:b7:17:36:e6:0f: + 44:02:20:19:9b:c0:7c:7f:79:5b:ed:81:a2:e7:7d:c5:34:25: + 76:f6:a0:d1:41:98:f4:6b:91:07:49:42:7c:2e:ed:65:9c -----BEGIN CERTIFICATE----- -MIIBnTCCAUOgAwIBAgIILbREhVZBrt8wCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIBnTCCAUOgAwIBAgIIadhqjYD8j10wCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDEwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjAiMSAwHgYKKwYBBAGConwBAwwQQ0FDQUNBQ0EwMDAwMDAwMzBZMBMG -ByqGSM49AgEGCCqGSM49AwEHA0IABMXQhhu4+QxAXBIxTkxevuqTn3J3S8wzI54v -Wfb0avjcfUaCoOPMxkbm3ynqhr9WKucgqJgzfTg/MsCgnkFgGeqjYzBhMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTUtcFnpwVpQiQ -aGKGSAGinx9B0zAfBgNVHSMEGDAWgBQTr4GrNzdLLtKpZJsSt6OkKH4VHTAKBggq -hkjOPQQDAgNIADBFAiEAhBoG1Dten+zSToexJE61HGos8g2bXmugfxHmAC9+DKMC -IE4ypgLDYJ0AktNIvb0ZihFGRr1BzxA3g2Qa4l4/I/0m +ByqGSM49AgEGCCqGSM49AwEHA0IABF+U9X4LE8nPz5bf4fzniI1WTMIJxVxFCORN +zxa6LglmL57s8Z9AsOiKCygV2p7hCjoXfCUfQ09bDyY8595ieMajYzBhMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBREDMaSMcTLWzeU +JCb4G74kt+80XDAfBgNVHSMEGDAWgBTMEwivgs/uUF6yO1e/6GoxFmVTXzAKBggq +hkjOPQQDAgNIADBFAiEArbhbXWjL/TYUDYydEpAUxF+nyhkfNNmvJB23FzbmD0QC +IBmbwHx/eVvtgaLnfcU0JXb2oNFBmPRrkQdJQnwu7WWc -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIBGEO9zwrSBtsQJRpU2sWB11+ZL8tSJ1KiFs15xxdUapoAoGCCqGSM49 -AwEHoUQDQgAExdCGG7j5DEBcEjFOTF6+6pOfcndLzDMjni9Z9vRq+Nx9RoKg48zG -RubfKeqGv1Yq5yComDN9OD8ywKCeQWAZ6g== +MHcCAQEEIJ4WvYoXsvHCFCEPUWB+l5bLWWBBU1fTirhsxNWWIS6XoAoGCCqGSM49 +AwEHoUQDQgAEX5T1fgsTyc/Plt/h/OeIjVZMwgnFXEUI5E3PFrouCWYvnuzxn0Cw +6IoLKBXanuEKOhd8JR9DT1sPJjzn3mJ4xg== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_ICA01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x2d, 0xb4, 0x44, 0x85, 0x56, 0x41, 0xae, 0xdf, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x69, 0xd8, 0x6a, 0x8d, 0x80, 0xfc, 0x8f, 0x5d, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x13, 0x03, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, - 0xc5, 0xd0, 0x86, 0x1b, 0xb8, 0xf9, 0x0c, 0x40, 0x5c, 0x12, 0x31, 0x4e, 0x4c, 0x5e, 0xbe, 0xea, 0x93, 0x9f, 0x72, 0x77, 0x4b, - 0xcc, 0x33, 0x23, 0x9e, 0x2f, 0x59, 0xf6, 0xf4, 0x6a, 0xf8, 0xdc, 0x7d, 0x46, 0x82, 0xa0, 0xe3, 0xcc, 0xc6, 0x46, 0xe6, 0xdf, - 0x29, 0xea, 0x86, 0xbf, 0x56, 0x2a, 0xe7, 0x20, 0xa8, 0x98, 0x33, 0x7d, 0x38, 0x3f, 0x32, 0xc0, 0xa0, 0x9e, 0x41, 0x60, 0x19, - 0xea, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0x53, 0x52, 0xd7, 0x05, 0x9e, 0x9c, 0x15, - 0xa5, 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xa2, 0x9f, 0x1f, 0x41, 0xd3, 0x30, 0x05, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, - 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x18, 0x30, 0x0b, 0x40, 0x84, 0x1a, - 0x06, 0xd4, 0x3b, 0x5e, 0x9f, 0xec, 0xd2, 0x4e, 0x87, 0xb1, 0x24, 0x4e, 0xb5, 0x1c, 0x6a, 0x2c, 0xf2, 0x0d, 0x9b, 0x5e, 0x6b, - 0xa0, 0x7f, 0x11, 0xe6, 0x00, 0x2f, 0x7e, 0x0c, 0xa3, 0x4e, 0x32, 0xa6, 0x02, 0xc3, 0x60, 0x9d, 0x00, 0x92, 0xd3, 0x48, 0xbd, - 0xbd, 0x19, 0x8a, 0x11, 0x46, 0x46, 0xbd, 0x41, 0xcf, 0x10, 0x37, 0x83, 0x64, 0x1a, 0xe2, 0x5e, 0x3f, 0x23, 0xfd, 0x26, 0x18, + 0x5f, 0x94, 0xf5, 0x7e, 0x0b, 0x13, 0xc9, 0xcf, 0xcf, 0x96, 0xdf, 0xe1, 0xfc, 0xe7, 0x88, 0x8d, 0x56, 0x4c, 0xc2, 0x09, 0xc5, + 0x5c, 0x45, 0x08, 0xe4, 0x4d, 0xcf, 0x16, 0xba, 0x2e, 0x09, 0x66, 0x2f, 0x9e, 0xec, 0xf1, 0x9f, 0x40, 0xb0, 0xe8, 0x8a, 0x0b, + 0x28, 0x15, 0xda, 0x9e, 0xe1, 0x0a, 0x3a, 0x17, 0x7c, 0x25, 0x1f, 0x43, 0x4f, 0x5b, 0x0f, 0x26, 0x3c, 0xe7, 0xde, 0x62, 0x78, + 0xc6, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0x44, 0x0c, 0xc6, 0x92, 0x31, 0xc4, 0xcb, + 0x5b, 0x37, 0x94, 0x24, 0x26, 0xf8, 0x1b, 0xbe, 0x24, 0xb7, 0xef, 0x34, 0x5c, 0x30, 0x05, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, + 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x18, 0x30, 0x0b, 0x40, 0xad, 0xb8, + 0x5b, 0x5d, 0x68, 0xcb, 0xfd, 0x36, 0x14, 0x0d, 0x8c, 0x9d, 0x12, 0x90, 0x14, 0xc4, 0x5f, 0xa7, 0xca, 0x19, 0x1f, 0x34, 0xd9, + 0xaf, 0x24, 0x1d, 0xb7, 0x17, 0x36, 0xe6, 0x0f, 0x44, 0x19, 0x9b, 0xc0, 0x7c, 0x7f, 0x79, 0x5b, 0xed, 0x81, 0xa2, 0xe7, 0x7d, + 0xc5, 0x34, 0x25, 0x76, 0xf6, 0xa0, 0xd1, 0x41, 0x98, 0xf4, 0x6b, 0x91, 0x07, 0x49, 0x42, 0x7c, 0x2e, 0xed, 0x65, 0x9c, 0x18, }; -extern const uint32_t sTestCert_ICA01_Chip_Len = sizeof(sTestCert_ICA01_Chip); +extern const size_t sTestCert_ICA01_Chip_Len = sizeof(sTestCert_ICA01_Chip); extern const uint8_t sTestCert_ICA01_DER[] = { - 0x30, 0x82, 0x01, 0x9d, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x2d, 0xb4, 0x44, 0x85, 0x56, 0x41, - 0xae, 0xdf, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0x9d, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x69, 0xd8, 0x6a, 0x8d, 0x80, 0xfc, + 0x8f, 0x5d, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xc5, 0xd0, - 0x86, 0x1b, 0xb8, 0xf9, 0x0c, 0x40, 0x5c, 0x12, 0x31, 0x4e, 0x4c, 0x5e, 0xbe, 0xea, 0x93, 0x9f, 0x72, 0x77, 0x4b, 0xcc, 0x33, - 0x23, 0x9e, 0x2f, 0x59, 0xf6, 0xf4, 0x6a, 0xf8, 0xdc, 0x7d, 0x46, 0x82, 0xa0, 0xe3, 0xcc, 0xc6, 0x46, 0xe6, 0xdf, 0x29, 0xea, - 0x86, 0xbf, 0x56, 0x2a, 0xe7, 0x20, 0xa8, 0x98, 0x33, 0x7d, 0x38, 0x3f, 0x32, 0xc0, 0xa0, 0x9e, 0x41, 0x60, 0x19, 0xea, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x5f, 0x94, + 0xf5, 0x7e, 0x0b, 0x13, 0xc9, 0xcf, 0xcf, 0x96, 0xdf, 0xe1, 0xfc, 0xe7, 0x88, 0x8d, 0x56, 0x4c, 0xc2, 0x09, 0xc5, 0x5c, 0x45, + 0x08, 0xe4, 0x4d, 0xcf, 0x16, 0xba, 0x2e, 0x09, 0x66, 0x2f, 0x9e, 0xec, 0xf1, 0x9f, 0x40, 0xb0, 0xe8, 0x8a, 0x0b, 0x28, 0x15, + 0xda, 0x9e, 0xe1, 0x0a, 0x3a, 0x17, 0x7c, 0x25, 0x1f, 0x43, 0x4f, 0x5b, 0x0f, 0x26, 0x3c, 0xe7, 0xde, 0x62, 0x78, 0xc6, 0xa3, 0x63, 0x30, 0x61, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, - 0x0e, 0x04, 0x16, 0x04, 0x14, 0x53, 0x52, 0xd7, 0x05, 0x9e, 0x9c, 0x15, 0xa5, 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xa2, - 0x9f, 0x1f, 0x41, 0xd3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x13, 0xaf, 0x81, 0xab, - 0x37, 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x30, 0x0a, 0x06, 0x08, 0x2a, - 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x84, 0x1a, 0x06, 0xd4, 0x3b, 0x5e, - 0x9f, 0xec, 0xd2, 0x4e, 0x87, 0xb1, 0x24, 0x4e, 0xb5, 0x1c, 0x6a, 0x2c, 0xf2, 0x0d, 0x9b, 0x5e, 0x6b, 0xa0, 0x7f, 0x11, 0xe6, - 0x00, 0x2f, 0x7e, 0x0c, 0xa3, 0x02, 0x20, 0x4e, 0x32, 0xa6, 0x02, 0xc3, 0x60, 0x9d, 0x00, 0x92, 0xd3, 0x48, 0xbd, 0xbd, 0x19, - 0x8a, 0x11, 0x46, 0x46, 0xbd, 0x41, 0xcf, 0x10, 0x37, 0x83, 0x64, 0x1a, 0xe2, 0x5e, 0x3f, 0x23, 0xfd, 0x26, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x44, 0x0c, 0xc6, 0x92, 0x31, 0xc4, 0xcb, 0x5b, 0x37, 0x94, 0x24, 0x26, 0xf8, 0x1b, 0xbe, 0x24, + 0xb7, 0xef, 0x34, 0x5c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcc, 0x13, 0x08, 0xaf, + 0x82, 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x30, 0x0a, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xad, 0xb8, 0x5b, 0x5d, 0x68, 0xcb, + 0xfd, 0x36, 0x14, 0x0d, 0x8c, 0x9d, 0x12, 0x90, 0x14, 0xc4, 0x5f, 0xa7, 0xca, 0x19, 0x1f, 0x34, 0xd9, 0xaf, 0x24, 0x1d, 0xb7, + 0x17, 0x36, 0xe6, 0x0f, 0x44, 0x02, 0x20, 0x19, 0x9b, 0xc0, 0x7c, 0x7f, 0x79, 0x5b, 0xed, 0x81, 0xa2, 0xe7, 0x7d, 0xc5, 0x34, + 0x25, 0x76, 0xf6, 0xa0, 0xd1, 0x41, 0x98, 0xf4, 0x6b, 0x91, 0x07, 0x49, 0x42, 0x7c, 0x2e, 0xed, 0x65, 0x9c, }; -extern const uint32_t sTestCert_ICA01_DER_Len = sizeof(sTestCert_ICA01_DER); +extern const size_t sTestCert_ICA01_DER_Len = sizeof(sTestCert_ICA01_DER); extern const uint8_t sTestCert_ICA01_PublicKey[] = { - 0x04, 0xc5, 0xd0, 0x86, 0x1b, 0xb8, 0xf9, 0x0c, 0x40, 0x5c, 0x12, 0x31, 0x4e, 0x4c, 0x5e, 0xbe, 0xea, - 0x93, 0x9f, 0x72, 0x77, 0x4b, 0xcc, 0x33, 0x23, 0x9e, 0x2f, 0x59, 0xf6, 0xf4, 0x6a, 0xf8, 0xdc, 0x7d, - 0x46, 0x82, 0xa0, 0xe3, 0xcc, 0xc6, 0x46, 0xe6, 0xdf, 0x29, 0xea, 0x86, 0xbf, 0x56, 0x2a, 0xe7, 0x20, - 0xa8, 0x98, 0x33, 0x7d, 0x38, 0x3f, 0x32, 0xc0, 0xa0, 0x9e, 0x41, 0x60, 0x19, 0xea, + 0x04, 0x5f, 0x94, 0xf5, 0x7e, 0x0b, 0x13, 0xc9, 0xcf, 0xcf, 0x96, 0xdf, 0xe1, 0xfc, 0xe7, 0x88, 0x8d, + 0x56, 0x4c, 0xc2, 0x09, 0xc5, 0x5c, 0x45, 0x08, 0xe4, 0x4d, 0xcf, 0x16, 0xba, 0x2e, 0x09, 0x66, 0x2f, + 0x9e, 0xec, 0xf1, 0x9f, 0x40, 0xb0, 0xe8, 0x8a, 0x0b, 0x28, 0x15, 0xda, 0x9e, 0xe1, 0x0a, 0x3a, 0x17, + 0x7c, 0x25, 0x1f, 0x43, 0x4f, 0x5b, 0x0f, 0x26, 0x3c, 0xe7, 0xde, 0x62, 0x78, 0xc6, }; -extern const uint8_t sTestCert_ICA01_PublicKey_Len = sizeof(sTestCert_ICA01_PublicKey); +extern const size_t sTestCert_ICA01_PublicKey_Len = sizeof(sTestCert_ICA01_PublicKey); extern const uint8_t sTestCert_ICA01_PrivateKey[] = { - 0x11, 0x84, 0x3b, 0xdc, 0xf0, 0xad, 0x20, 0x6d, 0xb1, 0x02, 0x51, 0xa5, 0x4d, 0xac, 0x58, 0x1d, - 0x75, 0xf9, 0x92, 0xfc, 0xb5, 0x22, 0x75, 0x2a, 0x21, 0x6c, 0xd7, 0x9c, 0x71, 0x75, 0x46, 0xa9, + 0x9e, 0x16, 0xbd, 0x8a, 0x17, 0xb2, 0xf1, 0xc2, 0x14, 0x21, 0x0f, 0x51, 0x60, 0x7e, 0x97, 0x96, + 0xcb, 0x59, 0x60, 0x41, 0x53, 0x57, 0xd3, 0x8a, 0xb8, 0x6c, 0xc4, 0xd5, 0x96, 0x21, 0x2e, 0x97, }; -extern const uint8_t sTestCert_ICA01_PrivateKey_Len = sizeof(sTestCert_ICA01_PrivateKey); +extern const size_t sTestCert_ICA01_PrivateKey_Len = sizeof(sTestCert_ICA01_PrivateKey); extern const uint8_t sTestCert_ICA01_SubjectKeyId[] = { - 0x53, 0x52, 0xD7, 0x05, 0x9E, 0x9C, 0x15, 0xA5, 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xA2, 0x9F, 0x1F, 0x41, 0xD3, + 0x44, 0x0C, 0xC6, 0x92, 0x31, 0xC4, 0xCB, 0x5B, 0x37, 0x94, 0x24, 0x26, 0xF8, 0x1B, 0xBE, 0x24, 0xB7, 0xEF, 0x34, 0x5C, }; -extern const uint8_t sTestCert_ICA01_SubjectKeyId_Len = sizeof(sTestCert_ICA01_SubjectKeyId); +extern const size_t sTestCert_ICA01_SubjectKeyId_Len = sizeof(sTestCert_ICA01_SubjectKeyId); extern const uint8_t sTestCert_ICA01_AuthorityKeyId[] = { - 0x13, 0xAF, 0x81, 0xAB, 0x37, 0x37, 0x4B, 0x2E, 0xD2, 0xA9, 0x64, 0x9B, 0x12, 0xB7, 0xA3, 0xA4, 0x28, 0x7E, 0x15, 0x1D, + 0xCC, 0x13, 0x08, 0xAF, 0x82, 0xCF, 0xEE, 0x50, 0x5E, 0xB2, 0x3B, 0x57, 0xBF, 0xE8, 0x6A, 0x31, 0x16, 0x65, 0x53, 0x5F, }; -extern const uint8_t sTestCert_ICA01_AuthorityKeyId_Len = sizeof(sTestCert_ICA01_AuthorityKeyId); +extern const size_t sTestCert_ICA01_AuthorityKeyId_Len = sizeof(sTestCert_ICA01_AuthorityKeyId); /************** Test ICA02 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 4165248444559607814 (0x39cdef6453394806) + Serial Number: 2073221257978332490 (0x1cc58fbfee96454a) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000002, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -696,11 +702,11 @@ extern const uint8_t sTestCert_ICA01_AuthorityKeyId_Len = sizeof(sTestCert_ICA01 Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:fc:fe:1a:0f:49:7d:f8:c7:fa:de:82:42:ee:b4: - 09:e4:48:50:ee:52:bc:e0:2b:33:1e:ab:3e:af:90: - 0c:42:04:d9:ea:a3:17:38:e6:de:94:83:45:28:de: - 9c:35:3f:5e:5b:11:fb:92:dd:db:64:74:da:f6:0e: - 1f:fe:21:f4:d3 + 04:fa:9f:d2:8c:b7:6a:77:ef:0e:39:30:d5:9e:41: + 2b:d1:8e:b2:0e:ff:d5:19:7e:f4:71:39:37:93:90: + 37:8a:48:04:32:48:18:9c:c4:a9:74:17:75:7e:0e: + 7b:76:72:34:d9:cb:03:dc:75:28:9a:99:74:be:3d: + f7:61:a7:56:be ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -709,59 +715,59 @@ extern const uint8_t sTestCert_ICA01_AuthorityKeyId_Len = sizeof(sTestCert_ICA01 X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: - CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC X509v3 Authority Key Identifier: - keyid:B2:1B:EA:40:AB:F2:AB:A9:56:F9:82:E1:DA:D2:B6:06:92:06:90:E0 + keyid:62:BE:B9:67:1C:91:C3:55:C8:6F:06:FA:6C:08:80:14:51:E1:A0:EA Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:20:58:1a:14:96:5d:9b:42:10:53:12:b3:9f:0c:aa: - 18:98:d5:63:dc:c1:d6:eb:04:86:c2:f8:89:2b:20:43:3e:61: - 02:21:00:b8:4d:cf:33:60:8d:d5:1c:93:e1:27:6c:92:37:ae: - 6f:e2:06:01:dc:3e:6e:9e:02:b1:dc:2b:d9:3e:d8:f5:4d + 30:45:02:20:6f:fa:73:c0:42:6c:9c:ab:2d:e6:20:76:eb:e2: + 4b:5e:79:e2:bb:98:f2:14:ab:6e:e8:f0:43:7c:55:7d:e7:43: + 02:21:00:c7:53:da:e7:dd:f3:b0:27:c2:f1:3e:23:ce:3a:3a: + b9:d4:34:fc:7e:a1:5b:b9:d6:77:c3:6c:9c:8b:55:15:42 -----BEGIN CERTIFICATE----- -MIIB5DCCAYqgAwIBAgIIOc3vZFM5SAYwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIIB5DCCAYqgAwIBAgIIHMWPv+6WRUowCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDIxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowRDEgMB4G CisGAQQBgqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBG -QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/P4aD0l9 -+Mf63oJC7rQJ5EhQ7lK84CszHqs+r5AMQgTZ6qMXOObelINFKN6cNT9eWxH7kt3b -ZHTa9g4f/iH006NmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFM9CvPjfSAnZJm8jFVoWsH8Euz2EMB8GA1UdIwQYMBaAFLIb -6kCr8qupVvmC4drStgaSBpDgMAoGCCqGSM49BAMCA0gAMEUCIFgaFJZdm0IQUxKz -nwyqGJjVY9zB1usEhsL4iSsgQz5hAiEAuE3PM2CN1RyT4Sdskjeub+IGAdw+bp4C -sdwr2T7Y9U0= +QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+p/SjLdq +d+8OOTDVnkEr0Y6yDv/VGX70cTk3k5A3ikgEMkgYnMSpdBd1fg57dnI02csD3HUo +mpl0vj33YadWvqNmMGQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFOHnbmd3hR3XdBa93TXsPBN8RyncMB8GA1UdIwQYMBaAFGK+ +uWcckcNVyG8G+mwIgBRR4aDqMAoGCCqGSM49BAMCA0gAMEUCIG/6c8BCbJyrLeYg +duviS1554ruY8hSrbujwQ3xVfedDAiEAx1Pa593zsCfC8T4jzjo6udQ0/H6hW7nW +d8NsnItVFUI= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEICqDNVdDrwSjhcgPl3Le0DADVJYdhNw7MMKO5PvBdWf6oAoGCCqGSM49 -AwEHoUQDQgAE/P4aD0l9+Mf63oJC7rQJ5EhQ7lK84CszHqs+r5AMQgTZ6qMXOObe -lINFKN6cNT9eWxH7kt3bZHTa9g4f/iH00w== +MHcCAQEEILp2etVZ4xX7pwGY3Y/JdiCDBZT6Xrta8JD1jv8bnWCloAoGCCqGSM49 +AwEHoUQDQgAE+p/SjLdqd+8OOTDVnkEr0Y6yDv/VGX70cTk3k5A3ikgEMkgYnMSp +dBd1fg57dnI02csD3HUompl0vj33YadWvg== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_ICA02_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x39, 0xcd, 0xef, 0x64, 0x53, 0x39, 0x48, 0x06, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x02, + 0x15, 0x30, 0x01, 0x08, 0x1c, 0xc5, 0x8f, 0xbf, 0xee, 0x96, 0x45, 0x4a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x02, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, - 0x09, 0x41, 0x04, 0xfc, 0xfe, 0x1a, 0x0f, 0x49, 0x7d, 0xf8, 0xc7, 0xfa, 0xde, 0x82, 0x42, 0xee, 0xb4, 0x09, 0xe4, 0x48, - 0x50, 0xee, 0x52, 0xbc, 0xe0, 0x2b, 0x33, 0x1e, 0xab, 0x3e, 0xaf, 0x90, 0x0c, 0x42, 0x04, 0xd9, 0xea, 0xa3, 0x17, 0x38, - 0xe6, 0xde, 0x94, 0x83, 0x45, 0x28, 0xde, 0x9c, 0x35, 0x3f, 0x5e, 0x5b, 0x11, 0xfb, 0x92, 0xdd, 0xdb, 0x64, 0x74, 0xda, - 0xf6, 0x0e, 0x1f, 0xfe, 0x21, 0xf4, 0xd3, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x24, 0x02, 0x00, 0x18, 0x24, 0x02, 0x60, - 0x30, 0x04, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, - 0xbb, 0x3d, 0x84, 0x30, 0x05, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, - 0xb6, 0x06, 0x92, 0x06, 0x90, 0xe0, 0x18, 0x30, 0x0b, 0x40, 0x58, 0x1a, 0x14, 0x96, 0x5d, 0x9b, 0x42, 0x10, 0x53, 0x12, - 0xb3, 0x9f, 0x0c, 0xaa, 0x18, 0x98, 0xd5, 0x63, 0xdc, 0xc1, 0xd6, 0xeb, 0x04, 0x86, 0xc2, 0xf8, 0x89, 0x2b, 0x20, 0x43, - 0x3e, 0x61, 0xb8, 0x4d, 0xcf, 0x33, 0x60, 0x8d, 0xd5, 0x1c, 0x93, 0xe1, 0x27, 0x6c, 0x92, 0x37, 0xae, 0x6f, 0xe2, 0x06, - 0x01, 0xdc, 0x3e, 0x6e, 0x9e, 0x02, 0xb1, 0xdc, 0x2b, 0xd9, 0x3e, 0xd8, 0xf5, 0x4d, 0x18, + 0x09, 0x41, 0x04, 0xfa, 0x9f, 0xd2, 0x8c, 0xb7, 0x6a, 0x77, 0xef, 0x0e, 0x39, 0x30, 0xd5, 0x9e, 0x41, 0x2b, 0xd1, 0x8e, + 0xb2, 0x0e, 0xff, 0xd5, 0x19, 0x7e, 0xf4, 0x71, 0x39, 0x37, 0x93, 0x90, 0x37, 0x8a, 0x48, 0x04, 0x32, 0x48, 0x18, 0x9c, + 0xc4, 0xa9, 0x74, 0x17, 0x75, 0x7e, 0x0e, 0x7b, 0x76, 0x72, 0x34, 0xd9, 0xcb, 0x03, 0xdc, 0x75, 0x28, 0x9a, 0x99, 0x74, + 0xbe, 0x3d, 0xf7, 0x61, 0xa7, 0x56, 0xbe, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x24, 0x02, 0x00, 0x18, 0x24, 0x02, 0x60, + 0x30, 0x04, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, + 0x47, 0x29, 0xdc, 0x30, 0x05, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, + 0x80, 0x14, 0x51, 0xe1, 0xa0, 0xea, 0x18, 0x30, 0x0b, 0x40, 0x6f, 0xfa, 0x73, 0xc0, 0x42, 0x6c, 0x9c, 0xab, 0x2d, 0xe6, + 0x20, 0x76, 0xeb, 0xe2, 0x4b, 0x5e, 0x79, 0xe2, 0xbb, 0x98, 0xf2, 0x14, 0xab, 0x6e, 0xe8, 0xf0, 0x43, 0x7c, 0x55, 0x7d, + 0xe7, 0x43, 0xc7, 0x53, 0xda, 0xe7, 0xdd, 0xf3, 0xb0, 0x27, 0xc2, 0xf1, 0x3e, 0x23, 0xce, 0x3a, 0x3a, 0xb9, 0xd4, 0x34, + 0xfc, 0x7e, 0xa1, 0x5b, 0xb9, 0xd6, 0x77, 0xc3, 0x6c, 0x9c, 0x8b, 0x55, 0x15, 0x42, 0x18, }; -extern const uint32_t sTestCert_ICA02_Chip_Len = sizeof(sTestCert_ICA02_Chip); +extern const size_t sTestCert_ICA02_Chip_Len = sizeof(sTestCert_ICA02_Chip); extern const uint8_t sTestCert_ICA02_DER[] = { - 0x30, 0x82, 0x01, 0xe4, 0x30, 0x82, 0x01, 0x8a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x39, 0xcd, 0xef, 0x64, 0x53, 0x39, - 0x48, 0x06, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0xe4, 0x30, 0x82, 0x01, 0x8a, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x1c, 0xc5, 0x8f, 0xbf, 0xee, 0x96, + 0x45, 0x4a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -771,56 +777,56 @@ extern const uint8_t sTestCert_ICA02_DER[] = { 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0xfc, 0xfe, 0x1a, 0x0f, 0x49, 0x7d, 0xf8, 0xc7, 0xfa, 0xde, 0x82, 0x42, 0xee, 0xb4, 0x09, 0xe4, 0x48, 0x50, - 0xee, 0x52, 0xbc, 0xe0, 0x2b, 0x33, 0x1e, 0xab, 0x3e, 0xaf, 0x90, 0x0c, 0x42, 0x04, 0xd9, 0xea, 0xa3, 0x17, 0x38, 0xe6, 0xde, - 0x94, 0x83, 0x45, 0x28, 0xde, 0x9c, 0x35, 0x3f, 0x5e, 0x5b, 0x11, 0xfb, 0x92, 0xdd, 0xdb, 0x64, 0x74, 0xda, 0xf6, 0x0e, 0x1f, - 0xfe, 0x21, 0xf4, 0xd3, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, + 0x42, 0x00, 0x04, 0xfa, 0x9f, 0xd2, 0x8c, 0xb7, 0x6a, 0x77, 0xef, 0x0e, 0x39, 0x30, 0xd5, 0x9e, 0x41, 0x2b, 0xd1, 0x8e, 0xb2, + 0x0e, 0xff, 0xd5, 0x19, 0x7e, 0xf4, 0x71, 0x39, 0x37, 0x93, 0x90, 0x37, 0x8a, 0x48, 0x04, 0x32, 0x48, 0x18, 0x9c, 0xc4, 0xa9, + 0x74, 0x17, 0x75, 0x7e, 0x0e, 0x7b, 0x76, 0x72, 0x34, 0xd9, 0xcb, 0x03, 0xdc, 0x75, 0x28, 0x9a, 0x99, 0x74, 0xbe, 0x3d, 0xf7, + 0x61, 0xa7, 0x56, 0xbe, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, - 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, - 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, - 0x30, 0x16, 0x80, 0x14, 0xb2, 0x1b, 0xea, 0x40, 0xab, 0xf2, 0xab, 0xa9, 0x56, 0xf9, 0x82, 0xe1, 0xda, 0xd2, 0xb6, 0x06, 0x92, - 0x06, 0x90, 0xe0, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, - 0x20, 0x58, 0x1a, 0x14, 0x96, 0x5d, 0x9b, 0x42, 0x10, 0x53, 0x12, 0xb3, 0x9f, 0x0c, 0xaa, 0x18, 0x98, 0xd5, 0x63, 0xdc, 0xc1, - 0xd6, 0xeb, 0x04, 0x86, 0xc2, 0xf8, 0x89, 0x2b, 0x20, 0x43, 0x3e, 0x61, 0x02, 0x21, 0x00, 0xb8, 0x4d, 0xcf, 0x33, 0x60, 0x8d, - 0xd5, 0x1c, 0x93, 0xe1, 0x27, 0x6c, 0x92, 0x37, 0xae, 0x6f, 0xe2, 0x06, 0x01, 0xdc, 0x3e, 0x6e, 0x9e, 0x02, 0xb1, 0xdc, 0x2b, - 0xd9, 0x3e, 0xd8, 0xf5, 0x4d, + 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, + 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x62, 0xbe, 0xb9, 0x67, 0x1c, 0x91, 0xc3, 0x55, 0xc8, 0x6f, 0x06, 0xfa, 0x6c, 0x08, 0x80, 0x14, 0x51, + 0xe1, 0xa0, 0xea, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, + 0x20, 0x6f, 0xfa, 0x73, 0xc0, 0x42, 0x6c, 0x9c, 0xab, 0x2d, 0xe6, 0x20, 0x76, 0xeb, 0xe2, 0x4b, 0x5e, 0x79, 0xe2, 0xbb, 0x98, + 0xf2, 0x14, 0xab, 0x6e, 0xe8, 0xf0, 0x43, 0x7c, 0x55, 0x7d, 0xe7, 0x43, 0x02, 0x21, 0x00, 0xc7, 0x53, 0xda, 0xe7, 0xdd, 0xf3, + 0xb0, 0x27, 0xc2, 0xf1, 0x3e, 0x23, 0xce, 0x3a, 0x3a, 0xb9, 0xd4, 0x34, 0xfc, 0x7e, 0xa1, 0x5b, 0xb9, 0xd6, 0x77, 0xc3, 0x6c, + 0x9c, 0x8b, 0x55, 0x15, 0x42, }; -extern const uint32_t sTestCert_ICA02_DER_Len = sizeof(sTestCert_ICA02_DER); +extern const size_t sTestCert_ICA02_DER_Len = sizeof(sTestCert_ICA02_DER); extern const uint8_t sTestCert_ICA02_PublicKey[] = { - 0x04, 0xfc, 0xfe, 0x1a, 0x0f, 0x49, 0x7d, 0xf8, 0xc7, 0xfa, 0xde, 0x82, 0x42, 0xee, 0xb4, 0x09, 0xe4, - 0x48, 0x50, 0xee, 0x52, 0xbc, 0xe0, 0x2b, 0x33, 0x1e, 0xab, 0x3e, 0xaf, 0x90, 0x0c, 0x42, 0x04, 0xd9, - 0xea, 0xa3, 0x17, 0x38, 0xe6, 0xde, 0x94, 0x83, 0x45, 0x28, 0xde, 0x9c, 0x35, 0x3f, 0x5e, 0x5b, 0x11, - 0xfb, 0x92, 0xdd, 0xdb, 0x64, 0x74, 0xda, 0xf6, 0x0e, 0x1f, 0xfe, 0x21, 0xf4, 0xd3, + 0x04, 0xfa, 0x9f, 0xd2, 0x8c, 0xb7, 0x6a, 0x77, 0xef, 0x0e, 0x39, 0x30, 0xd5, 0x9e, 0x41, 0x2b, 0xd1, + 0x8e, 0xb2, 0x0e, 0xff, 0xd5, 0x19, 0x7e, 0xf4, 0x71, 0x39, 0x37, 0x93, 0x90, 0x37, 0x8a, 0x48, 0x04, + 0x32, 0x48, 0x18, 0x9c, 0xc4, 0xa9, 0x74, 0x17, 0x75, 0x7e, 0x0e, 0x7b, 0x76, 0x72, 0x34, 0xd9, 0xcb, + 0x03, 0xdc, 0x75, 0x28, 0x9a, 0x99, 0x74, 0xbe, 0x3d, 0xf7, 0x61, 0xa7, 0x56, 0xbe, }; -extern const uint8_t sTestCert_ICA02_PublicKey_Len = sizeof(sTestCert_ICA02_PublicKey); +extern const size_t sTestCert_ICA02_PublicKey_Len = sizeof(sTestCert_ICA02_PublicKey); extern const uint8_t sTestCert_ICA02_PrivateKey[] = { - 0x2a, 0x83, 0x35, 0x57, 0x43, 0xaf, 0x04, 0xa3, 0x85, 0xc8, 0x0f, 0x97, 0x72, 0xde, 0xd0, 0x30, - 0x03, 0x54, 0x96, 0x1d, 0x84, 0xdc, 0x3b, 0x30, 0xc2, 0x8e, 0xe4, 0xfb, 0xc1, 0x75, 0x67, 0xfa, + 0xba, 0x76, 0x7a, 0xd5, 0x59, 0xe3, 0x15, 0xfb, 0xa7, 0x01, 0x98, 0xdd, 0x8f, 0xc9, 0x76, 0x20, + 0x83, 0x05, 0x94, 0xfa, 0x5e, 0xbb, 0x5a, 0xf0, 0x90, 0xf5, 0x8e, 0xff, 0x1b, 0x9d, 0x60, 0xa5, }; -extern const uint8_t sTestCert_ICA02_PrivateKey_Len = sizeof(sTestCert_ICA02_PrivateKey); +extern const size_t sTestCert_ICA02_PrivateKey_Len = sizeof(sTestCert_ICA02_PrivateKey); extern const uint8_t sTestCert_ICA02_SubjectKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_ICA02_SubjectKeyId_Len = sizeof(sTestCert_ICA02_SubjectKeyId); +extern const size_t sTestCert_ICA02_SubjectKeyId_Len = sizeof(sTestCert_ICA02_SubjectKeyId); extern const uint8_t sTestCert_ICA02_AuthorityKeyId[] = { - 0xB2, 0x1B, 0xEA, 0x40, 0xAB, 0xF2, 0xAB, 0xA9, 0x56, 0xF9, 0x82, 0xE1, 0xDA, 0xD2, 0xB6, 0x06, 0x92, 0x06, 0x90, 0xE0, + 0x62, 0xBE, 0xB9, 0x67, 0x1C, 0x91, 0xC3, 0x55, 0xC8, 0x6F, 0x06, 0xFA, 0x6C, 0x08, 0x80, 0x14, 0x51, 0xE1, 0xA0, 0xEA, }; -extern const uint8_t sTestCert_ICA02_AuthorityKeyId_Len = sizeof(sTestCert_ICA02_AuthorityKeyId); +extern const size_t sTestCert_ICA02_AuthorityKeyId_Len = sizeof(sTestCert_ICA02_AuthorityKeyId); /************** Test ICA01_1 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 4944100787284197233 (0x449cf97897cdbf71) + Serial Number: 3957838079739582840 (0x36ed10c395645978) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000001 Validity @@ -831,11 +837,11 @@ extern const uint8_t sTestCert_ICA02_AuthorityKeyId_Len = sizeof(sTestCert_ICA02 Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:9b:54:14:20:29:26:1b:a1:22:95:62:72:4c:66: - 7f:6a:0b:82:5c:fc:80:18:d9:50:24:13:71:82:4d: - 73:52:59:51:88:2a:12:d4:48:d5:ef:28:1c:cc:73: - 90:e3:bc:c6:41:b3:db:27:2a:37:4a:d0:22:ec:c3: - 4e:3d:2c:8d:7a + 04:e1:d5:3a:9c:25:7a:e3:2b:ab:05:77:89:06:03: + 13:91:b5:8a:df:9f:8a:b2:69:38:ad:eb:f1:39:6c: + f1:2c:4a:41:45:ba:d8:5e:92:eb:7f:3b:37:d5:da: + 69:d0:cf:60:4c:41:c4:96:4f:ad:2d:70:45:68:d6: + be:8c:af:da:ee ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -844,110 +850,110 @@ extern const uint8_t sTestCert_ICA02_AuthorityKeyId_Len = sizeof(sTestCert_ICA02 X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Subject Key Identifier: - 93:88:3C:64:9F:C1:7E:C1:2A:6A:1D:77:CF:B9:97:2A:55:9C:1A:D8 + 50:6F:C3:FC:B7:94:15:88:EA:73:6C:20:65:2E:5F:1B:11:70:1C:6A X509v3 Authority Key Identifier: - keyid:13:AF:81:AB:37:37:4B:2E:D2:A9:64:9B:12:B7:A3:A4:28:7E:15:1D + keyid:CC:13:08:AF:82:CF:EE:50:5E:B2:3B:57:BF:E8:6A:31:16:65:53:5F Signature Algorithm: ecdsa-with-SHA256 - 30:46:02:21:00:f7:81:3c:ac:a8:23:82:ec:45:45:1e:ed:2e: - 16:2d:40:99:f9:d6:bf:43:a6:7a:0e:6d:a2:a0:a3:e3:c8:b5: - 50:02:21:00:bc:8a:e4:d3:cc:1c:d0:4f:f7:56:ed:d9:fe:b3: - aa:89:6f:3d:db:d7:1a:e0:54:12:aa:06:61:af:42:7e:cb:57 + 30:45:02:21:00:e9:3b:4d:4b:8e:e1:66:9f:49:85:97:04:83: + e4:00:00:9e:d0:46:b3:4e:dc:11:8a:cd:b4:ed:ea:b6:21:71: + be:02:20:7e:80:d5:c2:98:5d:6c:6a:b2:55:c3:c4:ad:55:4c: + 72:70:04:8c:26:d6:e6:d3:e9:c2:e7:1f:b2:0a:f2:f0:fe -----BEGIN CERTIFICATE----- -MIIBnjCCAUOgAwIBAgIIRJz5eJfNv3EwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIBnTCCAUOgAwIBAgIINu0Qw5VkWXgwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDEwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjAiMSAwHgYKKwYBBAGConwBAwwQQ0FDQUNBQ0EwMDAwMDAwNTBZMBMG -ByqGSM49AgEGCCqGSM49AwEHA0IABJtUFCApJhuhIpVickxmf2oLglz8gBjZUCQT -cYJNc1JZUYgqEtRI1e8oHMxzkOO8xkGz2ycqN0rQIuzDTj0sjXqjYzBhMA8GA1Ud -EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSTiDxkn8F+wSpq -HXfPuZcqVZwa2DAfBgNVHSMEGDAWgBQTr4GrNzdLLtKpZJsSt6OkKH4VHTAKBggq -hkjOPQQDAgNJADBGAiEA94E8rKgjguxFRR7tLhYtQJn51r9DpnoObaKgo+PItVAC -IQC8iuTTzBzQT/dW7dn+s6qJbz3b1xrgVBKqBmGvQn7LVw== +ByqGSM49AgEGCCqGSM49AwEHA0IABOHVOpwleuMrqwV3iQYDE5G1it+firJpOK3r +8Tls8SxKQUW62F6S6387N9XaadDPYExBxJZPrS1wRWjWvoyv2u6jYzBhMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRQb8P8t5QViOpz +bCBlLl8bEXAcajAfBgNVHSMEGDAWgBTMEwivgs/uUF6yO1e/6GoxFmVTXzAKBggq +hkjOPQQDAgNIADBFAiEA6TtNS47hZp9JhZcEg+QAAJ7QRrNO3BGKzbTt6rYhcb4C +IH6A1cKYXWxqslXDxK1VTHJwBIwm1ubT6cLnH7IK8vD+ -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIH3ikExGQpvTymBLFf/9K8D4fLAj/EvRLZMPSw218YFXoAoGCCqGSM49 -AwEHoUQDQgAEm1QUICkmG6EilWJyTGZ/aguCXPyAGNlQJBNxgk1zUllRiCoS1EjV -7ygczHOQ47zGQbPbJyo3StAi7MNOPSyNeg== +MHcCAQEEIJPbzmpr+Ns8SpbdKC9MuPBrymFvuQCe1kpJD7Blg6+NoAoGCCqGSM49 +AwEHoUQDQgAE4dU6nCV64yurBXeJBgMTkbWK35+Ksmk4revxOWzxLEpBRbrYXpLr +fzs31dpp0M9gTEHElk+tLXBFaNa+jK/a7g== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_ICA01_1_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x44, 0x9c, 0xf9, 0x78, 0x97, 0xcd, 0xbf, 0x71, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x36, 0xed, 0x10, 0xc3, 0x95, 0x64, 0x59, 0x78, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x13, 0x05, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, - 0x9b, 0x54, 0x14, 0x20, 0x29, 0x26, 0x1b, 0xa1, 0x22, 0x95, 0x62, 0x72, 0x4c, 0x66, 0x7f, 0x6a, 0x0b, 0x82, 0x5c, 0xfc, 0x80, - 0x18, 0xd9, 0x50, 0x24, 0x13, 0x71, 0x82, 0x4d, 0x73, 0x52, 0x59, 0x51, 0x88, 0x2a, 0x12, 0xd4, 0x48, 0xd5, 0xef, 0x28, 0x1c, - 0xcc, 0x73, 0x90, 0xe3, 0xbc, 0xc6, 0x41, 0xb3, 0xdb, 0x27, 0x2a, 0x37, 0x4a, 0xd0, 0x22, 0xec, 0xc3, 0x4e, 0x3d, 0x2c, 0x8d, - 0x7a, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0x93, 0x88, 0x3c, 0x64, 0x9f, 0xc1, 0x7e, - 0xc1, 0x2a, 0x6a, 0x1d, 0x77, 0xcf, 0xb9, 0x97, 0x2a, 0x55, 0x9c, 0x1a, 0xd8, 0x30, 0x05, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, - 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x18, 0x30, 0x0b, 0x40, 0xf7, 0x81, - 0x3c, 0xac, 0xa8, 0x23, 0x82, 0xec, 0x45, 0x45, 0x1e, 0xed, 0x2e, 0x16, 0x2d, 0x40, 0x99, 0xf9, 0xd6, 0xbf, 0x43, 0xa6, 0x7a, - 0x0e, 0x6d, 0xa2, 0xa0, 0xa3, 0xe3, 0xc8, 0xb5, 0x50, 0xbc, 0x8a, 0xe4, 0xd3, 0xcc, 0x1c, 0xd0, 0x4f, 0xf7, 0x56, 0xed, 0xd9, - 0xfe, 0xb3, 0xaa, 0x89, 0x6f, 0x3d, 0xdb, 0xd7, 0x1a, 0xe0, 0x54, 0x12, 0xaa, 0x06, 0x61, 0xaf, 0x42, 0x7e, 0xcb, 0x57, 0x18, + 0xe1, 0xd5, 0x3a, 0x9c, 0x25, 0x7a, 0xe3, 0x2b, 0xab, 0x05, 0x77, 0x89, 0x06, 0x03, 0x13, 0x91, 0xb5, 0x8a, 0xdf, 0x9f, 0x8a, + 0xb2, 0x69, 0x38, 0xad, 0xeb, 0xf1, 0x39, 0x6c, 0xf1, 0x2c, 0x4a, 0x41, 0x45, 0xba, 0xd8, 0x5e, 0x92, 0xeb, 0x7f, 0x3b, 0x37, + 0xd5, 0xda, 0x69, 0xd0, 0xcf, 0x60, 0x4c, 0x41, 0xc4, 0x96, 0x4f, 0xad, 0x2d, 0x70, 0x45, 0x68, 0xd6, 0xbe, 0x8c, 0xaf, 0xda, + 0xee, 0x37, 0x0a, 0x35, 0x01, 0x29, 0x01, 0x18, 0x24, 0x02, 0x60, 0x30, 0x04, 0x14, 0x50, 0x6f, 0xc3, 0xfc, 0xb7, 0x94, 0x15, + 0x88, 0xea, 0x73, 0x6c, 0x20, 0x65, 0x2e, 0x5f, 0x1b, 0x11, 0x70, 0x1c, 0x6a, 0x30, 0x05, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, + 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x18, 0x30, 0x0b, 0x40, 0xe9, 0x3b, + 0x4d, 0x4b, 0x8e, 0xe1, 0x66, 0x9f, 0x49, 0x85, 0x97, 0x04, 0x83, 0xe4, 0x00, 0x00, 0x9e, 0xd0, 0x46, 0xb3, 0x4e, 0xdc, 0x11, + 0x8a, 0xcd, 0xb4, 0xed, 0xea, 0xb6, 0x21, 0x71, 0xbe, 0x7e, 0x80, 0xd5, 0xc2, 0x98, 0x5d, 0x6c, 0x6a, 0xb2, 0x55, 0xc3, 0xc4, + 0xad, 0x55, 0x4c, 0x72, 0x70, 0x04, 0x8c, 0x26, 0xd6, 0xe6, 0xd3, 0xe9, 0xc2, 0xe7, 0x1f, 0xb2, 0x0a, 0xf2, 0xf0, 0xfe, 0x18, }; -extern const uint32_t sTestCert_ICA01_1_Chip_Len = sizeof(sTestCert_ICA01_1_Chip); +extern const size_t sTestCert_ICA01_1_Chip_Len = sizeof(sTestCert_ICA01_1_Chip); extern const uint8_t sTestCert_ICA01_1_DER[] = { - 0x30, 0x82, 0x01, 0x9e, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x44, 0x9c, 0xf9, 0x78, 0x97, 0xcd, - 0xbf, 0x71, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0x9d, 0x30, 0x82, 0x01, 0x43, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x36, 0xed, 0x10, 0xc3, 0x95, 0x64, + 0x59, 0x78, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x9b, 0x54, - 0x14, 0x20, 0x29, 0x26, 0x1b, 0xa1, 0x22, 0x95, 0x62, 0x72, 0x4c, 0x66, 0x7f, 0x6a, 0x0b, 0x82, 0x5c, 0xfc, 0x80, 0x18, 0xd9, - 0x50, 0x24, 0x13, 0x71, 0x82, 0x4d, 0x73, 0x52, 0x59, 0x51, 0x88, 0x2a, 0x12, 0xd4, 0x48, 0xd5, 0xef, 0x28, 0x1c, 0xcc, 0x73, - 0x90, 0xe3, 0xbc, 0xc6, 0x41, 0xb3, 0xdb, 0x27, 0x2a, 0x37, 0x4a, 0xd0, 0x22, 0xec, 0xc3, 0x4e, 0x3d, 0x2c, 0x8d, 0x7a, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xe1, 0xd5, + 0x3a, 0x9c, 0x25, 0x7a, 0xe3, 0x2b, 0xab, 0x05, 0x77, 0x89, 0x06, 0x03, 0x13, 0x91, 0xb5, 0x8a, 0xdf, 0x9f, 0x8a, 0xb2, 0x69, + 0x38, 0xad, 0xeb, 0xf1, 0x39, 0x6c, 0xf1, 0x2c, 0x4a, 0x41, 0x45, 0xba, 0xd8, 0x5e, 0x92, 0xeb, 0x7f, 0x3b, 0x37, 0xd5, 0xda, + 0x69, 0xd0, 0xcf, 0x60, 0x4c, 0x41, 0xc4, 0x96, 0x4f, 0xad, 0x2d, 0x70, 0x45, 0x68, 0xd6, 0xbe, 0x8c, 0xaf, 0xda, 0xee, 0xa3, 0x63, 0x30, 0x61, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, - 0x0e, 0x04, 0x16, 0x04, 0x14, 0x93, 0x88, 0x3c, 0x64, 0x9f, 0xc1, 0x7e, 0xc1, 0x2a, 0x6a, 0x1d, 0x77, 0xcf, 0xb9, 0x97, 0x2a, - 0x55, 0x9c, 0x1a, 0xd8, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x13, 0xaf, 0x81, 0xab, - 0x37, 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x30, 0x0a, 0x06, 0x08, 0x2a, - 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xf7, 0x81, 0x3c, 0xac, 0xa8, 0x23, - 0x82, 0xec, 0x45, 0x45, 0x1e, 0xed, 0x2e, 0x16, 0x2d, 0x40, 0x99, 0xf9, 0xd6, 0xbf, 0x43, 0xa6, 0x7a, 0x0e, 0x6d, 0xa2, 0xa0, - 0xa3, 0xe3, 0xc8, 0xb5, 0x50, 0x02, 0x21, 0x00, 0xbc, 0x8a, 0xe4, 0xd3, 0xcc, 0x1c, 0xd0, 0x4f, 0xf7, 0x56, 0xed, 0xd9, 0xfe, - 0xb3, 0xaa, 0x89, 0x6f, 0x3d, 0xdb, 0xd7, 0x1a, 0xe0, 0x54, 0x12, 0xaa, 0x06, 0x61, 0xaf, 0x42, 0x7e, 0xcb, 0x57, + 0x0e, 0x04, 0x16, 0x04, 0x14, 0x50, 0x6f, 0xc3, 0xfc, 0xb7, 0x94, 0x15, 0x88, 0xea, 0x73, 0x6c, 0x20, 0x65, 0x2e, 0x5f, 0x1b, + 0x11, 0x70, 0x1c, 0x6a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcc, 0x13, 0x08, 0xaf, + 0x82, 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x30, 0x0a, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xe9, 0x3b, 0x4d, 0x4b, 0x8e, 0xe1, + 0x66, 0x9f, 0x49, 0x85, 0x97, 0x04, 0x83, 0xe4, 0x00, 0x00, 0x9e, 0xd0, 0x46, 0xb3, 0x4e, 0xdc, 0x11, 0x8a, 0xcd, 0xb4, 0xed, + 0xea, 0xb6, 0x21, 0x71, 0xbe, 0x02, 0x20, 0x7e, 0x80, 0xd5, 0xc2, 0x98, 0x5d, 0x6c, 0x6a, 0xb2, 0x55, 0xc3, 0xc4, 0xad, 0x55, + 0x4c, 0x72, 0x70, 0x04, 0x8c, 0x26, 0xd6, 0xe6, 0xd3, 0xe9, 0xc2, 0xe7, 0x1f, 0xb2, 0x0a, 0xf2, 0xf0, 0xfe, }; -extern const uint32_t sTestCert_ICA01_1_DER_Len = sizeof(sTestCert_ICA01_1_DER); +extern const size_t sTestCert_ICA01_1_DER_Len = sizeof(sTestCert_ICA01_1_DER); extern const uint8_t sTestCert_ICA01_1_PublicKey[] = { - 0x04, 0x9b, 0x54, 0x14, 0x20, 0x29, 0x26, 0x1b, 0xa1, 0x22, 0x95, 0x62, 0x72, 0x4c, 0x66, 0x7f, 0x6a, - 0x0b, 0x82, 0x5c, 0xfc, 0x80, 0x18, 0xd9, 0x50, 0x24, 0x13, 0x71, 0x82, 0x4d, 0x73, 0x52, 0x59, 0x51, - 0x88, 0x2a, 0x12, 0xd4, 0x48, 0xd5, 0xef, 0x28, 0x1c, 0xcc, 0x73, 0x90, 0xe3, 0xbc, 0xc6, 0x41, 0xb3, - 0xdb, 0x27, 0x2a, 0x37, 0x4a, 0xd0, 0x22, 0xec, 0xc3, 0x4e, 0x3d, 0x2c, 0x8d, 0x7a, + 0x04, 0xe1, 0xd5, 0x3a, 0x9c, 0x25, 0x7a, 0xe3, 0x2b, 0xab, 0x05, 0x77, 0x89, 0x06, 0x03, 0x13, 0x91, + 0xb5, 0x8a, 0xdf, 0x9f, 0x8a, 0xb2, 0x69, 0x38, 0xad, 0xeb, 0xf1, 0x39, 0x6c, 0xf1, 0x2c, 0x4a, 0x41, + 0x45, 0xba, 0xd8, 0x5e, 0x92, 0xeb, 0x7f, 0x3b, 0x37, 0xd5, 0xda, 0x69, 0xd0, 0xcf, 0x60, 0x4c, 0x41, + 0xc4, 0x96, 0x4f, 0xad, 0x2d, 0x70, 0x45, 0x68, 0xd6, 0xbe, 0x8c, 0xaf, 0xda, 0xee, }; -extern const uint8_t sTestCert_ICA01_1_PublicKey_Len = sizeof(sTestCert_ICA01_1_PublicKey); +extern const size_t sTestCert_ICA01_1_PublicKey_Len = sizeof(sTestCert_ICA01_1_PublicKey); extern const uint8_t sTestCert_ICA01_1_PrivateKey[] = { - 0x7d, 0xe2, 0x90, 0x4c, 0x46, 0x42, 0x9b, 0xd3, 0xca, 0x60, 0x4b, 0x15, 0xff, 0xfd, 0x2b, 0xc0, - 0xf8, 0x7c, 0xb0, 0x23, 0xfc, 0x4b, 0xd1, 0x2d, 0x93, 0x0f, 0x4b, 0x0d, 0xb5, 0xf1, 0x81, 0x57, + 0x93, 0xdb, 0xce, 0x6a, 0x6b, 0xf8, 0xdb, 0x3c, 0x4a, 0x96, 0xdd, 0x28, 0x2f, 0x4c, 0xb8, 0xf0, + 0x6b, 0xca, 0x61, 0x6f, 0xb9, 0x00, 0x9e, 0xd6, 0x4a, 0x49, 0x0f, 0xb0, 0x65, 0x83, 0xaf, 0x8d, }; -extern const uint8_t sTestCert_ICA01_1_PrivateKey_Len = sizeof(sTestCert_ICA01_1_PrivateKey); +extern const size_t sTestCert_ICA01_1_PrivateKey_Len = sizeof(sTestCert_ICA01_1_PrivateKey); extern const uint8_t sTestCert_ICA01_1_SubjectKeyId[] = { - 0x93, 0x88, 0x3C, 0x64, 0x9F, 0xC1, 0x7E, 0xC1, 0x2A, 0x6A, 0x1D, 0x77, 0xCF, 0xB9, 0x97, 0x2A, 0x55, 0x9C, 0x1A, 0xD8, + 0x50, 0x6F, 0xC3, 0xFC, 0xB7, 0x94, 0x15, 0x88, 0xEA, 0x73, 0x6C, 0x20, 0x65, 0x2E, 0x5F, 0x1B, 0x11, 0x70, 0x1C, 0x6A, }; -extern const uint8_t sTestCert_ICA01_1_SubjectKeyId_Len = sizeof(sTestCert_ICA01_1_SubjectKeyId); +extern const size_t sTestCert_ICA01_1_SubjectKeyId_Len = sizeof(sTestCert_ICA01_1_SubjectKeyId); extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId[] = { - 0x13, 0xAF, 0x81, 0xAB, 0x37, 0x37, 0x4B, 0x2E, 0xD2, 0xA9, 0x64, 0x9B, 0x12, 0xB7, 0xA3, 0xA4, 0x28, 0x7E, 0x15, 0x1D, + 0xCC, 0x13, 0x08, 0xAF, 0x82, 0xCF, 0xEE, 0x50, 0x5E, 0xB2, 0x3B, 0x57, 0xBF, 0xE8, 0x6A, 0x31, 0x16, 0x65, 0x53, 0x5F, }; -extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId_Len = sizeof(sTestCert_ICA01_1_AuthorityKeyId); +extern const size_t sTestCert_ICA01_1_AuthorityKeyId_Len = sizeof(sTestCert_ICA01_1_AuthorityKeyId); /************** Test FWSign01 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 7114055507392117267 (0x62ba33cac684ba13) + Serial Number: 8818095388640854520 (0x7a602b092372c1f8) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000005 Validity @@ -958,11 +964,11 @@ extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId_Len = sizeof(sTestCert_ICA Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:e1:81:d9:cf:f5:16:d6:e0:f6:e1:70:3c:40:4a: - ef:fe:96:09:64:87:9e:c8:4f:25:39:92:ce:db:2a: - e6:44:a8:63:05:31:6f:69:e2:c6:56:bd:cc:9b:10: - 29:68:3f:0b:af:97:28:2e:1c:ee:89:3b:cc:f3:56: - fb:86:e6:e3:64 + 04:fd:2a:e4:0a:74:7c:6d:5a:c6:c8:dc:79:61:2b: + 9a:85:3c:3e:0f:b4:1c:94:ff:08:5b:4e:1d:02:24: + 85:98:65:ea:6c:7d:67:bb:88:84:34:a6:0d:42:0f: + d2:b9:9e:94:2b:6a:f8:a5:0f:12:76:53:5c:4f:f0: + 32:61:79:dd:78 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -973,58 +979,58 @@ extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId_Len = sizeof(sTestCert_ICA X509v3 Extended Key Usage: critical Code Signing X509v3 Subject Key Identifier: - 91:5B:BB:66:70:1F:63:1B:86:5D:40:51:A4:E0:0E:CD:7C:06:B0:0C + 52:25:D5:83:FB:71:8A:7C:64:51:FD:AF:92:2A:CD:2D:36:10:05:C7 X509v3 Authority Key Identifier: - keyid:93:88:3C:64:9F:C1:7E:C1:2A:6A:1D:77:CF:B9:97:2A:55:9C:1A:D8 + keyid:50:6F:C3:FC:B7:94:15:88:EA:73:6C:20:65:2E:5F:1B:11:70:1C:6A Signature Algorithm: ecdsa-with-SHA256 - 30:44:02:20:28:1b:51:a9:11:5c:11:ce:ff:f2:e9:d7:58:d9: - 16:92:db:c3:1d:14:89:4c:a1:35:67:fe:30:75:c4:44:71:e9: - 02:20:5c:d3:9b:f9:5d:21:46:c0:99:5e:b0:e0:5c:14:a1:3c: - 69:5f:1d:f2:0f:2c:7a:7d:48:58:c5:f4:c7:1d:68:95 + 30:46:02:21:00:ed:3e:a4:16:ed:19:69:0d:e5:2b:38:66:6d: + 5a:7b:e6:e6:62:09:af:29:4e:a4:63:b4:95:1c:ad:d7:c4:6f: + 5a:02:21:00:a7:4a:4d:56:0f:89:7d:53:65:a8:9f:de:38:f3: + f9:11:72:48:39:1c:f5:bc:76:16:f6:99:08:59:33:d5:63:c9 -----BEGIN CERTIFICATE----- -MIIByzCCAXKgAwIBAgIIYrozysaEuhMwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIBzTCCAXKgAwIBAgIIemArCSNywfgwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDUwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjA8MSAwHgYKKwYBBAGConwBAgwQRkZGRkZGRkYwMDAwMDAwMTEYMBYG A1UEAwwPRlcgU0lHTiBDRVJUIDAxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE -4YHZz/UW1uD24XA8QErv/pYJZIeeyE8lOZLO2yrmRKhjBTFvaeLGVr3MmxApaD8L -r5coLhzuiTvM81b7hubjZKN4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC -B4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFJFbu2ZwH2Mbhl1A -UaTgDs18BrAMMB8GA1UdIwQYMBaAFJOIPGSfwX7BKmodd8+5lypVnBrYMAoGCCqG -SM49BAMCA0cAMEQCICgbUakRXBHO//Lp11jZFpLbwx0UiUyhNWf+MHXERHHpAiBc -05v5XSFGwJlesOBcFKE8aV8d8g8sen1IWMX0xx1olQ== +/SrkCnR8bVrGyNx5YSuahTw+D7QclP8IW04dAiSFmGXqbH1nu4iENKYNQg/SuZ6U +K2r4pQ8SdlNcT/AyYXndeKN4MHYwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC +B4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFFIl1YP7cYp8ZFH9 +r5IqzS02EAXHMB8GA1UdIwQYMBaAFFBvw/y3lBWI6nNsIGUuXxsRcBxqMAoGCCqG +SM49BAMCA0kAMEYCIQDtPqQW7RlpDeUrOGZtWnvm5mIJrylOpGO0lRyt18RvWgIh +AKdKTVYPiX1TZaif3jjz+RFySDkc9bx2FvaZCFkz1WPJ -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEII8chAINodENL5Z6hVn4oIsm+luGPuyHxc4v3h4kdjjyoAoGCCqGSM49 -AwEHoUQDQgAE4YHZz/UW1uD24XA8QErv/pYJZIeeyE8lOZLO2yrmRKhjBTFvaeLG -Vr3MmxApaD8Lr5coLhzuiTvM81b7hubjZA== +MHcCAQEEIGHzoGacIS0jn3F7zq4ipXOVSm+SFTejhUInbbswiS3goAoGCCqGSM49 +AwEHoUQDQgAE/SrkCnR8bVrGyNx5YSuahTw+D7QclP8IW04dAiSFmGXqbH1nu4iE +NKYNQg/SuZ6UK2r4pQ8SdlNcT/AyYXndeA== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_FWSign01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x62, 0xba, 0x33, 0xca, 0xc6, 0x84, 0xba, 0x13, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x05, + 0x15, 0x30, 0x01, 0x08, 0x7a, 0x60, 0x2b, 0x09, 0x23, 0x72, 0xc1, 0xf8, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x05, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x12, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x2c, 0x01, 0x0f, 0x46, 0x57, 0x20, 0x53, 0x49, 0x47, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x20, 0x30, 0x31, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, - 0x04, 0xe1, 0x81, 0xd9, 0xcf, 0xf5, 0x16, 0xd6, 0xe0, 0xf6, 0xe1, 0x70, 0x3c, 0x40, 0x4a, 0xef, 0xfe, 0x96, 0x09, 0x64, - 0x87, 0x9e, 0xc8, 0x4f, 0x25, 0x39, 0x92, 0xce, 0xdb, 0x2a, 0xe6, 0x44, 0xa8, 0x63, 0x05, 0x31, 0x6f, 0x69, 0xe2, 0xc6, - 0x56, 0xbd, 0xcc, 0x9b, 0x10, 0x29, 0x68, 0x3f, 0x0b, 0xaf, 0x97, 0x28, 0x2e, 0x1c, 0xee, 0x89, 0x3b, 0xcc, 0xf3, 0x56, - 0xfb, 0x86, 0xe6, 0xe3, 0x64, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x03, 0x18, - 0x30, 0x04, 0x14, 0x91, 0x5b, 0xbb, 0x66, 0x70, 0x1f, 0x63, 0x1b, 0x86, 0x5d, 0x40, 0x51, 0xa4, 0xe0, 0x0e, 0xcd, 0x7c, - 0x06, 0xb0, 0x0c, 0x30, 0x05, 0x14, 0x93, 0x88, 0x3c, 0x64, 0x9f, 0xc1, 0x7e, 0xc1, 0x2a, 0x6a, 0x1d, 0x77, 0xcf, 0xb9, - 0x97, 0x2a, 0x55, 0x9c, 0x1a, 0xd8, 0x18, 0x30, 0x0b, 0x40, 0x28, 0x1b, 0x51, 0xa9, 0x11, 0x5c, 0x11, 0xce, 0xff, 0xf2, - 0xe9, 0xd7, 0x58, 0xd9, 0x16, 0x92, 0xdb, 0xc3, 0x1d, 0x14, 0x89, 0x4c, 0xa1, 0x35, 0x67, 0xfe, 0x30, 0x75, 0xc4, 0x44, - 0x71, 0xe9, 0x5c, 0xd3, 0x9b, 0xf9, 0x5d, 0x21, 0x46, 0xc0, 0x99, 0x5e, 0xb0, 0xe0, 0x5c, 0x14, 0xa1, 0x3c, 0x69, 0x5f, - 0x1d, 0xf2, 0x0f, 0x2c, 0x7a, 0x7d, 0x48, 0x58, 0xc5, 0xf4, 0xc7, 0x1d, 0x68, 0x95, 0x18, + 0x04, 0xfd, 0x2a, 0xe4, 0x0a, 0x74, 0x7c, 0x6d, 0x5a, 0xc6, 0xc8, 0xdc, 0x79, 0x61, 0x2b, 0x9a, 0x85, 0x3c, 0x3e, 0x0f, + 0xb4, 0x1c, 0x94, 0xff, 0x08, 0x5b, 0x4e, 0x1d, 0x02, 0x24, 0x85, 0x98, 0x65, 0xea, 0x6c, 0x7d, 0x67, 0xbb, 0x88, 0x84, + 0x34, 0xa6, 0x0d, 0x42, 0x0f, 0xd2, 0xb9, 0x9e, 0x94, 0x2b, 0x6a, 0xf8, 0xa5, 0x0f, 0x12, 0x76, 0x53, 0x5c, 0x4f, 0xf0, + 0x32, 0x61, 0x79, 0xdd, 0x78, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x03, 0x18, + 0x30, 0x04, 0x14, 0x52, 0x25, 0xd5, 0x83, 0xfb, 0x71, 0x8a, 0x7c, 0x64, 0x51, 0xfd, 0xaf, 0x92, 0x2a, 0xcd, 0x2d, 0x36, + 0x10, 0x05, 0xc7, 0x30, 0x05, 0x14, 0x50, 0x6f, 0xc3, 0xfc, 0xb7, 0x94, 0x15, 0x88, 0xea, 0x73, 0x6c, 0x20, 0x65, 0x2e, + 0x5f, 0x1b, 0x11, 0x70, 0x1c, 0x6a, 0x18, 0x30, 0x0b, 0x40, 0xed, 0x3e, 0xa4, 0x16, 0xed, 0x19, 0x69, 0x0d, 0xe5, 0x2b, + 0x38, 0x66, 0x6d, 0x5a, 0x7b, 0xe6, 0xe6, 0x62, 0x09, 0xaf, 0x29, 0x4e, 0xa4, 0x63, 0xb4, 0x95, 0x1c, 0xad, 0xd7, 0xc4, + 0x6f, 0x5a, 0xa7, 0x4a, 0x4d, 0x56, 0x0f, 0x89, 0x7d, 0x53, 0x65, 0xa8, 0x9f, 0xde, 0x38, 0xf3, 0xf9, 0x11, 0x72, 0x48, + 0x39, 0x1c, 0xf5, 0xbc, 0x76, 0x16, 0xf6, 0x99, 0x08, 0x59, 0x33, 0xd5, 0x63, 0xc9, 0x18, }; -extern const uint32_t sTestCert_FWSign01_Chip_Len = sizeof(sTestCert_FWSign01_Chip); +extern const size_t sTestCert_FWSign01_Chip_Len = sizeof(sTestCert_FWSign01_Chip); extern const uint8_t sTestCert_FWSign01_DER[] = { - 0x30, 0x82, 0x01, 0xcb, 0x30, 0x82, 0x01, 0x72, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x62, 0xba, 0x33, 0xca, 0xc6, 0x84, - 0xba, 0x13, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0xcd, 0x30, 0x82, 0x01, 0x72, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x7a, 0x60, 0x2b, 0x09, 0x23, 0x72, + 0xc1, 0xf8, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x3c, @@ -1032,57 +1038,57 @@ extern const uint8_t sTestCert_FWSign01_DER[] = { 0x46, 0x46, 0x46, 0x46, 0x46, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x46, 0x57, 0x20, 0x53, 0x49, 0x47, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x20, 0x30, 0x31, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0xe1, 0x81, 0xd9, 0xcf, 0xf5, 0x16, 0xd6, 0xe0, 0xf6, 0xe1, 0x70, 0x3c, 0x40, 0x4a, 0xef, 0xfe, 0x96, 0x09, - 0x64, 0x87, 0x9e, 0xc8, 0x4f, 0x25, 0x39, 0x92, 0xce, 0xdb, 0x2a, 0xe6, 0x44, 0xa8, 0x63, 0x05, 0x31, 0x6f, 0x69, 0xe2, 0xc6, - 0x56, 0xbd, 0xcc, 0x9b, 0x10, 0x29, 0x68, 0x3f, 0x0b, 0xaf, 0x97, 0x28, 0x2e, 0x1c, 0xee, 0x89, 0x3b, 0xcc, 0xf3, 0x56, 0xfb, - 0x86, 0xe6, 0xe3, 0x64, 0xa3, 0x78, 0x30, 0x76, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, + 0x42, 0x00, 0x04, 0xfd, 0x2a, 0xe4, 0x0a, 0x74, 0x7c, 0x6d, 0x5a, 0xc6, 0xc8, 0xdc, 0x79, 0x61, 0x2b, 0x9a, 0x85, 0x3c, 0x3e, + 0x0f, 0xb4, 0x1c, 0x94, 0xff, 0x08, 0x5b, 0x4e, 0x1d, 0x02, 0x24, 0x85, 0x98, 0x65, 0xea, 0x6c, 0x7d, 0x67, 0xbb, 0x88, 0x84, + 0x34, 0xa6, 0x0d, 0x42, 0x0f, 0xd2, 0xb9, 0x9e, 0x94, 0x2b, 0x6a, 0xf8, 0xa5, 0x0f, 0x12, 0x76, 0x53, 0x5c, 0x4f, 0xf0, 0x32, + 0x61, 0x79, 0xdd, 0x78, 0xa3, 0x78, 0x30, 0x76, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x16, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x03, 0x30, - 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x91, 0x5b, 0xbb, 0x66, 0x70, 0x1f, 0x63, 0x1b, 0x86, 0x5d, 0x40, - 0x51, 0xa4, 0xe0, 0x0e, 0xcd, 0x7c, 0x06, 0xb0, 0x0c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, - 0x14, 0x93, 0x88, 0x3c, 0x64, 0x9f, 0xc1, 0x7e, 0xc1, 0x2a, 0x6a, 0x1d, 0x77, 0xcf, 0xb9, 0x97, 0x2a, 0x55, 0x9c, 0x1a, 0xd8, - 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x28, 0x1b, - 0x51, 0xa9, 0x11, 0x5c, 0x11, 0xce, 0xff, 0xf2, 0xe9, 0xd7, 0x58, 0xd9, 0x16, 0x92, 0xdb, 0xc3, 0x1d, 0x14, 0x89, 0x4c, 0xa1, - 0x35, 0x67, 0xfe, 0x30, 0x75, 0xc4, 0x44, 0x71, 0xe9, 0x02, 0x20, 0x5c, 0xd3, 0x9b, 0xf9, 0x5d, 0x21, 0x46, 0xc0, 0x99, 0x5e, - 0xb0, 0xe0, 0x5c, 0x14, 0xa1, 0x3c, 0x69, 0x5f, 0x1d, 0xf2, 0x0f, 0x2c, 0x7a, 0x7d, 0x48, 0x58, 0xc5, 0xf4, 0xc7, 0x1d, 0x68, - 0x95, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x52, 0x25, 0xd5, 0x83, 0xfb, 0x71, 0x8a, 0x7c, 0x64, 0x51, 0xfd, + 0xaf, 0x92, 0x2a, 0xcd, 0x2d, 0x36, 0x10, 0x05, 0xc7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0x50, 0x6f, 0xc3, 0xfc, 0xb7, 0x94, 0x15, 0x88, 0xea, 0x73, 0x6c, 0x20, 0x65, 0x2e, 0x5f, 0x1b, 0x11, 0x70, 0x1c, 0x6a, + 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xed, + 0x3e, 0xa4, 0x16, 0xed, 0x19, 0x69, 0x0d, 0xe5, 0x2b, 0x38, 0x66, 0x6d, 0x5a, 0x7b, 0xe6, 0xe6, 0x62, 0x09, 0xaf, 0x29, 0x4e, + 0xa4, 0x63, 0xb4, 0x95, 0x1c, 0xad, 0xd7, 0xc4, 0x6f, 0x5a, 0x02, 0x21, 0x00, 0xa7, 0x4a, 0x4d, 0x56, 0x0f, 0x89, 0x7d, 0x53, + 0x65, 0xa8, 0x9f, 0xde, 0x38, 0xf3, 0xf9, 0x11, 0x72, 0x48, 0x39, 0x1c, 0xf5, 0xbc, 0x76, 0x16, 0xf6, 0x99, 0x08, 0x59, 0x33, + 0xd5, 0x63, 0xc9, }; -extern const uint32_t sTestCert_FWSign01_DER_Len = sizeof(sTestCert_FWSign01_DER); +extern const size_t sTestCert_FWSign01_DER_Len = sizeof(sTestCert_FWSign01_DER); extern const uint8_t sTestCert_FWSign01_PublicKey[] = { - 0x04, 0xe1, 0x81, 0xd9, 0xcf, 0xf5, 0x16, 0xd6, 0xe0, 0xf6, 0xe1, 0x70, 0x3c, 0x40, 0x4a, 0xef, 0xfe, - 0x96, 0x09, 0x64, 0x87, 0x9e, 0xc8, 0x4f, 0x25, 0x39, 0x92, 0xce, 0xdb, 0x2a, 0xe6, 0x44, 0xa8, 0x63, - 0x05, 0x31, 0x6f, 0x69, 0xe2, 0xc6, 0x56, 0xbd, 0xcc, 0x9b, 0x10, 0x29, 0x68, 0x3f, 0x0b, 0xaf, 0x97, - 0x28, 0x2e, 0x1c, 0xee, 0x89, 0x3b, 0xcc, 0xf3, 0x56, 0xfb, 0x86, 0xe6, 0xe3, 0x64, + 0x04, 0xfd, 0x2a, 0xe4, 0x0a, 0x74, 0x7c, 0x6d, 0x5a, 0xc6, 0xc8, 0xdc, 0x79, 0x61, 0x2b, 0x9a, 0x85, + 0x3c, 0x3e, 0x0f, 0xb4, 0x1c, 0x94, 0xff, 0x08, 0x5b, 0x4e, 0x1d, 0x02, 0x24, 0x85, 0x98, 0x65, 0xea, + 0x6c, 0x7d, 0x67, 0xbb, 0x88, 0x84, 0x34, 0xa6, 0x0d, 0x42, 0x0f, 0xd2, 0xb9, 0x9e, 0x94, 0x2b, 0x6a, + 0xf8, 0xa5, 0x0f, 0x12, 0x76, 0x53, 0x5c, 0x4f, 0xf0, 0x32, 0x61, 0x79, 0xdd, 0x78, }; -extern const uint8_t sTestCert_FWSign01_PublicKey_Len = sizeof(sTestCert_FWSign01_PublicKey); +extern const size_t sTestCert_FWSign01_PublicKey_Len = sizeof(sTestCert_FWSign01_PublicKey); extern const uint8_t sTestCert_FWSign01_PrivateKey[] = { - 0x8f, 0x1c, 0x84, 0x02, 0x0d, 0xa1, 0xd1, 0x0d, 0x2f, 0x96, 0x7a, 0x85, 0x59, 0xf8, 0xa0, 0x8b, - 0x26, 0xfa, 0x5b, 0x86, 0x3e, 0xec, 0x87, 0xc5, 0xce, 0x2f, 0xde, 0x1e, 0x24, 0x76, 0x38, 0xf2, + 0x61, 0xf3, 0xa0, 0x66, 0x9c, 0x21, 0x2d, 0x23, 0x9f, 0x71, 0x7b, 0xce, 0xae, 0x22, 0xa5, 0x73, + 0x95, 0x4a, 0x6f, 0x92, 0x15, 0x37, 0xa3, 0x85, 0x42, 0x27, 0x6d, 0xbb, 0x30, 0x89, 0x2d, 0xe0, }; -extern const uint8_t sTestCert_FWSign01_PrivateKey_Len = sizeof(sTestCert_FWSign01_PrivateKey); +extern const size_t sTestCert_FWSign01_PrivateKey_Len = sizeof(sTestCert_FWSign01_PrivateKey); extern const uint8_t sTestCert_FWSign01_SubjectKeyId[] = { - 0x91, 0x5B, 0xBB, 0x66, 0x70, 0x1F, 0x63, 0x1B, 0x86, 0x5D, 0x40, 0x51, 0xA4, 0xE0, 0x0E, 0xCD, 0x7C, 0x06, 0xB0, 0x0C, + 0x52, 0x25, 0xD5, 0x83, 0xFB, 0x71, 0x8A, 0x7C, 0x64, 0x51, 0xFD, 0xAF, 0x92, 0x2A, 0xCD, 0x2D, 0x36, 0x10, 0x05, 0xC7, }; -extern const uint8_t sTestCert_FWSign01_SubjectKeyId_Len = sizeof(sTestCert_FWSign01_SubjectKeyId); +extern const size_t sTestCert_FWSign01_SubjectKeyId_Len = sizeof(sTestCert_FWSign01_SubjectKeyId); extern const uint8_t sTestCert_FWSign01_AuthorityKeyId[] = { - 0x93, 0x88, 0x3C, 0x64, 0x9F, 0xC1, 0x7E, 0xC1, 0x2A, 0x6A, 0x1D, 0x77, 0xCF, 0xB9, 0x97, 0x2A, 0x55, 0x9C, 0x1A, 0xD8, + 0x50, 0x6F, 0xC3, 0xFC, 0xB7, 0x94, 0x15, 0x88, 0xEA, 0x73, 0x6C, 0x20, 0x65, 0x2E, 0x5F, 0x1B, 0x11, 0x70, 0x1C, 0x6A, }; -extern const uint8_t sTestCert_FWSign01_AuthorityKeyId_Len = sizeof(sTestCert_FWSign01_AuthorityKeyId); +extern const size_t sTestCert_FWSign01_AuthorityKeyId_Len = sizeof(sTestCert_FWSign01_AuthorityKeyId); /************** Test Node01_01 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 4538782998777667962 (0x3efcff1702b9a17a) + Serial Number: 1795082174304132643 (0x18e969ba0e089e23) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000003 Validity @@ -1093,11 +1099,11 @@ extern const uint8_t sTestCert_FWSign01_AuthorityKeyId_Len = sizeof(sTestCert_FW Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:9a:2a:21:6f:b3:9d:d6:b6:fa:21:1b:83:5c:89: - e3:e6:af:b6:6c:14:f7:58:31:95:4f:9f:f4:f7:a3: - f0:11:2c:8a:0d:8e:af:29:c6:53:29:4d:48:ee:e0: - 70:8a:03:2c:ca:39:39:3c:3a:7b:46:f1:81:ae:a0: - 78:fe:ad:83:83 + 04:bc:f6:58:0d:2d:71:e1:44:16:65:1f:7c:31:1b: + 5e:fc:f9:ae:c0:a8:c1:0a:f8:09:27:84:4c:24:0f: + 51:a8:eb:23:fa:07:44:13:88:87:ac:1e:73:cb:72: + a0:54:b6:a0:db:06:22:aa:80:70:71:01:63:13:b1: + 59:6c:85:52:cf ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1108,80 +1114,80 @@ extern const uint8_t sTestCert_FWSign01_AuthorityKeyId_Len = sizeof(sTestCert_FW X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - 9F:55:A2:6B:7E:43:03:E6:08:83:E9:13:BF:94:F4:FB:5E:2A:61:61 + 69:67:C9:12:F8:A3:E6:89:55:6F:89:9B:65:D7:6F:53:FA:65:C7:B6 X509v3 Authority Key Identifier: - keyid:53:52:D7:05:9E:9C:15:A5:08:90:68:62:86:48:01:A2:9F:1F:41:D3 + keyid:44:0C:C6:92:31:C4:CB:5B:37:94:24:26:F8:1B:BE:24:B7:EF:34:5C Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:20:79:55:c2:02:63:0b:4b:a4:d5:91:25:26:32:2f: - df:28:f8:9e:df:e5:af:9c:0e:57:2b:d8:a1:4a:aa:bb:4d:12: - 02:21:00:b8:3c:a1:7c:7b:05:fb:16:4b:77:d7:9c:52:96:13: - 31:6b:cf:d1:78:95:e4:b2:a4:f2:40:4b:98:17:32:71:59 + 30:46:02:21:00:ce:6e:f3:93:cb:bc:94:f8:0e:e2:90:cb:3c: + 3d:37:33:35:ba:b9:59:07:73:4d:99:d3:84:a6:2a:37:3b:84: + 84:02:21:00:e1:d4:1a:04:c3:14:0f:aa:19:e8:a2:b9:9b:0c: + 61:e3:3c:27:ea:91:39:73:e4:5b:5b:c6:e3:9c:27:0d:ac:53 -----BEGIN CERTIFICATE----- -MIIB4DCCAYagAwIBAgIIPvz/FwK5oXowCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIB4TCCAYagAwIBAgIIGOlpug4IniMwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDMwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjBEMSAwHgYKKwYBBAGConwBAQwQREVERURFREUwMDAxMDAwMTEgMB4G CisGAQQBgqJ8AQUMEEZBQjAwMDAwMDAwMDAwMUQwWTATBgcqhkjOPQIBBggqhkjO -PQMBBwNCAASaKiFvs53WtvohG4NciePmr7ZsFPdYMZVPn/T3o/ARLIoNjq8pxlMp -TUju4HCKAyzKOTk8OntG8YGuoHj+rYODo4GDMIGAMAwGA1UdEwEB/wQCMAAwDgYD +PQMBBwNCAAS89lgNLXHhRBZlH3wxG178+a7AqMEK+AknhEwkD1Go6yP6B0QTiIes +HnPLcqBUtqDbBiKqgHBxAWMTsVlshVLPo4GDMIGAMAwGA1UdEwEB/wQCMAAwDgYD VR0PAQH/BAQDAgeAMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAd -BgNVHQ4EFgQUn1Wia35DA+YIg+kTv5T0+14qYWEwHwYDVR0jBBgwFoAUU1LXBZ6c -FaUIkGhihkgBop8fQdMwCgYIKoZIzj0EAwIDSAAwRQIgeVXCAmMLS6TVkSUmMi/f -KPie3+WvnA5XK9ihSqq7TRICIQC4PKF8ewX7Fkt315xSlhMxa8/ReJXksqTyQEuY -FzJxWQ== +BgNVHQ4EFgQUaWfJEvij5olVb4mbZddvU/plx7YwHwYDVR0jBBgwFoAURAzGkjHE +y1s3lCQm+Bu+JLfvNFwwCgYIKoZIzj0EAwIDSQAwRgIhAM5u85PLvJT4DuKQyzw9 +NzM1urlZB3NNmdOEpio3O4SEAiEA4dQaBMMUD6oZ6KK5mwxh4zwn6pE5c+RbW8bj +nCcNrFM= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIKVls/ooqO1qdPtvD/ik00DZ4a6Y8h36HwpZpOoCGhYnoAoGCCqGSM49 -AwEHoUQDQgAEmiohb7Od1rb6IRuDXInj5q+2bBT3WDGVT5/096PwESyKDY6vKcZT -KU1I7uBwigMsyjk5PDp7RvGBrqB4/q2Dgw== +MHcCAQEEIEkuf5eD7hX9qnGopnsfMfPI1Xt1CUpGE7m7PvRvpg2JoAoGCCqGSM49 +AwEHoUQDQgAEvPZYDS1x4UQWZR98MRte/PmuwKjBCvgJJ4RMJA9RqOsj+gdEE4iH +rB5zy3KgVLag2wYiqoBwcQFjE7FZbIVSzw== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node01_01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x3e, 0xfc, 0xff, 0x17, 0x02, 0xb9, 0xa1, 0x7a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x03, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x18, 0xe9, 0x69, 0xba, 0x0e, 0x08, 0x9e, 0x23, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x03, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x01, 0x00, 0x01, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, - 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x9a, 0x2a, 0x21, 0x6f, 0xb3, 0x9d, 0xd6, 0xb6, 0xfa, 0x21, 0x1b, - 0x83, 0x5c, 0x89, 0xe3, 0xe6, 0xaf, 0xb6, 0x6c, 0x14, 0xf7, 0x58, 0x31, 0x95, 0x4f, 0x9f, 0xf4, 0xf7, 0xa3, 0xf0, 0x11, 0x2c, - 0x8a, 0x0d, 0x8e, 0xaf, 0x29, 0xc6, 0x53, 0x29, 0x4d, 0x48, 0xee, 0xe0, 0x70, 0x8a, 0x03, 0x2c, 0xca, 0x39, 0x39, 0x3c, 0x3a, - 0x7b, 0x46, 0xf1, 0x81, 0xae, 0xa0, 0x78, 0xfe, 0xad, 0x83, 0x83, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, - 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x9f, 0x55, 0xa2, 0x6b, 0x7e, 0x43, 0x03, 0xe6, 0x08, 0x83, 0xe9, - 0x13, 0xbf, 0x94, 0xf4, 0xfb, 0x5e, 0x2a, 0x61, 0x61, 0x30, 0x05, 0x14, 0x53, 0x52, 0xd7, 0x05, 0x9e, 0x9c, 0x15, 0xa5, 0x08, - 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xa2, 0x9f, 0x1f, 0x41, 0xd3, 0x18, 0x30, 0x0b, 0x40, 0x79, 0x55, 0xc2, 0x02, 0x63, 0x0b, - 0x4b, 0xa4, 0xd5, 0x91, 0x25, 0x26, 0x32, 0x2f, 0xdf, 0x28, 0xf8, 0x9e, 0xdf, 0xe5, 0xaf, 0x9c, 0x0e, 0x57, 0x2b, 0xd8, 0xa1, - 0x4a, 0xaa, 0xbb, 0x4d, 0x12, 0xb8, 0x3c, 0xa1, 0x7c, 0x7b, 0x05, 0xfb, 0x16, 0x4b, 0x77, 0xd7, 0x9c, 0x52, 0x96, 0x13, 0x31, - 0x6b, 0xcf, 0xd1, 0x78, 0x95, 0xe4, 0xb2, 0xa4, 0xf2, 0x40, 0x4b, 0x98, 0x17, 0x32, 0x71, 0x59, 0x18, + 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xbc, 0xf6, 0x58, 0x0d, 0x2d, 0x71, 0xe1, 0x44, 0x16, 0x65, 0x1f, + 0x7c, 0x31, 0x1b, 0x5e, 0xfc, 0xf9, 0xae, 0xc0, 0xa8, 0xc1, 0x0a, 0xf8, 0x09, 0x27, 0x84, 0x4c, 0x24, 0x0f, 0x51, 0xa8, 0xeb, + 0x23, 0xfa, 0x07, 0x44, 0x13, 0x88, 0x87, 0xac, 0x1e, 0x73, 0xcb, 0x72, 0xa0, 0x54, 0xb6, 0xa0, 0xdb, 0x06, 0x22, 0xaa, 0x80, + 0x70, 0x71, 0x01, 0x63, 0x13, 0xb1, 0x59, 0x6c, 0x85, 0x52, 0xcf, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, + 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x69, 0x67, 0xc9, 0x12, 0xf8, 0xa3, 0xe6, 0x89, 0x55, 0x6f, 0x89, + 0x9b, 0x65, 0xd7, 0x6f, 0x53, 0xfa, 0x65, 0xc7, 0xb6, 0x30, 0x05, 0x14, 0x44, 0x0c, 0xc6, 0x92, 0x31, 0xc4, 0xcb, 0x5b, 0x37, + 0x94, 0x24, 0x26, 0xf8, 0x1b, 0xbe, 0x24, 0xb7, 0xef, 0x34, 0x5c, 0x18, 0x30, 0x0b, 0x40, 0xce, 0x6e, 0xf3, 0x93, 0xcb, 0xbc, + 0x94, 0xf8, 0x0e, 0xe2, 0x90, 0xcb, 0x3c, 0x3d, 0x37, 0x33, 0x35, 0xba, 0xb9, 0x59, 0x07, 0x73, 0x4d, 0x99, 0xd3, 0x84, 0xa6, + 0x2a, 0x37, 0x3b, 0x84, 0x84, 0xe1, 0xd4, 0x1a, 0x04, 0xc3, 0x14, 0x0f, 0xaa, 0x19, 0xe8, 0xa2, 0xb9, 0x9b, 0x0c, 0x61, 0xe3, + 0x3c, 0x27, 0xea, 0x91, 0x39, 0x73, 0xe4, 0x5b, 0x5b, 0xc6, 0xe3, 0x9c, 0x27, 0x0d, 0xac, 0x53, 0x18, }; -extern const uint32_t sTestCert_Node01_01_Chip_Len = sizeof(sTestCert_Node01_01_Chip); +extern const size_t sTestCert_Node01_01_Chip_Len = sizeof(sTestCert_Node01_01_Chip); // Error Testing 01: Manually updated Node01_01 CHIP TLV encoded certificate. // Updated Tag of the Subject Key Identifier Extension from ContextTag to CommonProfile_2Bytes: // 0x30, 0x04 --> 0x50, 0xee, 0x04 // The CHIP_ERROR_INVALID_TLV_TAG error is expected when this certificate is loaded/decoded extern const uint8_t sTestCert_Node01_01_Err01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x3e, 0xfc, 0xff, 0x17, 0x02, 0xb9, 0xa1, 0x7a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x03, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x18, 0xe9, 0x69, 0xba, 0x0e, 0x08, 0x9e, 0x23, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x03, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x01, 0x00, 0x01, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, - 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x9a, 0x2a, 0x21, 0x6f, 0xb3, 0x9d, 0xd6, 0xb6, 0xfa, 0x21, 0x1b, - 0x83, 0x5c, 0x89, 0xe3, 0xe6, 0xaf, 0xb6, 0x6c, 0x14, 0xf7, 0x58, 0x31, 0x95, 0x4f, 0x9f, 0xf4, 0xf7, 0xa3, 0xf0, 0x11, 0x2c, - 0x8a, 0x0d, 0x8e, 0xaf, 0x29, 0xc6, 0x53, 0x29, 0x4d, 0x48, 0xee, 0xe0, 0x70, 0x8a, 0x03, 0x2c, 0xca, 0x39, 0x39, 0x3c, 0x3a, - 0x7b, 0x46, 0xf1, 0x81, 0xae, 0xa0, 0x78, 0xfe, 0xad, 0x83, 0x83, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, - 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x50, 0xee, 0x04, 0x14, 0x9f, 0x55, 0xa2, 0x6b, 0x7e, 0x43, 0x03, 0xe6, 0x08, 0x83, - 0xe9, 0x13, 0xbf, 0x94, 0xf4, 0xfb, 0x5e, 0x2a, 0x61, 0x61, 0x30, 0x05, 0x14, 0x53, 0x52, 0xd7, 0x05, 0x9e, 0x9c, 0x15, 0xa5, - 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xa2, 0x9f, 0x1f, 0x41, 0xd3, 0x18, 0x30, 0x0b, 0x40, 0x79, 0x55, 0xc2, 0x02, 0x63, - 0x0b, 0x4b, 0xa4, 0xd5, 0x91, 0x25, 0x26, 0x32, 0x2f, 0xdf, 0x28, 0xf8, 0x9e, 0xdf, 0xe5, 0xaf, 0x9c, 0x0e, 0x57, 0x2b, 0xd8, - 0xa1, 0x4a, 0xaa, 0xbb, 0x4d, 0x12, 0xb8, 0x3c, 0xa1, 0x7c, 0x7b, 0x05, 0xfb, 0x16, 0x4b, 0x77, 0xd7, 0x9c, 0x52, 0x96, 0x13, - 0x31, 0x6b, 0xcf, 0xd1, 0x78, 0x95, 0xe4, 0xb2, 0xa4, 0xf2, 0x40, 0x4b, 0x98, 0x17, 0x32, 0x71, 0x59, 0x18, + 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xbc, 0xf6, 0x58, 0x0d, 0x2d, 0x71, 0xe1, 0x44, 0x16, 0x65, 0x1f, + 0x7c, 0x31, 0x1b, 0x5e, 0xfc, 0xf9, 0xae, 0xc0, 0xa8, 0xc1, 0x0a, 0xf8, 0x09, 0x27, 0x84, 0x4c, 0x24, 0x0f, 0x51, 0xa8, 0xeb, + 0x23, 0xfa, 0x07, 0x44, 0x13, 0x88, 0x87, 0xac, 0x1e, 0x73, 0xcb, 0x72, 0xa0, 0x54, 0xb6, 0xa0, 0xdb, 0x06, 0x22, 0xaa, 0x80, + 0x70, 0x71, 0x01, 0x63, 0x13, 0xb1, 0x59, 0x6c, 0x85, 0x52, 0xcf, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, + 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x50, 0xee, 0x04, 0x14, 0x69, 0x67, 0xc9, 0x12, 0xf8, 0xa3, 0xe6, 0x89, 0x55, 0x6f, + 0x89, 0x9b, 0x65, 0xd7, 0x6f, 0x53, 0xfa, 0x65, 0xc7, 0xb6, 0x30, 0x05, 0x14, 0x44, 0x0c, 0xc6, 0x92, 0x31, 0xc4, 0xcb, 0x5b, + 0x37, 0x94, 0x24, 0x26, 0xf8, 0x1b, 0xbe, 0x24, 0xb7, 0xef, 0x34, 0x5c, 0x18, 0x30, 0x0b, 0x40, 0xce, 0x6e, 0xf3, 0x93, 0xcb, + 0xbc, 0x94, 0xf8, 0x0e, 0xe2, 0x90, 0xcb, 0x3c, 0x3d, 0x37, 0x33, 0x35, 0xba, 0xb9, 0x59, 0x07, 0x73, 0x4d, 0x99, 0xd3, 0x84, + 0xa6, 0x2a, 0x37, 0x3b, 0x84, 0x84, 0xe1, 0xd4, 0x1a, 0x04, 0xc3, 0x14, 0x0f, 0xaa, 0x19, 0xe8, 0xa2, 0xb9, 0x9b, 0x0c, 0x61, + 0xe3, 0x3c, 0x27, 0xea, 0x91, 0x39, 0x73, 0xe4, 0x5b, 0x5b, 0xc6, 0xe3, 0x9c, 0x27, 0x0d, 0xac, 0x53, 0x18, }; -extern const uint32_t sTestCert_Node01_01_Err01_Chip_Len = sizeof(sTestCert_Node01_01_Err01_Chip); +extern const size_t sTestCert_Node01_01_Err01_Chip_Len = sizeof(sTestCert_Node01_01_Err01_Chip); extern const uint8_t sTestCert_Node01_01_DER[] = { - 0x30, 0x82, 0x01, 0xe0, 0x30, 0x82, 0x01, 0x86, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x3e, 0xfc, 0xff, 0x17, 0x02, 0xb9, - 0xa1, 0x7a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0xe1, 0x30, 0x82, 0x01, 0x86, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x18, 0xe9, 0x69, 0xba, 0x0e, 0x08, + 0x9e, 0x23, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x44, @@ -1189,58 +1195,58 @@ extern const uint8_t sTestCert_Node01_01_DER[] = { 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, - 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x9a, 0x2a, 0x21, 0x6f, 0xb3, 0x9d, 0xd6, 0xb6, 0xfa, 0x21, - 0x1b, 0x83, 0x5c, 0x89, 0xe3, 0xe6, 0xaf, 0xb6, 0x6c, 0x14, 0xf7, 0x58, 0x31, 0x95, 0x4f, 0x9f, 0xf4, 0xf7, 0xa3, 0xf0, 0x11, - 0x2c, 0x8a, 0x0d, 0x8e, 0xaf, 0x29, 0xc6, 0x53, 0x29, 0x4d, 0x48, 0xee, 0xe0, 0x70, 0x8a, 0x03, 0x2c, 0xca, 0x39, 0x39, 0x3c, - 0x3a, 0x7b, 0x46, 0xf1, 0x81, 0xae, 0xa0, 0x78, 0xfe, 0xad, 0x83, 0x83, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbc, 0xf6, 0x58, 0x0d, 0x2d, 0x71, 0xe1, 0x44, 0x16, 0x65, + 0x1f, 0x7c, 0x31, 0x1b, 0x5e, 0xfc, 0xf9, 0xae, 0xc0, 0xa8, 0xc1, 0x0a, 0xf8, 0x09, 0x27, 0x84, 0x4c, 0x24, 0x0f, 0x51, 0xa8, + 0xeb, 0x23, 0xfa, 0x07, 0x44, 0x13, 0x88, 0x87, 0xac, 0x1e, 0x73, 0xcb, 0x72, 0xa0, 0x54, 0xb6, 0xa0, 0xdb, 0x06, 0x22, 0xaa, + 0x80, 0x70, 0x71, 0x01, 0x63, 0x13, 0xb1, 0x59, 0x6c, 0x85, 0x52, 0xcf, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, - 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x9f, 0x55, 0xa2, 0x6b, 0x7e, 0x43, 0x03, 0xe6, 0x08, 0x83, 0xe9, 0x13, - 0xbf, 0x94, 0xf4, 0xfb, 0x5e, 0x2a, 0x61, 0x61, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, - 0x53, 0x52, 0xd7, 0x05, 0x9e, 0x9c, 0x15, 0xa5, 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xa2, 0x9f, 0x1f, 0x41, 0xd3, 0x30, - 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x79, 0x55, 0xc2, - 0x02, 0x63, 0x0b, 0x4b, 0xa4, 0xd5, 0x91, 0x25, 0x26, 0x32, 0x2f, 0xdf, 0x28, 0xf8, 0x9e, 0xdf, 0xe5, 0xaf, 0x9c, 0x0e, 0x57, - 0x2b, 0xd8, 0xa1, 0x4a, 0xaa, 0xbb, 0x4d, 0x12, 0x02, 0x21, 0x00, 0xb8, 0x3c, 0xa1, 0x7c, 0x7b, 0x05, 0xfb, 0x16, 0x4b, 0x77, - 0xd7, 0x9c, 0x52, 0x96, 0x13, 0x31, 0x6b, 0xcf, 0xd1, 0x78, 0x95, 0xe4, 0xb2, 0xa4, 0xf2, 0x40, 0x4b, 0x98, 0x17, 0x32, 0x71, - 0x59, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x69, 0x67, 0xc9, 0x12, 0xf8, 0xa3, 0xe6, 0x89, 0x55, 0x6f, 0x89, 0x9b, + 0x65, 0xd7, 0x6f, 0x53, 0xfa, 0x65, 0xc7, 0xb6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0x44, 0x0c, 0xc6, 0x92, 0x31, 0xc4, 0xcb, 0x5b, 0x37, 0x94, 0x24, 0x26, 0xf8, 0x1b, 0xbe, 0x24, 0xb7, 0xef, 0x34, 0x5c, 0x30, + 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xce, 0x6e, + 0xf3, 0x93, 0xcb, 0xbc, 0x94, 0xf8, 0x0e, 0xe2, 0x90, 0xcb, 0x3c, 0x3d, 0x37, 0x33, 0x35, 0xba, 0xb9, 0x59, 0x07, 0x73, 0x4d, + 0x99, 0xd3, 0x84, 0xa6, 0x2a, 0x37, 0x3b, 0x84, 0x84, 0x02, 0x21, 0x00, 0xe1, 0xd4, 0x1a, 0x04, 0xc3, 0x14, 0x0f, 0xaa, 0x19, + 0xe8, 0xa2, 0xb9, 0x9b, 0x0c, 0x61, 0xe3, 0x3c, 0x27, 0xea, 0x91, 0x39, 0x73, 0xe4, 0x5b, 0x5b, 0xc6, 0xe3, 0x9c, 0x27, 0x0d, + 0xac, 0x53, }; -extern const uint32_t sTestCert_Node01_01_DER_Len = sizeof(sTestCert_Node01_01_DER); +extern const size_t sTestCert_Node01_01_DER_Len = sizeof(sTestCert_Node01_01_DER); extern const uint8_t sTestCert_Node01_01_PublicKey[] = { - 0x04, 0x9a, 0x2a, 0x21, 0x6f, 0xb3, 0x9d, 0xd6, 0xb6, 0xfa, 0x21, 0x1b, 0x83, 0x5c, 0x89, 0xe3, 0xe6, - 0xaf, 0xb6, 0x6c, 0x14, 0xf7, 0x58, 0x31, 0x95, 0x4f, 0x9f, 0xf4, 0xf7, 0xa3, 0xf0, 0x11, 0x2c, 0x8a, - 0x0d, 0x8e, 0xaf, 0x29, 0xc6, 0x53, 0x29, 0x4d, 0x48, 0xee, 0xe0, 0x70, 0x8a, 0x03, 0x2c, 0xca, 0x39, - 0x39, 0x3c, 0x3a, 0x7b, 0x46, 0xf1, 0x81, 0xae, 0xa0, 0x78, 0xfe, 0xad, 0x83, 0x83, + 0x04, 0xbc, 0xf6, 0x58, 0x0d, 0x2d, 0x71, 0xe1, 0x44, 0x16, 0x65, 0x1f, 0x7c, 0x31, 0x1b, 0x5e, 0xfc, + 0xf9, 0xae, 0xc0, 0xa8, 0xc1, 0x0a, 0xf8, 0x09, 0x27, 0x84, 0x4c, 0x24, 0x0f, 0x51, 0xa8, 0xeb, 0x23, + 0xfa, 0x07, 0x44, 0x13, 0x88, 0x87, 0xac, 0x1e, 0x73, 0xcb, 0x72, 0xa0, 0x54, 0xb6, 0xa0, 0xdb, 0x06, + 0x22, 0xaa, 0x80, 0x70, 0x71, 0x01, 0x63, 0x13, 0xb1, 0x59, 0x6c, 0x85, 0x52, 0xcf, }; -extern const uint8_t sTestCert_Node01_01_PublicKey_Len = sizeof(sTestCert_Node01_01_PublicKey); +extern const size_t sTestCert_Node01_01_PublicKey_Len = sizeof(sTestCert_Node01_01_PublicKey); extern const uint8_t sTestCert_Node01_01_PrivateKey[] = { - 0xa5, 0x65, 0xb3, 0xfa, 0x28, 0xa8, 0xed, 0x6a, 0x74, 0xfb, 0x6f, 0x0f, 0xf8, 0xa4, 0xd3, 0x40, - 0xd9, 0xe1, 0xae, 0x98, 0xf2, 0x1d, 0xfa, 0x1f, 0x0a, 0x59, 0xa4, 0xea, 0x02, 0x1a, 0x16, 0x27, + 0x49, 0x2e, 0x7f, 0x97, 0x83, 0xee, 0x15, 0xfd, 0xaa, 0x71, 0xa8, 0xa6, 0x7b, 0x1f, 0x31, 0xf3, + 0xc8, 0xd5, 0x7b, 0x75, 0x09, 0x4a, 0x46, 0x13, 0xb9, 0xbb, 0x3e, 0xf4, 0x6f, 0xa6, 0x0d, 0x89, }; -extern const uint8_t sTestCert_Node01_01_PrivateKey_Len = sizeof(sTestCert_Node01_01_PrivateKey); +extern const size_t sTestCert_Node01_01_PrivateKey_Len = sizeof(sTestCert_Node01_01_PrivateKey); extern const uint8_t sTestCert_Node01_01_SubjectKeyId[] = { - 0x9F, 0x55, 0xA2, 0x6B, 0x7E, 0x43, 0x03, 0xE6, 0x08, 0x83, 0xE9, 0x13, 0xBF, 0x94, 0xF4, 0xFB, 0x5E, 0x2A, 0x61, 0x61, + 0x69, 0x67, 0xC9, 0x12, 0xF8, 0xA3, 0xE6, 0x89, 0x55, 0x6F, 0x89, 0x9B, 0x65, 0xD7, 0x6F, 0x53, 0xFA, 0x65, 0xC7, 0xB6, }; -extern const uint8_t sTestCert_Node01_01_SubjectKeyId_Len = sizeof(sTestCert_Node01_01_SubjectKeyId); +extern const size_t sTestCert_Node01_01_SubjectKeyId_Len = sizeof(sTestCert_Node01_01_SubjectKeyId); extern const uint8_t sTestCert_Node01_01_AuthorityKeyId[] = { - 0x53, 0x52, 0xD7, 0x05, 0x9E, 0x9C, 0x15, 0xA5, 0x08, 0x90, 0x68, 0x62, 0x86, 0x48, 0x01, 0xA2, 0x9F, 0x1F, 0x41, 0xD3, + 0x44, 0x0C, 0xC6, 0x92, 0x31, 0xC4, 0xCB, 0x5B, 0x37, 0x94, 0x24, 0x26, 0xF8, 0x1B, 0xBE, 0x24, 0xB7, 0xEF, 0x34, 0x5C, }; -extern const uint8_t sTestCert_Node01_01_AuthorityKeyId_Len = sizeof(sTestCert_Node01_01_AuthorityKeyId); +extern const size_t sTestCert_Node01_01_AuthorityKeyId_Len = sizeof(sTestCert_Node01_01_AuthorityKeyId); /************** Test Node01_02 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 7164621035228478523 (0x636dd8df2b15bc3b) + Serial Number: 977443105016929468 (0xd90935346b05cbc) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000001 Validity @@ -1251,11 +1257,11 @@ extern const uint8_t sTestCert_Node01_01_AuthorityKeyId_Len = sizeof(sTestCert_N Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:ca:44:a4:ce:f3:21:48:84:2e:4a:71:0e:c3:ee: - 01:17:75:5d:d0:f8:8f:59:21:52:30:27:9a:97:8c: - d9:59:1a:3f:e0:97:69:22:ef:3f:ce:e6:8c:87:14: - a6:de:cc:ee:d7:cd:83:80:35:0b:a5:3f:5c:cb:f4: - 2d:7c:6a:e8:de + 04:96:5f:78:c5:37:ec:e1:b8:c3:4a:7b:98:b9:aa: + 45:f1:35:63:a5:02:b1:97:9a:60:7b:d0:c4:19:88: + bd:d0:f0:bb:b8:98:16:c2:07:e3:b5:15:d9:26:41: + 59:f7:8b:d0:97:8e:32:d7:4c:6d:05:5a:14:9e:8e: + 9d:ba:40:19:bf ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1266,58 +1272,58 @@ extern const uint8_t sTestCert_Node01_01_AuthorityKeyId_Len = sizeof(sTestCert_N X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - 56:43:EB:BD:A3:94:98:54:CF:2B:AD:BB:E0:03:9C:1B:6D:B8:84:A7 + 56:7B:4F:20:E4:B9:C7:BD:27:B2:9B:3D:CE:6A:76:F7:CD:8E:CC:B6 X509v3 Authority Key Identifier: - keyid:13:AF:81:AB:37:37:4B:2E:D2:A9:64:9B:12:B7:A3:A4:28:7E:15:1D + keyid:CC:13:08:AF:82:CF:EE:50:5E:B2:3B:57:BF:E8:6A:31:16:65:53:5F Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:21:00:fe:ee:e2:ff:da:c6:8f:e0:37:02:54:91:fe: - 66:80:d9:be:d4:56:de:73:a8:5e:3d:83:7b:55:59:05:08:90: - 12:02:20:77:25:f5:51:71:eb:db:6a:27:69:6a:ca:87:6a:54: - b1:0a:20:95:e3:e7:cf:6e:cf:ee:b8:95:a6:56:1c:83:ed + 30:44:02:20:60:58:11:4b:a7:21:82:fc:f6:30:1f:7a:08:1b: + ca:5a:84:82:02:43:1a:52:fd:bf:f4:97:d8:dd:6f:9a:59:59: + 02:20:7b:ad:cc:d6:a5:6d:70:ef:d8:c9:7c:49:6e:ba:7e:28: + 01:d7:33:7d:cf:f7:4d:78:e4:6e:cd:3a:08:cc:ba:e3 -----BEGIN CERTIFICATE----- -MIIB4DCCAYagAwIBAgIIY23Y3ysVvDswCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB +MIIB3zCCAYagAwIBAgIIDZCTU0awXLwwCgYIKoZIzj0EAwIwIjEgMB4GCisGAQQB gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDEwHhcNMjAxMDE1MTQyMzQzWhcNNDAxMDE1 MTQyMzQyWjBEMSAwHgYKKwYBBAGConwBAQwQREVERURFREUwMDAxMDAwMjEgMB4G CisGAQQBgqJ8AQUMEEZBQjAwMDAwMDAwMDAwMUQwWTATBgcqhkjOPQIBBggqhkjO -PQMBBwNCAATKRKTO8yFIhC5KcQ7D7gEXdV3Q+I9ZIVIwJ5qXjNlZGj/gl2ki7z/O -5oyHFKbezO7XzYOANQulP1zL9C18aujeo4GDMIGAMAwGA1UdEwEB/wQCMAAwDgYD +PQMBBwNCAASWX3jFN+zhuMNKe5i5qkXxNWOlArGXmmB70MQZiL3Q8Lu4mBbCB+O1 +FdkmQVn3i9CXjjLXTG0FWhSejp26QBm/o4GDMIGAMAwGA1UdEwEB/wQCMAAwDgYD VR0PAQH/BAQDAgeAMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAd -BgNVHQ4EFgQUVkPrvaOUmFTPK6274AOcG224hKcwHwYDVR0jBBgwFoAUE6+Bqzc3 -Sy7SqWSbErejpCh+FR0wCgYIKoZIzj0EAwIDSAAwRQIhAP7u4v/axo/gNwJUkf5m -gNm+1Fbec6hePYN7VVkFCJASAiB3JfVRcevbaidpasqHalSxCiCV4+fPbs/uuJWm -VhyD7Q== +BgNVHQ4EFgQUVntPIOS5x70nsps9zmp2982OzLYwHwYDVR0jBBgwFoAUzBMIr4LP +7lBesjtXv+hqMRZlU18wCgYIKoZIzj0EAwIDRwAwRAIgYFgRS6chgvz2MB96CBvK +WoSCAkMaUv2/9JfY3W+aWVkCIHutzNalbXDv2Ml8SW66figB1zN9z/dNeORuzToI +zLrj -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIMIxNtT3b91v9x2Ao0bnjr9KpUp6f5kVY6VXo5MqS+BToAoGCCqGSM49 -AwEHoUQDQgAEykSkzvMhSIQuSnEOw+4BF3Vd0PiPWSFSMCeal4zZWRo/4JdpIu8/ -zuaMhxSm3szu182DgDULpT9cy/QtfGro3g== +MHcCAQEEIBiymGFRQud62w0dw8UXgNN4yj5jqR/Y3KYL53easvcNoAoGCCqGSM49 +AwEHoUQDQgAEll94xTfs4bjDSnuYuapF8TVjpQKxl5pge9DEGYi90PC7uJgWwgfj +tRXZJkFZ94vQl44y10xtBVoUno6dukAZvw== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node01_02_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x63, 0x6d, 0xd8, 0xdf, 0x2b, 0x15, 0xbc, 0x3b, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x0d, 0x90, 0x93, 0x53, 0x46, 0xb0, 0x5c, 0xbc, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x14, 0x01, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x02, 0x00, 0x01, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, - 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xca, 0x44, 0xa4, 0xce, 0xf3, 0x21, 0x48, 0x84, 0x2e, 0x4a, 0x71, - 0x0e, 0xc3, 0xee, 0x01, 0x17, 0x75, 0x5d, 0xd0, 0xf8, 0x8f, 0x59, 0x21, 0x52, 0x30, 0x27, 0x9a, 0x97, 0x8c, 0xd9, 0x59, 0x1a, - 0x3f, 0xe0, 0x97, 0x69, 0x22, 0xef, 0x3f, 0xce, 0xe6, 0x8c, 0x87, 0x14, 0xa6, 0xde, 0xcc, 0xee, 0xd7, 0xcd, 0x83, 0x80, 0x35, - 0x0b, 0xa5, 0x3f, 0x5c, 0xcb, 0xf4, 0x2d, 0x7c, 0x6a, 0xe8, 0xde, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, - 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x56, 0x43, 0xeb, 0xbd, 0xa3, 0x94, 0x98, 0x54, 0xcf, 0x2b, 0xad, - 0xbb, 0xe0, 0x03, 0x9c, 0x1b, 0x6d, 0xb8, 0x84, 0xa7, 0x30, 0x05, 0x14, 0x13, 0xaf, 0x81, 0xab, 0x37, 0x37, 0x4b, 0x2e, 0xd2, - 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x18, 0x30, 0x0b, 0x40, 0xfe, 0xee, 0xe2, 0xff, 0xda, 0xc6, - 0x8f, 0xe0, 0x37, 0x02, 0x54, 0x91, 0xfe, 0x66, 0x80, 0xd9, 0xbe, 0xd4, 0x56, 0xde, 0x73, 0xa8, 0x5e, 0x3d, 0x83, 0x7b, 0x55, - 0x59, 0x05, 0x08, 0x90, 0x12, 0x77, 0x25, 0xf5, 0x51, 0x71, 0xeb, 0xdb, 0x6a, 0x27, 0x69, 0x6a, 0xca, 0x87, 0x6a, 0x54, 0xb1, - 0x0a, 0x20, 0x95, 0xe3, 0xe7, 0xcf, 0x6e, 0xcf, 0xee, 0xb8, 0x95, 0xa6, 0x56, 0x1c, 0x83, 0xed, 0x18, + 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x96, 0x5f, 0x78, 0xc5, 0x37, 0xec, 0xe1, 0xb8, 0xc3, 0x4a, 0x7b, + 0x98, 0xb9, 0xaa, 0x45, 0xf1, 0x35, 0x63, 0xa5, 0x02, 0xb1, 0x97, 0x9a, 0x60, 0x7b, 0xd0, 0xc4, 0x19, 0x88, 0xbd, 0xd0, 0xf0, + 0xbb, 0xb8, 0x98, 0x16, 0xc2, 0x07, 0xe3, 0xb5, 0x15, 0xd9, 0x26, 0x41, 0x59, 0xf7, 0x8b, 0xd0, 0x97, 0x8e, 0x32, 0xd7, 0x4c, + 0x6d, 0x05, 0x5a, 0x14, 0x9e, 0x8e, 0x9d, 0xba, 0x40, 0x19, 0xbf, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, + 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x56, 0x7b, 0x4f, 0x20, 0xe4, 0xb9, 0xc7, 0xbd, 0x27, 0xb2, 0x9b, + 0x3d, 0xce, 0x6a, 0x76, 0xf7, 0xcd, 0x8e, 0xcc, 0xb6, 0x30, 0x05, 0x14, 0xcc, 0x13, 0x08, 0xaf, 0x82, 0xcf, 0xee, 0x50, 0x5e, + 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x18, 0x30, 0x0b, 0x40, 0x60, 0x58, 0x11, 0x4b, 0xa7, 0x21, + 0x82, 0xfc, 0xf6, 0x30, 0x1f, 0x7a, 0x08, 0x1b, 0xca, 0x5a, 0x84, 0x82, 0x02, 0x43, 0x1a, 0x52, 0xfd, 0xbf, 0xf4, 0x97, 0xd8, + 0xdd, 0x6f, 0x9a, 0x59, 0x59, 0x7b, 0xad, 0xcc, 0xd6, 0xa5, 0x6d, 0x70, 0xef, 0xd8, 0xc9, 0x7c, 0x49, 0x6e, 0xba, 0x7e, 0x28, + 0x01, 0xd7, 0x33, 0x7d, 0xcf, 0xf7, 0x4d, 0x78, 0xe4, 0x6e, 0xcd, 0x3a, 0x08, 0xcc, 0xba, 0xe3, 0x18, }; -extern const uint32_t sTestCert_Node01_02_Chip_Len = sizeof(sTestCert_Node01_02_Chip); +extern const size_t sTestCert_Node01_02_Chip_Len = sizeof(sTestCert_Node01_02_Chip); extern const uint8_t sTestCert_Node01_02_DER[] = { - 0x30, 0x82, 0x01, 0xe0, 0x30, 0x82, 0x01, 0x86, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x63, 0x6d, 0xd8, 0xdf, 0x2b, 0x15, - 0xbc, 0x3b, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x01, 0xdf, 0x30, 0x82, 0x01, 0x86, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0d, 0x90, 0x93, 0x53, 0x46, 0xb0, + 0x5c, 0xbc, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x22, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x04, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x44, @@ -1325,58 +1331,57 @@ extern const uint8_t sTestCert_Node01_02_DER[] = { 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x32, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, - 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xca, 0x44, 0xa4, 0xce, 0xf3, 0x21, 0x48, 0x84, 0x2e, 0x4a, - 0x71, 0x0e, 0xc3, 0xee, 0x01, 0x17, 0x75, 0x5d, 0xd0, 0xf8, 0x8f, 0x59, 0x21, 0x52, 0x30, 0x27, 0x9a, 0x97, 0x8c, 0xd9, 0x59, - 0x1a, 0x3f, 0xe0, 0x97, 0x69, 0x22, 0xef, 0x3f, 0xce, 0xe6, 0x8c, 0x87, 0x14, 0xa6, 0xde, 0xcc, 0xee, 0xd7, 0xcd, 0x83, 0x80, - 0x35, 0x0b, 0xa5, 0x3f, 0x5c, 0xcb, 0xf4, 0x2d, 0x7c, 0x6a, 0xe8, 0xde, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x96, 0x5f, 0x78, 0xc5, 0x37, 0xec, 0xe1, 0xb8, 0xc3, 0x4a, + 0x7b, 0x98, 0xb9, 0xaa, 0x45, 0xf1, 0x35, 0x63, 0xa5, 0x02, 0xb1, 0x97, 0x9a, 0x60, 0x7b, 0xd0, 0xc4, 0x19, 0x88, 0xbd, 0xd0, + 0xf0, 0xbb, 0xb8, 0x98, 0x16, 0xc2, 0x07, 0xe3, 0xb5, 0x15, 0xd9, 0x26, 0x41, 0x59, 0xf7, 0x8b, 0xd0, 0x97, 0x8e, 0x32, 0xd7, + 0x4c, 0x6d, 0x05, 0x5a, 0x14, 0x9e, 0x8e, 0x9d, 0xba, 0x40, 0x19, 0xbf, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, - 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x56, 0x43, 0xeb, 0xbd, 0xa3, 0x94, 0x98, 0x54, 0xcf, 0x2b, 0xad, 0xbb, - 0xe0, 0x03, 0x9c, 0x1b, 0x6d, 0xb8, 0x84, 0xa7, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, - 0x13, 0xaf, 0x81, 0xab, 0x37, 0x37, 0x4b, 0x2e, 0xd2, 0xa9, 0x64, 0x9b, 0x12, 0xb7, 0xa3, 0xa4, 0x28, 0x7e, 0x15, 0x1d, 0x30, - 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xfe, 0xee, - 0xe2, 0xff, 0xda, 0xc6, 0x8f, 0xe0, 0x37, 0x02, 0x54, 0x91, 0xfe, 0x66, 0x80, 0xd9, 0xbe, 0xd4, 0x56, 0xde, 0x73, 0xa8, 0x5e, - 0x3d, 0x83, 0x7b, 0x55, 0x59, 0x05, 0x08, 0x90, 0x12, 0x02, 0x20, 0x77, 0x25, 0xf5, 0x51, 0x71, 0xeb, 0xdb, 0x6a, 0x27, 0x69, - 0x6a, 0xca, 0x87, 0x6a, 0x54, 0xb1, 0x0a, 0x20, 0x95, 0xe3, 0xe7, 0xcf, 0x6e, 0xcf, 0xee, 0xb8, 0x95, 0xa6, 0x56, 0x1c, 0x83, - 0xed, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x56, 0x7b, 0x4f, 0x20, 0xe4, 0xb9, 0xc7, 0xbd, 0x27, 0xb2, 0x9b, 0x3d, + 0xce, 0x6a, 0x76, 0xf7, 0xcd, 0x8e, 0xcc, 0xb6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xcc, 0x13, 0x08, 0xaf, 0x82, 0xcf, 0xee, 0x50, 0x5e, 0xb2, 0x3b, 0x57, 0xbf, 0xe8, 0x6a, 0x31, 0x16, 0x65, 0x53, 0x5f, 0x30, + 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x60, 0x58, 0x11, + 0x4b, 0xa7, 0x21, 0x82, 0xfc, 0xf6, 0x30, 0x1f, 0x7a, 0x08, 0x1b, 0xca, 0x5a, 0x84, 0x82, 0x02, 0x43, 0x1a, 0x52, 0xfd, 0xbf, + 0xf4, 0x97, 0xd8, 0xdd, 0x6f, 0x9a, 0x59, 0x59, 0x02, 0x20, 0x7b, 0xad, 0xcc, 0xd6, 0xa5, 0x6d, 0x70, 0xef, 0xd8, 0xc9, 0x7c, + 0x49, 0x6e, 0xba, 0x7e, 0x28, 0x01, 0xd7, 0x33, 0x7d, 0xcf, 0xf7, 0x4d, 0x78, 0xe4, 0x6e, 0xcd, 0x3a, 0x08, 0xcc, 0xba, 0xe3, }; -extern const uint32_t sTestCert_Node01_02_DER_Len = sizeof(sTestCert_Node01_02_DER); +extern const size_t sTestCert_Node01_02_DER_Len = sizeof(sTestCert_Node01_02_DER); extern const uint8_t sTestCert_Node01_02_PublicKey[] = { - 0x04, 0xca, 0x44, 0xa4, 0xce, 0xf3, 0x21, 0x48, 0x84, 0x2e, 0x4a, 0x71, 0x0e, 0xc3, 0xee, 0x01, 0x17, - 0x75, 0x5d, 0xd0, 0xf8, 0x8f, 0x59, 0x21, 0x52, 0x30, 0x27, 0x9a, 0x97, 0x8c, 0xd9, 0x59, 0x1a, 0x3f, - 0xe0, 0x97, 0x69, 0x22, 0xef, 0x3f, 0xce, 0xe6, 0x8c, 0x87, 0x14, 0xa6, 0xde, 0xcc, 0xee, 0xd7, 0xcd, - 0x83, 0x80, 0x35, 0x0b, 0xa5, 0x3f, 0x5c, 0xcb, 0xf4, 0x2d, 0x7c, 0x6a, 0xe8, 0xde, + 0x04, 0x96, 0x5f, 0x78, 0xc5, 0x37, 0xec, 0xe1, 0xb8, 0xc3, 0x4a, 0x7b, 0x98, 0xb9, 0xaa, 0x45, 0xf1, + 0x35, 0x63, 0xa5, 0x02, 0xb1, 0x97, 0x9a, 0x60, 0x7b, 0xd0, 0xc4, 0x19, 0x88, 0xbd, 0xd0, 0xf0, 0xbb, + 0xb8, 0x98, 0x16, 0xc2, 0x07, 0xe3, 0xb5, 0x15, 0xd9, 0x26, 0x41, 0x59, 0xf7, 0x8b, 0xd0, 0x97, 0x8e, + 0x32, 0xd7, 0x4c, 0x6d, 0x05, 0x5a, 0x14, 0x9e, 0x8e, 0x9d, 0xba, 0x40, 0x19, 0xbf, }; -extern const uint8_t sTestCert_Node01_02_PublicKey_Len = sizeof(sTestCert_Node01_02_PublicKey); +extern const size_t sTestCert_Node01_02_PublicKey_Len = sizeof(sTestCert_Node01_02_PublicKey); extern const uint8_t sTestCert_Node01_02_PrivateKey[] = { - 0xc2, 0x31, 0x36, 0xd4, 0xf7, 0x6f, 0xdd, 0x6f, 0xf7, 0x1d, 0x80, 0xa3, 0x46, 0xe7, 0x8e, 0xbf, - 0x4a, 0xa5, 0x4a, 0x7a, 0x7f, 0x99, 0x15, 0x63, 0xa5, 0x57, 0xa3, 0x93, 0x2a, 0x4b, 0xe0, 0x53, + 0x18, 0xb2, 0x98, 0x61, 0x51, 0x42, 0xe7, 0x7a, 0xdb, 0x0d, 0x1d, 0xc3, 0xc5, 0x17, 0x80, 0xd3, + 0x78, 0xca, 0x3e, 0x63, 0xa9, 0x1f, 0xd8, 0xdc, 0xa6, 0x0b, 0xe7, 0x77, 0x9a, 0xb2, 0xf7, 0x0d, }; -extern const uint8_t sTestCert_Node01_02_PrivateKey_Len = sizeof(sTestCert_Node01_02_PrivateKey); +extern const size_t sTestCert_Node01_02_PrivateKey_Len = sizeof(sTestCert_Node01_02_PrivateKey); extern const uint8_t sTestCert_Node01_02_SubjectKeyId[] = { - 0x56, 0x43, 0xEB, 0xBD, 0xA3, 0x94, 0x98, 0x54, 0xCF, 0x2B, 0xAD, 0xBB, 0xE0, 0x03, 0x9C, 0x1B, 0x6D, 0xB8, 0x84, 0xA7, + 0x56, 0x7B, 0x4F, 0x20, 0xE4, 0xB9, 0xC7, 0xBD, 0x27, 0xB2, 0x9B, 0x3D, 0xCE, 0x6A, 0x76, 0xF7, 0xCD, 0x8E, 0xCC, 0xB6, }; -extern const uint8_t sTestCert_Node01_02_SubjectKeyId_Len = sizeof(sTestCert_Node01_02_SubjectKeyId); +extern const size_t sTestCert_Node01_02_SubjectKeyId_Len = sizeof(sTestCert_Node01_02_SubjectKeyId); extern const uint8_t sTestCert_Node01_02_AuthorityKeyId[] = { - 0x13, 0xAF, 0x81, 0xAB, 0x37, 0x37, 0x4B, 0x2E, 0xD2, 0xA9, 0x64, 0x9B, 0x12, 0xB7, 0xA3, 0xA4, 0x28, 0x7E, 0x15, 0x1D, + 0xCC, 0x13, 0x08, 0xAF, 0x82, 0xCF, 0xEE, 0x50, 0x5E, 0xB2, 0x3B, 0x57, 0xBF, 0xE8, 0x6A, 0x31, 0x16, 0x65, 0x53, 0x5F, }; -extern const uint8_t sTestCert_Node01_02_AuthorityKeyId_Len = sizeof(sTestCert_Node01_02_AuthorityKeyId); +extern const size_t sTestCert_Node01_02_AuthorityKeyId_Len = sizeof(sTestCert_Node01_02_AuthorityKeyId); /************** Test Node02_01 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 2697041106332792306 (0x256dd098bf97b5f2) + Serial Number: 280707040284312631 (0x3e54590de190437) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -1387,11 +1392,11 @@ extern const uint8_t sTestCert_Node01_02_AuthorityKeyId_Len = sizeof(sTestCert_N Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:ba:ba:8e:3e:18:ce:fc:b6:56:8a:f6:ce:32:cc: - 0d:df:62:5f:ed:a5:55:2a:ce:70:ed:f1:da:e9:2c: - a9:c0:47:de:23:e7:57:0b:25:ad:46:b8:86:fb:57: - f9:c2:ef:26:b5:ce:ed:f6:30:b8:f5:5a:94:5c:12: - 51:1a:4d:9b:9a + 04:a5:70:10:42:aa:69:14:20:f5:ce:f5:bb:65:2e: + de:d7:43:cc:4d:6f:00:0e:11:35:f0:ef:69:98:2e: + 52:8d:bf:9d:b2:2b:90:4d:97:05:9d:51:32:87:53: + 84:31:1a:f4:07:94:c3:55:75:39:b6:a0:da:de:78: + 8b:0c:1f:f6:49 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1402,59 +1407,59 @@ extern const uint8_t sTestCert_Node01_02_AuthorityKeyId_Len = sizeof(sTestCert_N X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - C2:92:42:54:44:76:84:14:9E:93:34:EF:5B:9D:A6:17:4C:33:8C:1C + B4:67:76:E1:CC:0A:F7:81:54:C6:2B:5A:17:98:42:64:BA:F5:50:86 X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC Signature Algorithm: ecdsa-with-SHA256 - 30:44:02:20:01:4c:7e:e3:ec:5f:79:18:a4:70:87:64:b5:ff: - 44:23:50:52:fc:b0:e9:4e:e8:7a:1f:68:18:f3:97:09:b1:bd: - 02:20:46:7b:f3:e6:ac:29:23:e1:81:af:75:6e:93:ca:75:95: - a0:5c:6b:f5:09:b2:76:c0:35:a7:6a:1d:77:41:8f:00 + 30:45:02:20:26:46:9a:64:2d:9d:cd:c8:37:fb:ee:58:25:be: + 2f:f3:b9:6a:10:e9:b0:33:73:4a:d5:fd:19:98:6d:2c:90:9c: + 02:21:00:81:86:fc:9c:5b:3a:47:c3:35:ca:16:d0:ae:d1:aa: + c8:9a:20:37:08:50:b4:15:eb:62:3a:73:c3:38:19:33:74 -----BEGIN CERTIFICATE----- -MIICATCCAaigAwIBAgIIJW3QmL+XtfIwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICAjCCAaigAwIBAgIIA+VFkN4ZBDcwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowRDEgMB4G CisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDExIDAeBgorBgEEAYKifAEFDBBG -QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEurqOPhjO -/LZWivbOMswN32Jf7aVVKs5w7fHa6SypwEfeI+dXCyWtRriG+1f5wu8mtc7t9jC4 -9VqUXBJRGk2bmqOBgzCBgDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg -BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFMKSQlRE -doQUnpM071udphdMM4wcMB8GA1UdIwQYMBaAFM9CvPjfSAnZJm8jFVoWsH8Euz2E -MAoGCCqGSM49BAMCA0cAMEQCIAFMfuPsX3kYpHCHZLX/RCNQUvyw6U7oeh9oGPOX -CbG9AiBGe/PmrCkj4YGvdW6TynWVoFxr9QmydsA1p2odd0GPAA== +QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpXAQQqpp +FCD1zvW7ZS7e10PMTW8ADhE18O9pmC5Sjb+dsiuQTZcFnVEyh1OEMRr0B5TDVXU5 +tqDa3niLDB/2SaOBgzCBgDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg +BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFLRnduHM +CveBVMYrWheYQmS69VCGMB8GA1UdIwQYMBaAFOHnbmd3hR3XdBa93TXsPBN8Rync +MAoGCCqGSM49BAMCA0gAMEUCICZGmmQtnc3IN/vuWCW+L/O5ahDpsDNzStX9GZht +LJCcAiEAgYb8nFs6R8M1yhbQrtGqyJogNwhQtBXrYjpzwzgZM3Q= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIOuZ1sV6uFjXlH/QX31UCMW1x6L1r68xYJJ0IJq9IBmmoAoGCCqGSM49 -AwEHoUQDQgAEurqOPhjO/LZWivbOMswN32Jf7aVVKs5w7fHa6SypwEfeI+dXCyWt -RriG+1f5wu8mtc7t9jC49VqUXBJRGk2bmg== +MHcCAQEEILSfDjcknEjCW6MMevxMlE+IrDwDxbKhk2vYZxWte+kkoAoGCCqGSM49 +AwEHoUQDQgAEpXAQQqppFCD1zvW7ZS7e10PMTW8ADhE18O9pmC5Sjb+dsiuQTZcF +nVEyh1OEMRr0B5TDVXU5tqDa3niLDB/2SQ== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_01_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x25, 0x6d, 0xd0, 0x98, 0xbf, 0x97, 0xb5, 0xf2, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, + 0x15, 0x30, 0x01, 0x08, 0x03, 0xe5, 0x45, 0x90, 0xde, 0x19, 0x04, 0x37, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x01, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, - 0x09, 0x41, 0x04, 0xba, 0xba, 0x8e, 0x3e, 0x18, 0xce, 0xfc, 0xb6, 0x56, 0x8a, 0xf6, 0xce, 0x32, 0xcc, 0x0d, 0xdf, 0x62, - 0x5f, 0xed, 0xa5, 0x55, 0x2a, 0xce, 0x70, 0xed, 0xf1, 0xda, 0xe9, 0x2c, 0xa9, 0xc0, 0x47, 0xde, 0x23, 0xe7, 0x57, 0x0b, - 0x25, 0xad, 0x46, 0xb8, 0x86, 0xfb, 0x57, 0xf9, 0xc2, 0xef, 0x26, 0xb5, 0xce, 0xed, 0xf6, 0x30, 0xb8, 0xf5, 0x5a, 0x94, - 0x5c, 0x12, 0x51, 0x1a, 0x4d, 0x9b, 0x9a, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, - 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xc2, 0x92, 0x42, 0x54, 0x44, 0x76, 0x84, 0x14, 0x9e, 0x93, 0x34, 0xef, 0x5b, - 0x9d, 0xa6, 0x17, 0x4c, 0x33, 0x8c, 0x1c, 0x30, 0x05, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, - 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x18, 0x30, 0x0b, 0x40, 0x01, 0x4c, 0x7e, 0xe3, 0xec, 0x5f, - 0x79, 0x18, 0xa4, 0x70, 0x87, 0x64, 0xb5, 0xff, 0x44, 0x23, 0x50, 0x52, 0xfc, 0xb0, 0xe9, 0x4e, 0xe8, 0x7a, 0x1f, 0x68, - 0x18, 0xf3, 0x97, 0x09, 0xb1, 0xbd, 0x46, 0x7b, 0xf3, 0xe6, 0xac, 0x29, 0x23, 0xe1, 0x81, 0xaf, 0x75, 0x6e, 0x93, 0xca, - 0x75, 0x95, 0xa0, 0x5c, 0x6b, 0xf5, 0x09, 0xb2, 0x76, 0xc0, 0x35, 0xa7, 0x6a, 0x1d, 0x77, 0x41, 0x8f, 0x00, 0x18, + 0x09, 0x41, 0x04, 0xa5, 0x70, 0x10, 0x42, 0xaa, 0x69, 0x14, 0x20, 0xf5, 0xce, 0xf5, 0xbb, 0x65, 0x2e, 0xde, 0xd7, 0x43, + 0xcc, 0x4d, 0x6f, 0x00, 0x0e, 0x11, 0x35, 0xf0, 0xef, 0x69, 0x98, 0x2e, 0x52, 0x8d, 0xbf, 0x9d, 0xb2, 0x2b, 0x90, 0x4d, + 0x97, 0x05, 0x9d, 0x51, 0x32, 0x87, 0x53, 0x84, 0x31, 0x1a, 0xf4, 0x07, 0x94, 0xc3, 0x55, 0x75, 0x39, 0xb6, 0xa0, 0xda, + 0xde, 0x78, 0x8b, 0x0c, 0x1f, 0xf6, 0x49, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, + 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xb4, 0x67, 0x76, 0xe1, 0xcc, 0x0a, 0xf7, 0x81, 0x54, 0xc6, 0x2b, 0x5a, 0x17, + 0x98, 0x42, 0x64, 0xba, 0xf5, 0x50, 0x86, 0x30, 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, + 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x18, 0x30, 0x0b, 0x40, 0x26, 0x46, 0x9a, 0x64, 0x2d, 0x9d, + 0xcd, 0xc8, 0x37, 0xfb, 0xee, 0x58, 0x25, 0xbe, 0x2f, 0xf3, 0xb9, 0x6a, 0x10, 0xe9, 0xb0, 0x33, 0x73, 0x4a, 0xd5, 0xfd, + 0x19, 0x98, 0x6d, 0x2c, 0x90, 0x9c, 0x81, 0x86, 0xfc, 0x9c, 0x5b, 0x3a, 0x47, 0xc3, 0x35, 0xca, 0x16, 0xd0, 0xae, 0xd1, + 0xaa, 0xc8, 0x9a, 0x20, 0x37, 0x08, 0x50, 0xb4, 0x15, 0xeb, 0x62, 0x3a, 0x73, 0xc3, 0x38, 0x19, 0x33, 0x74, 0x18, }; -extern const uint32_t sTestCert_Node02_01_Chip_Len = sizeof(sTestCert_Node02_01_Chip); +extern const size_t sTestCert_Node02_01_Chip_Len = sizeof(sTestCert_Node02_01_Chip); extern const uint8_t sTestCert_Node02_01_DER[] = { - 0x30, 0x82, 0x02, 0x01, 0x30, 0x82, 0x01, 0xa8, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x25, 0x6d, 0xd0, 0x98, 0xbf, 0x97, - 0xb5, 0xf2, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x02, 0x30, 0x82, 0x01, 0xa8, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x03, 0xe5, 0x45, 0x90, 0xde, 0x19, + 0x04, 0x37, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -1464,57 +1469,57 @@ extern const uint8_t sTestCert_Node02_01_DER[] = { 0x32, 0x30, 0x30, 0x30, 0x31, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0xba, 0xba, 0x8e, 0x3e, 0x18, 0xce, 0xfc, 0xb6, 0x56, 0x8a, 0xf6, 0xce, 0x32, 0xcc, 0x0d, 0xdf, 0x62, 0x5f, - 0xed, 0xa5, 0x55, 0x2a, 0xce, 0x70, 0xed, 0xf1, 0xda, 0xe9, 0x2c, 0xa9, 0xc0, 0x47, 0xde, 0x23, 0xe7, 0x57, 0x0b, 0x25, 0xad, - 0x46, 0xb8, 0x86, 0xfb, 0x57, 0xf9, 0xc2, 0xef, 0x26, 0xb5, 0xce, 0xed, 0xf6, 0x30, 0xb8, 0xf5, 0x5a, 0x94, 0x5c, 0x12, 0x51, - 0x1a, 0x4d, 0x9b, 0x9a, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x42, 0x00, 0x04, 0xa5, 0x70, 0x10, 0x42, 0xaa, 0x69, 0x14, 0x20, 0xf5, 0xce, 0xf5, 0xbb, 0x65, 0x2e, 0xde, 0xd7, 0x43, 0xcc, + 0x4d, 0x6f, 0x00, 0x0e, 0x11, 0x35, 0xf0, 0xef, 0x69, 0x98, 0x2e, 0x52, 0x8d, 0xbf, 0x9d, 0xb2, 0x2b, 0x90, 0x4d, 0x97, 0x05, + 0x9d, 0x51, 0x32, 0x87, 0x53, 0x84, 0x31, 0x1a, 0xf4, 0x07, 0x94, 0xc3, 0x55, 0x75, 0x39, 0xb6, 0xa0, 0xda, 0xde, 0x78, 0x8b, + 0x0c, 0x1f, 0xf6, 0x49, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, - 0x14, 0xc2, 0x92, 0x42, 0x54, 0x44, 0x76, 0x84, 0x14, 0x9e, 0x93, 0x34, 0xef, 0x5b, 0x9d, 0xa6, 0x17, 0x4c, 0x33, 0x8c, 0x1c, - 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, - 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, - 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x01, 0x4c, 0x7e, 0xe3, 0xec, 0x5f, 0x79, 0x18, 0xa4, 0x70, 0x87, - 0x64, 0xb5, 0xff, 0x44, 0x23, 0x50, 0x52, 0xfc, 0xb0, 0xe9, 0x4e, 0xe8, 0x7a, 0x1f, 0x68, 0x18, 0xf3, 0x97, 0x09, 0xb1, 0xbd, - 0x02, 0x20, 0x46, 0x7b, 0xf3, 0xe6, 0xac, 0x29, 0x23, 0xe1, 0x81, 0xaf, 0x75, 0x6e, 0x93, 0xca, 0x75, 0x95, 0xa0, 0x5c, 0x6b, - 0xf5, 0x09, 0xb2, 0x76, 0xc0, 0x35, 0xa7, 0x6a, 0x1d, 0x77, 0x41, 0x8f, 0x00, + 0x14, 0xb4, 0x67, 0x76, 0xe1, 0xcc, 0x0a, 0xf7, 0x81, 0x54, 0xc6, 0x2b, 0x5a, 0x17, 0x98, 0x42, 0x64, 0xba, 0xf5, 0x50, 0x86, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, + 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, + 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x26, 0x46, 0x9a, 0x64, 0x2d, 0x9d, 0xcd, 0xc8, 0x37, 0xfb, 0xee, + 0x58, 0x25, 0xbe, 0x2f, 0xf3, 0xb9, 0x6a, 0x10, 0xe9, 0xb0, 0x33, 0x73, 0x4a, 0xd5, 0xfd, 0x19, 0x98, 0x6d, 0x2c, 0x90, 0x9c, + 0x02, 0x21, 0x00, 0x81, 0x86, 0xfc, 0x9c, 0x5b, 0x3a, 0x47, 0xc3, 0x35, 0xca, 0x16, 0xd0, 0xae, 0xd1, 0xaa, 0xc8, 0x9a, 0x20, + 0x37, 0x08, 0x50, 0xb4, 0x15, 0xeb, 0x62, 0x3a, 0x73, 0xc3, 0x38, 0x19, 0x33, 0x74, }; -extern const uint32_t sTestCert_Node02_01_DER_Len = sizeof(sTestCert_Node02_01_DER); +extern const size_t sTestCert_Node02_01_DER_Len = sizeof(sTestCert_Node02_01_DER); extern const uint8_t sTestCert_Node02_01_PublicKey[] = { - 0x04, 0xba, 0xba, 0x8e, 0x3e, 0x18, 0xce, 0xfc, 0xb6, 0x56, 0x8a, 0xf6, 0xce, 0x32, 0xcc, 0x0d, 0xdf, - 0x62, 0x5f, 0xed, 0xa5, 0x55, 0x2a, 0xce, 0x70, 0xed, 0xf1, 0xda, 0xe9, 0x2c, 0xa9, 0xc0, 0x47, 0xde, - 0x23, 0xe7, 0x57, 0x0b, 0x25, 0xad, 0x46, 0xb8, 0x86, 0xfb, 0x57, 0xf9, 0xc2, 0xef, 0x26, 0xb5, 0xce, - 0xed, 0xf6, 0x30, 0xb8, 0xf5, 0x5a, 0x94, 0x5c, 0x12, 0x51, 0x1a, 0x4d, 0x9b, 0x9a, + 0x04, 0xa5, 0x70, 0x10, 0x42, 0xaa, 0x69, 0x14, 0x20, 0xf5, 0xce, 0xf5, 0xbb, 0x65, 0x2e, 0xde, 0xd7, + 0x43, 0xcc, 0x4d, 0x6f, 0x00, 0x0e, 0x11, 0x35, 0xf0, 0xef, 0x69, 0x98, 0x2e, 0x52, 0x8d, 0xbf, 0x9d, + 0xb2, 0x2b, 0x90, 0x4d, 0x97, 0x05, 0x9d, 0x51, 0x32, 0x87, 0x53, 0x84, 0x31, 0x1a, 0xf4, 0x07, 0x94, + 0xc3, 0x55, 0x75, 0x39, 0xb6, 0xa0, 0xda, 0xde, 0x78, 0x8b, 0x0c, 0x1f, 0xf6, 0x49, }; -extern const uint8_t sTestCert_Node02_01_PublicKey_Len = sizeof(sTestCert_Node02_01_PublicKey); +extern const size_t sTestCert_Node02_01_PublicKey_Len = sizeof(sTestCert_Node02_01_PublicKey); extern const uint8_t sTestCert_Node02_01_PrivateKey[] = { - 0xeb, 0x99, 0xd6, 0xc5, 0x7a, 0xb8, 0x58, 0xd7, 0x94, 0x7f, 0xd0, 0x5f, 0x7d, 0x54, 0x08, 0xc5, - 0xb5, 0xc7, 0xa2, 0xf5, 0xaf, 0xaf, 0x31, 0x60, 0x92, 0x74, 0x20, 0x9a, 0xbd, 0x20, 0x19, 0xa6, + 0xb4, 0x9f, 0x0e, 0x37, 0x24, 0x9c, 0x48, 0xc2, 0x5b, 0xa3, 0x0c, 0x7a, 0xfc, 0x4c, 0x94, 0x4f, + 0x88, 0xac, 0x3c, 0x03, 0xc5, 0xb2, 0xa1, 0x93, 0x6b, 0xd8, 0x67, 0x15, 0xad, 0x7b, 0xe9, 0x24, }; -extern const uint8_t sTestCert_Node02_01_PrivateKey_Len = sizeof(sTestCert_Node02_01_PrivateKey); +extern const size_t sTestCert_Node02_01_PrivateKey_Len = sizeof(sTestCert_Node02_01_PrivateKey); extern const uint8_t sTestCert_Node02_01_SubjectKeyId[] = { - 0xC2, 0x92, 0x42, 0x54, 0x44, 0x76, 0x84, 0x14, 0x9E, 0x93, 0x34, 0xEF, 0x5B, 0x9D, 0xA6, 0x17, 0x4C, 0x33, 0x8C, 0x1C, + 0xB4, 0x67, 0x76, 0xE1, 0xCC, 0x0A, 0xF7, 0x81, 0x54, 0xC6, 0x2B, 0x5A, 0x17, 0x98, 0x42, 0x64, 0xBA, 0xF5, 0x50, 0x86, }; -extern const uint8_t sTestCert_Node02_01_SubjectKeyId_Len = sizeof(sTestCert_Node02_01_SubjectKeyId); +extern const size_t sTestCert_Node02_01_SubjectKeyId_Len = sizeof(sTestCert_Node02_01_SubjectKeyId); extern const uint8_t sTestCert_Node02_01_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_01_AuthorityKeyId_Len = sizeof(sTestCert_Node02_01_AuthorityKeyId); +extern const size_t sTestCert_Node02_01_AuthorityKeyId_Len = sizeof(sTestCert_Node02_01_AuthorityKeyId); /************** Test Node02_02 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 6640147435493508949 (0x5c268ae95ccfc755) + Serial Number: 1052152040695922986 (0xe99feb4db62012a) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -1522,11 +1527,11 @@ extern const uint8_t sTestCert_Node02_01_AuthorityKeyId_Len = sizeof(sTestCert_N Not After : Oct 15 14:23:42 2040 GMT Subject: 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020002, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D, CN = TEST CERT COMMON NAME Attr for Node02_02 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:b2:87:29:92:2c:b1:c1:eb:3a:67:c1:8a:b3:1f: - f3:bf:27:f8:e8:8e:1f:1d:70:98:9b:30:10:90:d0: - e3:62:a4:6b:47:08:11:d1:70:85:cf:69:23:85:5e: - 7a:c7:23:61:c7:13:96:06:fc:a6:79:cf:91:65:97: - 10:cc:e7:df:78 + 04:f6:a0:95:8f:b8:fc:32:53:4a:7a:4d:44:87:4b: + 51:0f:30:9a:df:e6:51:42:2b:35:70:63:05:88:11: + b7:d5:bc:56:36:66:d5:48:db:2f:35:23:4d:d2:22: + 1b:e4:04:2f:ce:c4:74:0e:10:5e:08:b7:89:68:a7: + 94:a1:84:16:d7 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1537,62 +1542,62 @@ for Node02_02 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Publ X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - 40:90:A7:74:DA:49:53:CF:A8:46:66:7E:8D:7F:B7:4A:51:80:D0:EA + 21:F4:13:AA:28:D3:89:AF:4E:EE:25:71:1E:DF:A1:98:F7:71:88:85 X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:20:46:56:be:52:4b:97:29:ff:9c:79:93:d2:86:0f: - 18:86:2d:05:93:77:10:aa:f0:50:61:3c:ab:66:57:d4:60:f1: - 02:21:00:fe:59:c2:1e:2b:2d:46:fc:b8:64:f5:f5:82:f5:45: - f9:99:33:67:db:41:84:44:10:79:7a:60:2a:3f:15:4f:e0 + 30:45:02:20:27:1b:0d:b2:11:95:14:d5:08:02:31:76:34:52: + 25:c4:a8:ca:9e:c2:10:f6:ae:dc:0a:e1:03:73:77:f6:f8:48: + 02:21:00:86:bb:6a:20:27:42:da:75:c9:2d:43:1d:f8:ed:ba: + cb:8c:30:73:b8:10:0a:a1:9d:46:9e:c8:e4:92:1e:b8:13 -----BEGIN CERTIFICATE----- -MIICNTCCAdugAwIBAgIIXCaK6VzPx1UwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICNTCCAdugAwIBAgIIDpn+tNtiASowCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowdzEgMB4G CisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDIxIDAeBgorBgEEAYKifAEFDBBG QUIwMDAwMDAwMDAwMDFEMTEwLwYDVQQDDChURVNUIENFUlQgQ09NTU9OIE5BTUUg -QXR0ciBmb3IgTm9kZTAyXzAyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsocp -kiyxwes6Z8GKsx/zvyf46I4fHXCYmzAQkNDjYqRrRwgR0XCFz2kjhV56xyNhxxOW -Bvymec+RZZcQzOffeKOBgzCBgDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH -gDAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFECQ -p3TaSVPPqEZmfo1/t0pRgNDqMB8GA1UdIwQYMBaAFM9CvPjfSAnZJm8jFVoWsH8E -uz2EMAoGCCqGSM49BAMCA0gAMEUCIEZWvlJLlyn/nHmT0oYPGIYtBZN3EKrwUGE8 -q2ZX1GDxAiEA/lnCHistRvy4ZPX1gvVF+ZkzZ9tBhEQQeXpgKj8VT+A= +QXR0ciBmb3IgTm9kZTAyXzAyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9qCV +j7j8MlNKek1Eh0tRDzCa3+ZRQis1cGMFiBG31bxWNmbVSNsvNSNN0iIb5AQvzsR0 +DhBeCLeJaKeUoYQW16OBgzCBgDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIH +gDAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFCH0 +E6oo04mvTu4lcR7foZj3cYiFMB8GA1UdIwQYMBaAFOHnbmd3hR3XdBa93TXsPBN8 +RyncMAoGCCqGSM49BAMCA0gAMEUCICcbDbIRlRTVCAIxdjRSJcSoyp7CEPau3Arh +A3N39vhIAiEAhrtqICdC2nXJLUMd+O26y4wwc7gQCqGdRp7I5JIeuBM= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEII9E84s+nWG26ZmAtXeJSWFbkr6fkBuPuTWiF8YmgEk0oAoGCCqGSM49 -AwEHoUQDQgAEsocpkiyxwes6Z8GKsx/zvyf46I4fHXCYmzAQkNDjYqRrRwgR0XCF -z2kjhV56xyNhxxOWBvymec+RZZcQzOffeA== +MHcCAQEEIOd1sYI17TVC8waIZL6dpiSIeqjoLCmMS1ogbQa1sIVzoAoGCCqGSM49 +AwEHoUQDQgAE9qCVj7j8MlNKek1Eh0tRDzCa3+ZRQis1cGMFiBG31bxWNmbVSNsv +NSNN0iIb5AQvzsR0DhBeCLeJaKeUoYQW1w== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_02_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x5c, 0x26, 0x8a, 0xe9, 0x5c, 0xcf, 0xc7, 0x55, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x0e, 0x99, 0xfe, 0xb4, 0xdb, 0x62, 0x01, 0x2a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x02, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x2c, 0x01, 0x28, 0x54, 0x45, 0x53, 0x54, 0x20, 0x43, 0x45, 0x52, 0x54, 0x20, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x41, 0x74, 0x74, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x4e, 0x6f, 0x64, 0x65, 0x30, 0x32, 0x5f, 0x30, 0x32, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, - 0xb2, 0x87, 0x29, 0x92, 0x2c, 0xb1, 0xc1, 0xeb, 0x3a, 0x67, 0xc1, 0x8a, 0xb3, 0x1f, 0xf3, 0xbf, 0x27, 0xf8, 0xe8, 0x8e, 0x1f, - 0x1d, 0x70, 0x98, 0x9b, 0x30, 0x10, 0x90, 0xd0, 0xe3, 0x62, 0xa4, 0x6b, 0x47, 0x08, 0x11, 0xd1, 0x70, 0x85, 0xcf, 0x69, 0x23, - 0x85, 0x5e, 0x7a, 0xc7, 0x23, 0x61, 0xc7, 0x13, 0x96, 0x06, 0xfc, 0xa6, 0x79, 0xcf, 0x91, 0x65, 0x97, 0x10, 0xcc, 0xe7, 0xdf, - 0x78, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, - 0x40, 0x90, 0xa7, 0x74, 0xda, 0x49, 0x53, 0xcf, 0xa8, 0x46, 0x66, 0x7e, 0x8d, 0x7f, 0xb7, 0x4a, 0x51, 0x80, 0xd0, 0xea, 0x30, - 0x05, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, - 0x84, 0x18, 0x30, 0x0b, 0x40, 0x46, 0x56, 0xbe, 0x52, 0x4b, 0x97, 0x29, 0xff, 0x9c, 0x79, 0x93, 0xd2, 0x86, 0x0f, 0x18, 0x86, - 0x2d, 0x05, 0x93, 0x77, 0x10, 0xaa, 0xf0, 0x50, 0x61, 0x3c, 0xab, 0x66, 0x57, 0xd4, 0x60, 0xf1, 0xfe, 0x59, 0xc2, 0x1e, 0x2b, - 0x2d, 0x46, 0xfc, 0xb8, 0x64, 0xf5, 0xf5, 0x82, 0xf5, 0x45, 0xf9, 0x99, 0x33, 0x67, 0xdb, 0x41, 0x84, 0x44, 0x10, 0x79, 0x7a, - 0x60, 0x2a, 0x3f, 0x15, 0x4f, 0xe0, 0x18, + 0xf6, 0xa0, 0x95, 0x8f, 0xb8, 0xfc, 0x32, 0x53, 0x4a, 0x7a, 0x4d, 0x44, 0x87, 0x4b, 0x51, 0x0f, 0x30, 0x9a, 0xdf, 0xe6, 0x51, + 0x42, 0x2b, 0x35, 0x70, 0x63, 0x05, 0x88, 0x11, 0xb7, 0xd5, 0xbc, 0x56, 0x36, 0x66, 0xd5, 0x48, 0xdb, 0x2f, 0x35, 0x23, 0x4d, + 0xd2, 0x22, 0x1b, 0xe4, 0x04, 0x2f, 0xce, 0xc4, 0x74, 0x0e, 0x10, 0x5e, 0x08, 0xb7, 0x89, 0x68, 0xa7, 0x94, 0xa1, 0x84, 0x16, + 0xd7, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, + 0x21, 0xf4, 0x13, 0xaa, 0x28, 0xd3, 0x89, 0xaf, 0x4e, 0xee, 0x25, 0x71, 0x1e, 0xdf, 0xa1, 0x98, 0xf7, 0x71, 0x88, 0x85, 0x30, + 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, + 0xdc, 0x18, 0x30, 0x0b, 0x40, 0x27, 0x1b, 0x0d, 0xb2, 0x11, 0x95, 0x14, 0xd5, 0x08, 0x02, 0x31, 0x76, 0x34, 0x52, 0x25, 0xc4, + 0xa8, 0xca, 0x9e, 0xc2, 0x10, 0xf6, 0xae, 0xdc, 0x0a, 0xe1, 0x03, 0x73, 0x77, 0xf6, 0xf8, 0x48, 0x86, 0xbb, 0x6a, 0x20, 0x27, + 0x42, 0xda, 0x75, 0xc9, 0x2d, 0x43, 0x1d, 0xf8, 0xed, 0xba, 0xcb, 0x8c, 0x30, 0x73, 0xb8, 0x10, 0x0a, 0xa1, 0x9d, 0x46, 0x9e, + 0xc8, 0xe4, 0x92, 0x1e, 0xb8, 0x13, 0x18, }; -extern const uint32_t sTestCert_Node02_02_Chip_Len = sizeof(sTestCert_Node02_02_Chip); +extern const size_t sTestCert_Node02_02_Chip_Len = sizeof(sTestCert_Node02_02_Chip); extern const uint8_t sTestCert_Node02_02_DER[] = { - 0x30, 0x82, 0x02, 0x35, 0x30, 0x82, 0x01, 0xdb, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x5c, 0x26, 0x8a, 0xe9, 0x5c, 0xcf, - 0xc7, 0x55, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x35, 0x30, 0x82, 0x01, 0xdb, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0e, 0x99, 0xfe, 0xb4, 0xdb, 0x62, + 0x01, 0x2a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -1604,70 +1609,71 @@ extern const uint8_t sTestCert_Node02_02_DER[] = { 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x54, 0x45, 0x53, 0x54, 0x20, 0x43, 0x45, 0x52, 0x54, 0x20, 0x43, 0x4f, 0x4d, 0x4d, 0x4f, 0x4e, 0x20, 0x4e, 0x41, 0x4d, 0x45, 0x20, 0x41, 0x74, 0x74, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x4e, 0x6f, 0x64, 0x65, 0x30, 0x32, 0x5f, 0x30, 0x32, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, - 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xb2, 0x87, 0x29, 0x92, 0x2c, 0xb1, 0xc1, 0xeb, 0x3a, - 0x67, 0xc1, 0x8a, 0xb3, 0x1f, 0xf3, 0xbf, 0x27, 0xf8, 0xe8, 0x8e, 0x1f, 0x1d, 0x70, 0x98, 0x9b, 0x30, 0x10, 0x90, 0xd0, 0xe3, - 0x62, 0xa4, 0x6b, 0x47, 0x08, 0x11, 0xd1, 0x70, 0x85, 0xcf, 0x69, 0x23, 0x85, 0x5e, 0x7a, 0xc7, 0x23, 0x61, 0xc7, 0x13, 0x96, - 0x06, 0xfc, 0xa6, 0x79, 0xcf, 0x91, 0x65, 0x97, 0x10, 0xcc, 0xe7, 0xdf, 0x78, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, + 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xf6, 0xa0, 0x95, 0x8f, 0xb8, 0xfc, 0x32, 0x53, 0x4a, + 0x7a, 0x4d, 0x44, 0x87, 0x4b, 0x51, 0x0f, 0x30, 0x9a, 0xdf, 0xe6, 0x51, 0x42, 0x2b, 0x35, 0x70, 0x63, 0x05, 0x88, 0x11, 0xb7, + 0xd5, 0xbc, 0x56, 0x36, 0x66, 0xd5, 0x48, 0xdb, 0x2f, 0x35, 0x23, 0x4d, 0xd2, 0x22, 0x1b, 0xe4, 0x04, 0x2f, 0xce, 0xc4, 0x74, + 0x0e, 0x10, 0x5e, 0x08, 0xb7, 0x89, 0x68, 0xa7, 0x94, 0xa1, 0x84, 0x16, 0xd7, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, - 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x40, 0x90, 0xa7, 0x74, 0xda, 0x49, 0x53, 0xcf, 0xa8, 0x46, 0x66, - 0x7e, 0x8d, 0x7f, 0xb7, 0x4a, 0x51, 0x80, 0xd0, 0xea, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, - 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, - 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x46, 0x56, - 0xbe, 0x52, 0x4b, 0x97, 0x29, 0xff, 0x9c, 0x79, 0x93, 0xd2, 0x86, 0x0f, 0x18, 0x86, 0x2d, 0x05, 0x93, 0x77, 0x10, 0xaa, 0xf0, - 0x50, 0x61, 0x3c, 0xab, 0x66, 0x57, 0xd4, 0x60, 0xf1, 0x02, 0x21, 0x00, 0xfe, 0x59, 0xc2, 0x1e, 0x2b, 0x2d, 0x46, 0xfc, 0xb8, - 0x64, 0xf5, 0xf5, 0x82, 0xf5, 0x45, 0xf9, 0x99, 0x33, 0x67, 0xdb, 0x41, 0x84, 0x44, 0x10, 0x79, 0x7a, 0x60, 0x2a, 0x3f, 0x15, - 0x4f, 0xe0, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x21, 0xf4, 0x13, 0xaa, 0x28, 0xd3, 0x89, 0xaf, 0x4e, 0xee, 0x25, + 0x71, 0x1e, 0xdf, 0xa1, 0x98, 0xf7, 0x71, 0x88, 0x85, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, + 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x27, 0x1b, + 0x0d, 0xb2, 0x11, 0x95, 0x14, 0xd5, 0x08, 0x02, 0x31, 0x76, 0x34, 0x52, 0x25, 0xc4, 0xa8, 0xca, 0x9e, 0xc2, 0x10, 0xf6, 0xae, + 0xdc, 0x0a, 0xe1, 0x03, 0x73, 0x77, 0xf6, 0xf8, 0x48, 0x02, 0x21, 0x00, 0x86, 0xbb, 0x6a, 0x20, 0x27, 0x42, 0xda, 0x75, 0xc9, + 0x2d, 0x43, 0x1d, 0xf8, 0xed, 0xba, 0xcb, 0x8c, 0x30, 0x73, 0xb8, 0x10, 0x0a, 0xa1, 0x9d, 0x46, 0x9e, 0xc8, 0xe4, 0x92, 0x1e, + 0xb8, 0x13, }; -extern const uint32_t sTestCert_Node02_02_DER_Len = sizeof(sTestCert_Node02_02_DER); +extern const size_t sTestCert_Node02_02_DER_Len = sizeof(sTestCert_Node02_02_DER); extern const uint8_t sTestCert_Node02_02_PublicKey[] = { - 0x04, 0xb2, 0x87, 0x29, 0x92, 0x2c, 0xb1, 0xc1, 0xeb, 0x3a, 0x67, 0xc1, 0x8a, 0xb3, 0x1f, 0xf3, 0xbf, - 0x27, 0xf8, 0xe8, 0x8e, 0x1f, 0x1d, 0x70, 0x98, 0x9b, 0x30, 0x10, 0x90, 0xd0, 0xe3, 0x62, 0xa4, 0x6b, - 0x47, 0x08, 0x11, 0xd1, 0x70, 0x85, 0xcf, 0x69, 0x23, 0x85, 0x5e, 0x7a, 0xc7, 0x23, 0x61, 0xc7, 0x13, - 0x96, 0x06, 0xfc, 0xa6, 0x79, 0xcf, 0x91, 0x65, 0x97, 0x10, 0xcc, 0xe7, 0xdf, 0x78, + 0x04, 0xf6, 0xa0, 0x95, 0x8f, 0xb8, 0xfc, 0x32, 0x53, 0x4a, 0x7a, 0x4d, 0x44, 0x87, 0x4b, 0x51, 0x0f, + 0x30, 0x9a, 0xdf, 0xe6, 0x51, 0x42, 0x2b, 0x35, 0x70, 0x63, 0x05, 0x88, 0x11, 0xb7, 0xd5, 0xbc, 0x56, + 0x36, 0x66, 0xd5, 0x48, 0xdb, 0x2f, 0x35, 0x23, 0x4d, 0xd2, 0x22, 0x1b, 0xe4, 0x04, 0x2f, 0xce, 0xc4, + 0x74, 0x0e, 0x10, 0x5e, 0x08, 0xb7, 0x89, 0x68, 0xa7, 0x94, 0xa1, 0x84, 0x16, 0xd7, }; -extern const uint8_t sTestCert_Node02_02_PublicKey_Len = sizeof(sTestCert_Node02_02_PublicKey); +extern const size_t sTestCert_Node02_02_PublicKey_Len = sizeof(sTestCert_Node02_02_PublicKey); extern const uint8_t sTestCert_Node02_02_PrivateKey[] = { - 0x8f, 0x44, 0xf3, 0x8b, 0x3e, 0x9d, 0x61, 0xb6, 0xe9, 0x99, 0x80, 0xb5, 0x77, 0x89, 0x49, 0x61, - 0x5b, 0x92, 0xbe, 0x9f, 0x90, 0x1b, 0x8f, 0xb9, 0x35, 0xa2, 0x17, 0xc6, 0x26, 0x80, 0x49, 0x34, + 0xe7, 0x75, 0xb1, 0x82, 0x35, 0xed, 0x35, 0x42, 0xf3, 0x06, 0x88, 0x64, 0xbe, 0x9d, 0xa6, 0x24, + 0x88, 0x7a, 0xa8, 0xe8, 0x2c, 0x29, 0x8c, 0x4b, 0x5a, 0x20, 0x6d, 0x06, 0xb5, 0xb0, 0x85, 0x73, }; -extern const uint8_t sTestCert_Node02_02_PrivateKey_Len = sizeof(sTestCert_Node02_02_PrivateKey); +extern const size_t sTestCert_Node02_02_PrivateKey_Len = sizeof(sTestCert_Node02_02_PrivateKey); extern const uint8_t sTestCert_Node02_02_SubjectKeyId[] = { - 0x40, 0x90, 0xA7, 0x74, 0xDA, 0x49, 0x53, 0xCF, 0xA8, 0x46, 0x66, 0x7E, 0x8D, 0x7F, 0xB7, 0x4A, 0x51, 0x80, 0xD0, 0xEA, + 0x21, 0xF4, 0x13, 0xAA, 0x28, 0xD3, 0x89, 0xAF, 0x4E, 0xEE, 0x25, 0x71, 0x1E, 0xDF, 0xA1, 0x98, 0xF7, 0x71, 0x88, 0x85, }; -extern const uint8_t sTestCert_Node02_02_SubjectKeyId_Len = sizeof(sTestCert_Node02_02_SubjectKeyId); +extern const size_t sTestCert_Node02_02_SubjectKeyId_Len = sizeof(sTestCert_Node02_02_SubjectKeyId); extern const uint8_t sTestCert_Node02_02_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_02_AuthorityKeyId_Len = sizeof(sTestCert_Node02_02_AuthorityKeyId); +extern const size_t sTestCert_Node02_02_AuthorityKeyId_Len = sizeof(sTestCert_Node02_02_AuthorityKeyId); /************** Test Node02_03 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 7412840857549301709 (0x66dfb37c2aba67cd) + Serial Number: 1067793285220423275 (0xed19055e31c566b) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity Not Before: Oct 15 14:23:43 2020 GMT Not After : Oct 15 14:23:42 2040 GMT Subject: 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020003, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D, CN = -TestCert02_03, 1.3.6.1.4.1.37244.1.6 = A001B001, 1.3.6.1.4.1.37244.1.7 = A001B002 Subject Public Key Info: Public Key Algorithm: -id-ecPublicKey Public-Key: (256 bit) pub: 04:43:cd:fa:bc:f2:f4:8c:10:6f:5f:d8:90:87:29: - ee:fd:6e:ea:92:b6:49:0e:10:53:6d:1b:0b:b0:c9: - 7a:28:83:57:21:69:1b:2a:4e:d2:a6:52:b0:dc:19: - d5:2a:30:ea:2d:58:6b:b1:22:0b:69:cd:d6:eb:0a: - 3e:e2:f2:5f:61 +TestCert02_03, 1.3.6.1.4.1.37244.1.6 = ABCD0001 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) + pub: + 04:ab:9b:9c:a9:e1:93:76:c4:f5:7d:de:c4:38:6a: + 00:fc:3e:8a:4b:38:8c:d1:8a:b4:ff:cc:da:45:62: + 08:0c:08:b5:e7:16:e6:b2:ce:c5:7d:22:d6:01:87: + a9:20:fb:a0:b4:57:b9:ac:8c:29:e1:9a:36:7e:2f: + f0:1b:5c:7a:59 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1678,138 +1684,136 @@ id-ecPublicKey Public-Key: (256 bit) pub: 04:43:cd:fa:bc:f2:f4:8c:10:6f:5f:d8:90 X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - 31:1F:1B:10:15:5C:E5:4F:F0:C8:FC:F4:6E:F5:28:B9:B7:B0:0B:0A + E5:7F:7A:B3:74:B0:2F:53:EF:A0:A5:B6:52:F2:21:1C:1A:AF:05:CF X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:21:00:e1:f6:61:61:0e:c6:8a:42:e9:00:73:67:d0: - 74:f7:1a:60:80:a0:a4:4d:a6:bd:d7:d2:0f:8b:15:ec:2f:aa: - c4:02:20:65:a5:19:47:72:e9:fd:57:66:00:3d:ce:7c:a0:c0: - 1d:66:fb:a7:2d:9b:e4:7c:ec:41:ff:29:00:3c:16:43:5d + 30:46:02:21:00:8f:32:e6:83:2d:dd:ed:55:3e:02:02:d2:61: + 86:db:08:86:6e:2e:ac:3b:ec:3d:1f:11:d1:74:00:97:ee:5d: + ea:02:21:00:cc:22:75:f7:00:0c:a1:e5:e4:9b:ab:45:19:c6: + 70:f7:c2:50:9c:ce:18:97:ce:95:8a:e8:f4:a9:49:9f:33:ea -----BEGIN CERTIFICATE----- -MIICTzCCAfWgAwIBAgIIZt+zfCq6Z80wCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICNTCCAdqgAwIBAgIIDtGQVeMcVmswCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw -MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowgZAxIDAe -BgorBgEEAYKifAEBDBBERURFREVERTAwMDIwMDAzMSAwHgYKKwYBBAGConwBBQwQ -RkFCMDAwMDAwMDAwMDAxRDEWMBQGA1UEAwwNVGVzdENlcnQwMl8wMzEYMBYGCisG -AQQBgqJ8AQYMCEEwMDFCMDAxMRgwFgYKKwYBBAGConwBBwwIQTAwMUIwMDIwWTAT -BgcqhkjOPQIBBggqhkjOPQMBBwNCAARDzfq88vSMEG9f2JCHKe79buqStkkOEFNt -GwuwyXoog1chaRsqTtKmUrDcGdUqMOotWGuxIgtpzdbrCj7i8l9ho4GDMIGAMAwG -A1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMCAGA1UdJQEB/wQWMBQGCCsGAQUF -BwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUMR8bEBVc5U/wyPz0bvUoubewCwowHwYD -VR0jBBgwFoAUz0K8+N9ICdkmbyMVWhawfwS7PYQwCgYIKoZIzj0EAwIDSAAwRQIh -AOH2YWEOxopC6QBzZ9B09xpggKCkTaa919IPixXsL6rEAiBlpRlHcun9V2YAPc58 -oMAdZvunLZvkfOxB/ykAPBZDXQ== +MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowdjEgMB4G +CisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDMxIDAeBgorBgEEAYKifAEFDBBG +QUIwMDAwMDAwMDAwMDFEMRYwFAYDVQQDDA1UZXN0Q2VydDAyXzAzMRgwFgYKKwYB +BAGConwBBgwIQUJDRDAwMDEwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASrm5yp +4ZN2xPV93sQ4agD8PopLOIzRirT/zNpFYggMCLXnFuayzsV9ItYBh6kg+6C0V7ms +jCnhmjZ+L/AbXHpZo4GDMIGAMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeA +MCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAdBgNVHQ4EFgQU5X96 +s3SwL1PvoKW2UvIhHBqvBc8wHwYDVR0jBBgwFoAU4eduZ3eFHdd0Fr3dNew8E3xH +KdwwCgYIKoZIzj0EAwIDSQAwRgIhAI8y5oMt3e1VPgIC0mGG2wiGbi6sO+w9HxHR +dACX7l3qAiEAzCJ19wAMoeXkm6tFGcZw98JQnM4Yl86Viuj0qUmfM+o= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIDYTSAUOkPD9dKZt+VVyWHqWM4CwpFEW8UP2RJGtRZgboAoGCCqGSM49 -AwEHoUQDQgAEQ836vPL0jBBvX9iQhynu/W7qkrZJDhBTbRsLsMl6KINXIWkbKk7S -plKw3BnVKjDqLVhrsSILac3W6wo+4vJfYQ== +MHcCAQEEIAoS9pwV9C8RDuP063f4r+8FDAl18wZiFOWKMEP7IN66oAoGCCqGSM49 +AwEHoUQDQgAEq5ucqeGTdsT1fd7EOGoA/D6KSziM0Yq0/8zaRWIIDAi15xbmss7F +fSLWAYepIPugtFe5rIwp4Zo2fi/wG1x6WQ== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_03_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x66, 0xdf, 0xb3, 0x7c, 0x2a, 0xba, 0x67, 0xcd, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x0e, 0xd1, 0x90, 0x55, 0xe3, 0x1c, 0x56, 0x6b, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x03, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x2c, 0x01, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x30, - 0x32, 0x5f, 0x30, 0x33, 0x26, 0x16, 0x01, 0xb0, 0x01, 0xa0, 0x26, 0x17, 0x02, 0xb0, 0x01, 0xa0, 0x18, 0x24, 0x07, 0x01, 0x24, - 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x43, 0xcd, 0xfa, 0xbc, 0xf2, 0xf4, 0x8c, 0x10, 0x6f, 0x5f, 0xd8, 0x90, 0x87, 0x29, 0xee, - 0xfd, 0x6e, 0xea, 0x92, 0xb6, 0x49, 0x0e, 0x10, 0x53, 0x6d, 0x1b, 0x0b, 0xb0, 0xc9, 0x7a, 0x28, 0x83, 0x57, 0x21, 0x69, 0x1b, - 0x2a, 0x4e, 0xd2, 0xa6, 0x52, 0xb0, 0xdc, 0x19, 0xd5, 0x2a, 0x30, 0xea, 0x2d, 0x58, 0x6b, 0xb1, 0x22, 0x0b, 0x69, 0xcd, 0xd6, - 0xeb, 0x0a, 0x3e, 0xe2, 0xf2, 0x5f, 0x61, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, - 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x31, 0x1f, 0x1b, 0x10, 0x15, 0x5c, 0xe5, 0x4f, 0xf0, 0xc8, 0xfc, 0xf4, 0x6e, 0xf5, 0x28, - 0xb9, 0xb7, 0xb0, 0x0b, 0x0a, 0x30, 0x05, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, - 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x18, 0x30, 0x0b, 0x40, 0xe1, 0xf6, 0x61, 0x61, 0x0e, 0xc6, 0x8a, 0x42, 0xe9, 0x00, - 0x73, 0x67, 0xd0, 0x74, 0xf7, 0x1a, 0x60, 0x80, 0xa0, 0xa4, 0x4d, 0xa6, 0xbd, 0xd7, 0xd2, 0x0f, 0x8b, 0x15, 0xec, 0x2f, 0xaa, - 0xc4, 0x65, 0xa5, 0x19, 0x47, 0x72, 0xe9, 0xfd, 0x57, 0x66, 0x00, 0x3d, 0xce, 0x7c, 0xa0, 0xc0, 0x1d, 0x66, 0xfb, 0xa7, 0x2d, - 0x9b, 0xe4, 0x7c, 0xec, 0x41, 0xff, 0x29, 0x00, 0x3c, 0x16, 0x43, 0x5d, 0x18, + 0x32, 0x5f, 0x30, 0x33, 0x26, 0x16, 0x01, 0x00, 0xcd, 0xab, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, + 0xab, 0x9b, 0x9c, 0xa9, 0xe1, 0x93, 0x76, 0xc4, 0xf5, 0x7d, 0xde, 0xc4, 0x38, 0x6a, 0x00, 0xfc, 0x3e, 0x8a, 0x4b, 0x38, 0x8c, + 0xd1, 0x8a, 0xb4, 0xff, 0xcc, 0xda, 0x45, 0x62, 0x08, 0x0c, 0x08, 0xb5, 0xe7, 0x16, 0xe6, 0xb2, 0xce, 0xc5, 0x7d, 0x22, 0xd6, + 0x01, 0x87, 0xa9, 0x20, 0xfb, 0xa0, 0xb4, 0x57, 0xb9, 0xac, 0x8c, 0x29, 0xe1, 0x9a, 0x36, 0x7e, 0x2f, 0xf0, 0x1b, 0x5c, 0x7a, + 0x59, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, + 0xe5, 0x7f, 0x7a, 0xb3, 0x74, 0xb0, 0x2f, 0x53, 0xef, 0xa0, 0xa5, 0xb6, 0x52, 0xf2, 0x21, 0x1c, 0x1a, 0xaf, 0x05, 0xcf, 0x30, + 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, + 0xdc, 0x18, 0x30, 0x0b, 0x40, 0x8f, 0x32, 0xe6, 0x83, 0x2d, 0xdd, 0xed, 0x55, 0x3e, 0x02, 0x02, 0xd2, 0x61, 0x86, 0xdb, 0x08, + 0x86, 0x6e, 0x2e, 0xac, 0x3b, 0xec, 0x3d, 0x1f, 0x11, 0xd1, 0x74, 0x00, 0x97, 0xee, 0x5d, 0xea, 0xcc, 0x22, 0x75, 0xf7, 0x00, + 0x0c, 0xa1, 0xe5, 0xe4, 0x9b, 0xab, 0x45, 0x19, 0xc6, 0x70, 0xf7, 0xc2, 0x50, 0x9c, 0xce, 0x18, 0x97, 0xce, 0x95, 0x8a, 0xe8, + 0xf4, 0xa9, 0x49, 0x9f, 0x33, 0xea, 0x18, }; -extern const uint32_t sTestCert_Node02_03_Chip_Len = sizeof(sTestCert_Node02_03_Chip); +extern const size_t sTestCert_Node02_03_Chip_Len = sizeof(sTestCert_Node02_03_Chip); extern const uint8_t sTestCert_Node02_03_DER[] = { - 0x30, 0x82, 0x02, 0x4f, 0x30, 0x82, 0x01, 0xf5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x66, 0xdf, 0xb3, 0x7c, 0x2a, 0xba, - 0x67, 0xcd, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x35, 0x30, 0x82, 0x01, 0xda, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0e, 0xd1, 0x90, 0x55, 0xe3, 0x1c, + 0x56, 0x6b, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, - 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x81, 0x90, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, - 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x01, 0x0c, 0x10, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, - 0x30, 0x32, 0x30, 0x30, 0x30, 0x33, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, - 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x31, 0x16, - 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x30, 0x32, 0x5f, 0x30, - 0x33, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x30, - 0x30, 0x31, 0x42, 0x30, 0x30, 0x31, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, - 0x07, 0x0c, 0x08, 0x41, 0x30, 0x30, 0x31, 0x42, 0x30, 0x30, 0x32, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x43, 0xcd, 0xfa, 0xbc, - 0xf2, 0xf4, 0x8c, 0x10, 0x6f, 0x5f, 0xd8, 0x90, 0x87, 0x29, 0xee, 0xfd, 0x6e, 0xea, 0x92, 0xb6, 0x49, 0x0e, 0x10, 0x53, 0x6d, - 0x1b, 0x0b, 0xb0, 0xc9, 0x7a, 0x28, 0x83, 0x57, 0x21, 0x69, 0x1b, 0x2a, 0x4e, 0xd2, 0xa6, 0x52, 0xb0, 0xdc, 0x19, 0xd5, 0x2a, - 0x30, 0xea, 0x2d, 0x58, 0x6b, 0xb1, 0x22, 0x0b, 0x69, 0xcd, 0xd6, 0xeb, 0x0a, 0x3e, 0xe2, 0xf2, 0x5f, 0x61, 0xa3, 0x81, 0x83, - 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, - 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, - 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, - 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x31, 0x1f, 0x1b, 0x10, 0x15, 0x5c, - 0xe5, 0x4f, 0xf0, 0xc8, 0xfc, 0xf4, 0x6e, 0xf5, 0x28, 0xb9, 0xb7, 0xb0, 0x0b, 0x0a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, - 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, - 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, - 0x45, 0x02, 0x21, 0x00, 0xe1, 0xf6, 0x61, 0x61, 0x0e, 0xc6, 0x8a, 0x42, 0xe9, 0x00, 0x73, 0x67, 0xd0, 0x74, 0xf7, 0x1a, 0x60, - 0x80, 0xa0, 0xa4, 0x4d, 0xa6, 0xbd, 0xd7, 0xd2, 0x0f, 0x8b, 0x15, 0xec, 0x2f, 0xaa, 0xc4, 0x02, 0x20, 0x65, 0xa5, 0x19, 0x47, - 0x72, 0xe9, 0xfd, 0x57, 0x66, 0x00, 0x3d, 0xce, 0x7c, 0xa0, 0xc0, 0x1d, 0x66, 0xfb, 0xa7, 0x2d, 0x9b, 0xe4, 0x7c, 0xec, 0x41, - 0xff, 0x29, 0x00, 0x3c, 0x16, 0x43, 0x5d, + 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x76, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, + 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x01, 0x0c, 0x10, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, + 0x32, 0x30, 0x30, 0x30, 0x33, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, + 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x31, 0x16, 0x30, + 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x30, 0x32, 0x5f, 0x30, 0x33, + 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, + 0x44, 0x30, 0x30, 0x30, 0x31, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xab, 0x9b, 0x9c, 0xa9, 0xe1, 0x93, 0x76, 0xc4, 0xf5, 0x7d, + 0xde, 0xc4, 0x38, 0x6a, 0x00, 0xfc, 0x3e, 0x8a, 0x4b, 0x38, 0x8c, 0xd1, 0x8a, 0xb4, 0xff, 0xcc, 0xda, 0x45, 0x62, 0x08, 0x0c, + 0x08, 0xb5, 0xe7, 0x16, 0xe6, 0xb2, 0xce, 0xc5, 0x7d, 0x22, 0xd6, 0x01, 0x87, 0xa9, 0x20, 0xfb, 0xa0, 0xb4, 0x57, 0xb9, 0xac, + 0x8c, 0x29, 0xe1, 0x9a, 0x36, 0x7e, 0x2f, 0xf0, 0x1b, 0x5c, 0x7a, 0x59, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, + 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, + 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, + 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, + 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xe5, 0x7f, 0x7a, 0xb3, 0x74, 0xb0, 0x2f, 0x53, 0xef, 0xa0, 0xa5, 0xb6, + 0x52, 0xf2, 0x21, 0x1c, 0x1a, 0xaf, 0x05, 0xcf, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, + 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, + 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0x8f, 0x32, + 0xe6, 0x83, 0x2d, 0xdd, 0xed, 0x55, 0x3e, 0x02, 0x02, 0xd2, 0x61, 0x86, 0xdb, 0x08, 0x86, 0x6e, 0x2e, 0xac, 0x3b, 0xec, 0x3d, + 0x1f, 0x11, 0xd1, 0x74, 0x00, 0x97, 0xee, 0x5d, 0xea, 0x02, 0x21, 0x00, 0xcc, 0x22, 0x75, 0xf7, 0x00, 0x0c, 0xa1, 0xe5, 0xe4, + 0x9b, 0xab, 0x45, 0x19, 0xc6, 0x70, 0xf7, 0xc2, 0x50, 0x9c, 0xce, 0x18, 0x97, 0xce, 0x95, 0x8a, 0xe8, 0xf4, 0xa9, 0x49, 0x9f, + 0x33, 0xea, }; -extern const uint32_t sTestCert_Node02_03_DER_Len = sizeof(sTestCert_Node02_03_DER); +extern const size_t sTestCert_Node02_03_DER_Len = sizeof(sTestCert_Node02_03_DER); extern const uint8_t sTestCert_Node02_03_PublicKey[] = { - 0x04, 0x43, 0xcd, 0xfa, 0xbc, 0xf2, 0xf4, 0x8c, 0x10, 0x6f, 0x5f, 0xd8, 0x90, 0x87, 0x29, 0xee, 0xfd, - 0x6e, 0xea, 0x92, 0xb6, 0x49, 0x0e, 0x10, 0x53, 0x6d, 0x1b, 0x0b, 0xb0, 0xc9, 0x7a, 0x28, 0x83, 0x57, - 0x21, 0x69, 0x1b, 0x2a, 0x4e, 0xd2, 0xa6, 0x52, 0xb0, 0xdc, 0x19, 0xd5, 0x2a, 0x30, 0xea, 0x2d, 0x58, - 0x6b, 0xb1, 0x22, 0x0b, 0x69, 0xcd, 0xd6, 0xeb, 0x0a, 0x3e, 0xe2, 0xf2, 0x5f, 0x61, + 0x04, 0xab, 0x9b, 0x9c, 0xa9, 0xe1, 0x93, 0x76, 0xc4, 0xf5, 0x7d, 0xde, 0xc4, 0x38, 0x6a, 0x00, 0xfc, + 0x3e, 0x8a, 0x4b, 0x38, 0x8c, 0xd1, 0x8a, 0xb4, 0xff, 0xcc, 0xda, 0x45, 0x62, 0x08, 0x0c, 0x08, 0xb5, + 0xe7, 0x16, 0xe6, 0xb2, 0xce, 0xc5, 0x7d, 0x22, 0xd6, 0x01, 0x87, 0xa9, 0x20, 0xfb, 0xa0, 0xb4, 0x57, + 0xb9, 0xac, 0x8c, 0x29, 0xe1, 0x9a, 0x36, 0x7e, 0x2f, 0xf0, 0x1b, 0x5c, 0x7a, 0x59, }; -extern const uint8_t sTestCert_Node02_03_PublicKey_Len = sizeof(sTestCert_Node02_03_PublicKey); +extern const size_t sTestCert_Node02_03_PublicKey_Len = sizeof(sTestCert_Node02_03_PublicKey); extern const uint8_t sTestCert_Node02_03_PrivateKey[] = { - 0x36, 0x13, 0x48, 0x05, 0x0e, 0x90, 0xf0, 0xfd, 0x74, 0xa6, 0x6d, 0xf9, 0x55, 0x72, 0x58, 0x7a, - 0x96, 0x33, 0x80, 0xb0, 0xa4, 0x51, 0x16, 0xf1, 0x43, 0xf6, 0x44, 0x91, 0xad, 0x45, 0x98, 0x1b, + 0x0a, 0x12, 0xf6, 0x9c, 0x15, 0xf4, 0x2f, 0x11, 0x0e, 0xe3, 0xf4, 0xeb, 0x77, 0xf8, 0xaf, 0xef, + 0x05, 0x0c, 0x09, 0x75, 0xf3, 0x06, 0x62, 0x14, 0xe5, 0x8a, 0x30, 0x43, 0xfb, 0x20, 0xde, 0xba, }; -extern const uint8_t sTestCert_Node02_03_PrivateKey_Len = sizeof(sTestCert_Node02_03_PrivateKey); +extern const size_t sTestCert_Node02_03_PrivateKey_Len = sizeof(sTestCert_Node02_03_PrivateKey); extern const uint8_t sTestCert_Node02_03_SubjectKeyId[] = { - 0x31, 0x1F, 0x1B, 0x10, 0x15, 0x5C, 0xE5, 0x4F, 0xF0, 0xC8, 0xFC, 0xF4, 0x6E, 0xF5, 0x28, 0xB9, 0xB7, 0xB0, 0x0B, 0x0A, + 0xE5, 0x7F, 0x7A, 0xB3, 0x74, 0xB0, 0x2F, 0x53, 0xEF, 0xA0, 0xA5, 0xB6, 0x52, 0xF2, 0x21, 0x1C, 0x1A, 0xAF, 0x05, 0xCF, }; -extern const uint8_t sTestCert_Node02_03_SubjectKeyId_Len = sizeof(sTestCert_Node02_03_SubjectKeyId); +extern const size_t sTestCert_Node02_03_SubjectKeyId_Len = sizeof(sTestCert_Node02_03_SubjectKeyId); extern const uint8_t sTestCert_Node02_03_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_03_AuthorityKeyId_Len = sizeof(sTestCert_Node02_03_AuthorityKeyId); +extern const size_t sTestCert_Node02_03_AuthorityKeyId_Len = sizeof(sTestCert_Node02_03_AuthorityKeyId); /************** Test Node02_04 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 494219895904038480 (0x6dbd260784a6e50) + Serial Number: 8650176850154750578 (0x780b9a03bdc80272) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity Not Before: Oct 15 14:23:43 2020 GMT Not After : Oct 15 14:23:42 2040 GMT - Subject: 1.3.6.1.4.1.37244.1.6 = A001B001, CN = TestCert02_04, 1.3.6.1.4.1.37244.1.5 = -FAB000000000001D, 1.3.6.1.4.1.37244.1.7 = A001B002, 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020004 Subject Public Key Info: Public Key -Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:58:eb:6f:a0:34:4a:08:45:af:cf:d6:cf:31:fe: - 5e:92:27:4e:b6:31:ea:ad:ab:a3:4b:84:ee:8d:01: - 6e:e2:57:d5:37:4f:be:a8:04:86:d3:d9:3f:15:1c: - 3f:ea:24:25:a6:f4:57:b1:b7:87:79:9f:4b:a8:24: - 01:00:99:f8:8c + Subject: 1.3.6.1.4.1.37244.1.6 = ABCE1002, CN = TestCert02_04, 1.3.6.1.4.1.37244.1.5 = +FAB000000000001D, 1.3.6.1.4.1.37244.1.6 = ABCD0003, 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020004 Subject Public Key Info: Public Key +Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:ef:70:00:d0:0e:73:2e:02:9e:e6:c1:15:9a:b6: + 6c:a0:a2:e6:13:74:c9:2b:6f:45:b7:99:89:66:15: + 49:2b:7d:d5:aa:9d:87:fc:56:df:90:f8:0d:88:4b: + 3f:9f:79:3e:5b:a8:50:0c:be:85:87:a4:41:c2:21: + 5b:87:d7:1e:4a ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1820,137 +1824,137 @@ Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: 04:58:eb:6f:a0:34:4a:08:45: X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - 44:FA:8C:5F:32:EE:1F:FC:9D:98:1F:90:AB:2E:CC:D0:65:AC:ED:05 + B4:49:16:80:10:4F:C3:8D:9C:FA:DA:69:EA:30:85:14:4C:92:7D:2A X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC Signature Algorithm: ecdsa-with-SHA256 - 30:45:02:20:58:80:e4:98:79:04:6e:c1:08:51:38:fd:42:c7: - 48:8d:fc:a1:aa:aa:81:d8:37:87:a2:ee:2a:65:d9:f2:4f:09: - 02:21:00:91:85:9a:9d:2d:08:0d:9b:0b:14:a2:28:99:f1:fb: - c2:52:cf:52:94:a0:be:8f:3c:e5:bb:22:58:7b:9a:c2:b4 + 30:45:02:20:2d:13:c2:ac:58:01:83:77:58:4b:a6:2d:0d:d1: + cf:bc:d1:a0:da:20:ff:e7:61:79:e5:f2:f6:83:9a:50:90:70: + 02:21:00:c7:5b:07:89:74:26:73:f7:e5:02:64:cc:9c:ed:c0: + 01:c9:3c:9e:9c:05:02:90:3f:d7:3d:25:e3:1e:42:ad:24 -----BEGIN CERTIFICATE----- -MIICTzCCAfWgAwIBAgIIBtvSYHhKblAwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICTzCCAfWgAwIBAgIIeAuaA73IAnIwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowgZAxGDAW -BgorBgEEAYKifAEGDAhBMDAxQjAwMTEWMBQGA1UEAwwNVGVzdENlcnQwMl8wNDEg -MB4GCisGAQQBgqJ8AQUMEEZBQjAwMDAwMDAwMDAwMUQxGDAWBgorBgEEAYKifAEH -DAhBMDAxQjAwMjEgMB4GCisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDQwWTAT -BgcqhkjOPQIBBggqhkjOPQMBBwNCAARY62+gNEoIRa/P1s8x/l6SJ062Meqtq6NL -hO6NAW7iV9U3T76oBIbT2T8VHD/qJCWm9Fext4d5n0uoJAEAmfiMo4GDMIGAMAwG +BgorBgEEAYKifAEGDAhBQkNFMTAwMjEWMBQGA1UEAwwNVGVzdENlcnQwMl8wNDEg +MB4GCisGAQQBgqJ8AQUMEEZBQjAwMDAwMDAwMDAwMUQxGDAWBgorBgEEAYKifAEG +DAhBQkNEMDAwMzEgMB4GCisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDQwWTAT +BgcqhkjOPQIBBggqhkjOPQMBBwNCAATvcADQDnMuAp7mwRWatmygouYTdMkrb0W3 +mYlmFUkrfdWqnYf8Vt+Q+A2ISz+feT5bqFAMvoWHpEHCIVuH1x5Ko4GDMIGAMAwG A1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMCAGA1UdJQEB/wQWMBQGCCsGAQUF -BwMCBggrBgEFBQcDATAdBgNVHQ4EFgQURPqMXzLuH/ydmB+Qqy7M0GWs7QUwHwYD -VR0jBBgwFoAUz0K8+N9ICdkmbyMVWhawfwS7PYQwCgYIKoZIzj0EAwIDSAAwRQIg -WIDkmHkEbsEIUTj9QsdIjfyhqqqB2DeHou4qZdnyTwkCIQCRhZqdLQgNmwsUoiiZ -8fvCUs9SlKC+jzzluyJYe5rCtA== +BwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUtEkWgBBPw42c+tpp6jCFFEySfSowHwYD +VR0jBBgwFoAU4eduZ3eFHdd0Fr3dNew8E3xHKdwwCgYIKoZIzj0EAwIDSAAwRQIg +LRPCrFgBg3dYS6YtDdHPvNGg2iD/52F55fL2g5pQkHACIQDHWweJdCZz9+UCZMyc +7cAByTyenAUCkD/XPSXjHkKtJA== -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIEdIYYYWspTUN8CnTXQcKX+bIDQD7ns+orUuJdrxaC9woAoGCCqGSM49 -AwEHoUQDQgAEWOtvoDRKCEWvz9bPMf5ekidOtjHqraujS4TujQFu4lfVN0++qASG -09k/FRw/6iQlpvRXsbeHeZ9LqCQBAJn4jA== +MHcCAQEEIOGVhbY4gyNL3AJ8VJzNemfINBwBcuAW7MJd9uuchFq2oAoGCCqGSM49 +AwEHoUQDQgAE73AA0A5zLgKe5sEVmrZsoKLmE3TJK29Ft5mJZhVJK33Vqp2H/Fbf +kPgNiEs/n3k+W6hQDL6Fh6RBwiFbh9ceSg== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_04_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x06, 0xdb, 0xd2, 0x60, 0x78, 0x4a, 0x6e, 0x50, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x78, 0x0b, 0x9a, 0x03, 0xbd, 0xc8, 0x02, 0x72, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, - 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x26, 0x16, 0x01, 0xb0, 0x01, 0xa0, 0x2c, 0x01, 0x0d, 0x54, 0x65, + 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x26, 0x16, 0x02, 0x10, 0xce, 0xab, 0x2c, 0x01, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x30, 0x32, 0x5f, 0x30, 0x34, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, - 0x26, 0x17, 0x02, 0xb0, 0x01, 0xa0, 0x27, 0x11, 0x04, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x18, 0x24, 0x07, 0x01, 0x24, - 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x58, 0xeb, 0x6f, 0xa0, 0x34, 0x4a, 0x08, 0x45, 0xaf, 0xcf, 0xd6, 0xcf, 0x31, 0xfe, 0x5e, - 0x92, 0x27, 0x4e, 0xb6, 0x31, 0xea, 0xad, 0xab, 0xa3, 0x4b, 0x84, 0xee, 0x8d, 0x01, 0x6e, 0xe2, 0x57, 0xd5, 0x37, 0x4f, 0xbe, - 0xa8, 0x04, 0x86, 0xd3, 0xd9, 0x3f, 0x15, 0x1c, 0x3f, 0xea, 0x24, 0x25, 0xa6, 0xf4, 0x57, 0xb1, 0xb7, 0x87, 0x79, 0x9f, 0x4b, - 0xa8, 0x24, 0x01, 0x00, 0x99, 0xf8, 0x8c, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, - 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x44, 0xfa, 0x8c, 0x5f, 0x32, 0xee, 0x1f, 0xfc, 0x9d, 0x98, 0x1f, 0x90, 0xab, 0x2e, 0xcc, - 0xd0, 0x65, 0xac, 0xed, 0x05, 0x30, 0x05, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, - 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x18, 0x30, 0x0b, 0x40, 0x58, 0x80, 0xe4, 0x98, 0x79, 0x04, 0x6e, 0xc1, 0x08, 0x51, - 0x38, 0xfd, 0x42, 0xc7, 0x48, 0x8d, 0xfc, 0xa1, 0xaa, 0xaa, 0x81, 0xd8, 0x37, 0x87, 0xa2, 0xee, 0x2a, 0x65, 0xd9, 0xf2, 0x4f, - 0x09, 0x91, 0x85, 0x9a, 0x9d, 0x2d, 0x08, 0x0d, 0x9b, 0x0b, 0x14, 0xa2, 0x28, 0x99, 0xf1, 0xfb, 0xc2, 0x52, 0xcf, 0x52, 0x94, - 0xa0, 0xbe, 0x8f, 0x3c, 0xe5, 0xbb, 0x22, 0x58, 0x7b, 0x9a, 0xc2, 0xb4, 0x18, + 0x26, 0x16, 0x03, 0x00, 0xcd, 0xab, 0x27, 0x11, 0x04, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x18, 0x24, 0x07, 0x01, 0x24, + 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xef, 0x70, 0x00, 0xd0, 0x0e, 0x73, 0x2e, 0x02, 0x9e, 0xe6, 0xc1, 0x15, 0x9a, 0xb6, 0x6c, + 0xa0, 0xa2, 0xe6, 0x13, 0x74, 0xc9, 0x2b, 0x6f, 0x45, 0xb7, 0x99, 0x89, 0x66, 0x15, 0x49, 0x2b, 0x7d, 0xd5, 0xaa, 0x9d, 0x87, + 0xfc, 0x56, 0xdf, 0x90, 0xf8, 0x0d, 0x88, 0x4b, 0x3f, 0x9f, 0x79, 0x3e, 0x5b, 0xa8, 0x50, 0x0c, 0xbe, 0x85, 0x87, 0xa4, 0x41, + 0xc2, 0x21, 0x5b, 0x87, 0xd7, 0x1e, 0x4a, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, + 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xb4, 0x49, 0x16, 0x80, 0x10, 0x4f, 0xc3, 0x8d, 0x9c, 0xfa, 0xda, 0x69, 0xea, 0x30, 0x85, + 0x14, 0x4c, 0x92, 0x7d, 0x2a, 0x30, 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, + 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x18, 0x30, 0x0b, 0x40, 0x2d, 0x13, 0xc2, 0xac, 0x58, 0x01, 0x83, 0x77, 0x58, 0x4b, + 0xa6, 0x2d, 0x0d, 0xd1, 0xcf, 0xbc, 0xd1, 0xa0, 0xda, 0x20, 0xff, 0xe7, 0x61, 0x79, 0xe5, 0xf2, 0xf6, 0x83, 0x9a, 0x50, 0x90, + 0x70, 0xc7, 0x5b, 0x07, 0x89, 0x74, 0x26, 0x73, 0xf7, 0xe5, 0x02, 0x64, 0xcc, 0x9c, 0xed, 0xc0, 0x01, 0xc9, 0x3c, 0x9e, 0x9c, + 0x05, 0x02, 0x90, 0x3f, 0xd7, 0x3d, 0x25, 0xe3, 0x1e, 0x42, 0xad, 0x24, 0x18, }; -extern const uint32_t sTestCert_Node02_04_Chip_Len = sizeof(sTestCert_Node02_04_Chip); +extern const size_t sTestCert_Node02_04_Chip_Len = sizeof(sTestCert_Node02_04_Chip); extern const uint8_t sTestCert_Node02_04_DER[] = { - 0x30, 0x82, 0x02, 0x4f, 0x30, 0x82, 0x01, 0xf5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x06, 0xdb, 0xd2, 0x60, 0x78, 0x4a, - 0x6e, 0x50, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x4f, 0x30, 0x82, 0x01, 0xf5, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x78, 0x0b, 0x9a, 0x03, 0xbd, 0xc8, + 0x02, 0x72, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x81, 0x90, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, - 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x30, 0x30, 0x31, 0x42, 0x30, 0x30, 0x31, 0x31, 0x16, + 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x45, 0x31, 0x30, 0x30, 0x32, 0x31, 0x16, 0x30, 0x14, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x30, 0x32, 0x5f, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, - 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x07, 0x0c, 0x08, 0x41, 0x30, 0x30, 0x31, 0x42, 0x30, 0x30, 0x32, 0x31, 0x20, + 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x44, 0x30, 0x30, 0x30, 0x33, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x01, 0x0c, 0x10, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, 0x32, 0x30, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x58, 0xeb, 0x6f, 0xa0, - 0x34, 0x4a, 0x08, 0x45, 0xaf, 0xcf, 0xd6, 0xcf, 0x31, 0xfe, 0x5e, 0x92, 0x27, 0x4e, 0xb6, 0x31, 0xea, 0xad, 0xab, 0xa3, 0x4b, - 0x84, 0xee, 0x8d, 0x01, 0x6e, 0xe2, 0x57, 0xd5, 0x37, 0x4f, 0xbe, 0xa8, 0x04, 0x86, 0xd3, 0xd9, 0x3f, 0x15, 0x1c, 0x3f, 0xea, - 0x24, 0x25, 0xa6, 0xf4, 0x57, 0xb1, 0xb7, 0x87, 0x79, 0x9f, 0x4b, 0xa8, 0x24, 0x01, 0x00, 0x99, 0xf8, 0x8c, 0xa3, 0x81, 0x83, + 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xef, 0x70, 0x00, 0xd0, + 0x0e, 0x73, 0x2e, 0x02, 0x9e, 0xe6, 0xc1, 0x15, 0x9a, 0xb6, 0x6c, 0xa0, 0xa2, 0xe6, 0x13, 0x74, 0xc9, 0x2b, 0x6f, 0x45, 0xb7, + 0x99, 0x89, 0x66, 0x15, 0x49, 0x2b, 0x7d, 0xd5, 0xaa, 0x9d, 0x87, 0xfc, 0x56, 0xdf, 0x90, 0xf8, 0x0d, 0x88, 0x4b, 0x3f, 0x9f, + 0x79, 0x3e, 0x5b, 0xa8, 0x50, 0x0c, 0xbe, 0x85, 0x87, 0xa4, 0x41, 0xc2, 0x21, 0x5b, 0x87, 0xd7, 0x1e, 0x4a, 0xa3, 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, - 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x44, 0xfa, 0x8c, 0x5f, 0x32, 0xee, - 0x1f, 0xfc, 0x9d, 0x98, 0x1f, 0x90, 0xab, 0x2e, 0xcc, 0xd0, 0x65, 0xac, 0xed, 0x05, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, - 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, - 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, - 0x45, 0x02, 0x20, 0x58, 0x80, 0xe4, 0x98, 0x79, 0x04, 0x6e, 0xc1, 0x08, 0x51, 0x38, 0xfd, 0x42, 0xc7, 0x48, 0x8d, 0xfc, 0xa1, - 0xaa, 0xaa, 0x81, 0xd8, 0x37, 0x87, 0xa2, 0xee, 0x2a, 0x65, 0xd9, 0xf2, 0x4f, 0x09, 0x02, 0x21, 0x00, 0x91, 0x85, 0x9a, 0x9d, - 0x2d, 0x08, 0x0d, 0x9b, 0x0b, 0x14, 0xa2, 0x28, 0x99, 0xf1, 0xfb, 0xc2, 0x52, 0xcf, 0x52, 0x94, 0xa0, 0xbe, 0x8f, 0x3c, 0xe5, - 0xbb, 0x22, 0x58, 0x7b, 0x9a, 0xc2, 0xb4, + 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb4, 0x49, 0x16, 0x80, 0x10, 0x4f, + 0xc3, 0x8d, 0x9c, 0xfa, 0xda, 0x69, 0xea, 0x30, 0x85, 0x14, 0x4c, 0x92, 0x7d, 0x2a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, + 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x20, 0x2d, 0x13, 0xc2, 0xac, 0x58, 0x01, 0x83, 0x77, 0x58, 0x4b, 0xa6, 0x2d, 0x0d, 0xd1, 0xcf, 0xbc, 0xd1, 0xa0, + 0xda, 0x20, 0xff, 0xe7, 0x61, 0x79, 0xe5, 0xf2, 0xf6, 0x83, 0x9a, 0x50, 0x90, 0x70, 0x02, 0x21, 0x00, 0xc7, 0x5b, 0x07, 0x89, + 0x74, 0x26, 0x73, 0xf7, 0xe5, 0x02, 0x64, 0xcc, 0x9c, 0xed, 0xc0, 0x01, 0xc9, 0x3c, 0x9e, 0x9c, 0x05, 0x02, 0x90, 0x3f, 0xd7, + 0x3d, 0x25, 0xe3, 0x1e, 0x42, 0xad, 0x24, }; -extern const uint32_t sTestCert_Node02_04_DER_Len = sizeof(sTestCert_Node02_04_DER); +extern const size_t sTestCert_Node02_04_DER_Len = sizeof(sTestCert_Node02_04_DER); extern const uint8_t sTestCert_Node02_04_PublicKey[] = { - 0x04, 0x58, 0xeb, 0x6f, 0xa0, 0x34, 0x4a, 0x08, 0x45, 0xaf, 0xcf, 0xd6, 0xcf, 0x31, 0xfe, 0x5e, 0x92, - 0x27, 0x4e, 0xb6, 0x31, 0xea, 0xad, 0xab, 0xa3, 0x4b, 0x84, 0xee, 0x8d, 0x01, 0x6e, 0xe2, 0x57, 0xd5, - 0x37, 0x4f, 0xbe, 0xa8, 0x04, 0x86, 0xd3, 0xd9, 0x3f, 0x15, 0x1c, 0x3f, 0xea, 0x24, 0x25, 0xa6, 0xf4, - 0x57, 0xb1, 0xb7, 0x87, 0x79, 0x9f, 0x4b, 0xa8, 0x24, 0x01, 0x00, 0x99, 0xf8, 0x8c, + 0x04, 0xef, 0x70, 0x00, 0xd0, 0x0e, 0x73, 0x2e, 0x02, 0x9e, 0xe6, 0xc1, 0x15, 0x9a, 0xb6, 0x6c, 0xa0, + 0xa2, 0xe6, 0x13, 0x74, 0xc9, 0x2b, 0x6f, 0x45, 0xb7, 0x99, 0x89, 0x66, 0x15, 0x49, 0x2b, 0x7d, 0xd5, + 0xaa, 0x9d, 0x87, 0xfc, 0x56, 0xdf, 0x90, 0xf8, 0x0d, 0x88, 0x4b, 0x3f, 0x9f, 0x79, 0x3e, 0x5b, 0xa8, + 0x50, 0x0c, 0xbe, 0x85, 0x87, 0xa4, 0x41, 0xc2, 0x21, 0x5b, 0x87, 0xd7, 0x1e, 0x4a, }; -extern const uint8_t sTestCert_Node02_04_PublicKey_Len = sizeof(sTestCert_Node02_04_PublicKey); +extern const size_t sTestCert_Node02_04_PublicKey_Len = sizeof(sTestCert_Node02_04_PublicKey); extern const uint8_t sTestCert_Node02_04_PrivateKey[] = { - 0x47, 0x48, 0x61, 0x86, 0x16, 0xb2, 0x94, 0xd4, 0x37, 0xc0, 0xa7, 0x4d, 0x74, 0x1c, 0x29, 0x7f, - 0x9b, 0x20, 0x34, 0x03, 0xee, 0x7b, 0x3e, 0xa2, 0xb5, 0x2e, 0x25, 0xda, 0xf1, 0x68, 0x2f, 0x70, + 0xe1, 0x95, 0x85, 0xb6, 0x38, 0x83, 0x23, 0x4b, 0xdc, 0x02, 0x7c, 0x54, 0x9c, 0xcd, 0x7a, 0x67, + 0xc8, 0x34, 0x1c, 0x01, 0x72, 0xe0, 0x16, 0xec, 0xc2, 0x5d, 0xf6, 0xeb, 0x9c, 0x84, 0x5a, 0xb6, }; -extern const uint8_t sTestCert_Node02_04_PrivateKey_Len = sizeof(sTestCert_Node02_04_PrivateKey); +extern const size_t sTestCert_Node02_04_PrivateKey_Len = sizeof(sTestCert_Node02_04_PrivateKey); extern const uint8_t sTestCert_Node02_04_SubjectKeyId[] = { - 0x44, 0xFA, 0x8C, 0x5F, 0x32, 0xEE, 0x1F, 0xFC, 0x9D, 0x98, 0x1F, 0x90, 0xAB, 0x2E, 0xCC, 0xD0, 0x65, 0xAC, 0xED, 0x05, + 0xB4, 0x49, 0x16, 0x80, 0x10, 0x4F, 0xC3, 0x8D, 0x9C, 0xFA, 0xDA, 0x69, 0xEA, 0x30, 0x85, 0x14, 0x4C, 0x92, 0x7D, 0x2A, }; -extern const uint8_t sTestCert_Node02_04_SubjectKeyId_Len = sizeof(sTestCert_Node02_04_SubjectKeyId); +extern const size_t sTestCert_Node02_04_SubjectKeyId_Len = sizeof(sTestCert_Node02_04_SubjectKeyId); extern const uint8_t sTestCert_Node02_04_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_04_AuthorityKeyId_Len = sizeof(sTestCert_Node02_04_AuthorityKeyId); +extern const size_t sTestCert_Node02_04_AuthorityKeyId_Len = sizeof(sTestCert_Node02_04_AuthorityKeyId); /************** Test Node02_05 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 3019599144066184987 (0x29e7c56c4a23771b) + Serial Number: 7874366387595048762 (0x6d475e8263e0f73a) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity Not Before: Oct 15 14:23:43 2020 GMT Not After : Oct 15 14:23:42 2040 GMT - Subject: 1.3.6.1.4.1.37244.1.6 = A001B001, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D, 1.3.6.1.4.1.37244.1.7 = -A001B002, 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020005 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 -bit) pub: 04:c3:85:f5:b5:79:09:ea:91:d2:08:45:f8:1b:e1: 01:10:36:93:60:f7:dc:25:80:22:91:6d:0e:55:39: - b2:47:78:2d:fa:f0:1c:61:f8:eb:1b:f4:90:3f:81: - 47:e0:a4:2f:a7:0f:46:6e:c9:52:7f:99:95:02:94: - 7a:44:9d:eb:f7 + Subject: 1.3.6.1.4.1.37244.1.6 = ABCD0010, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D, 1.3.6.1.4.1.37244.1.6 = +ABCE1008, 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020005 Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 +bit) pub: 04:fc:8a:ff:06:3a:d0:e0:bf:df:24:dd:9d:84:13: 0f:74:49:3c:95:a4:0d:b3:f4:0a:af:42:cf:2c:b1: + 15:8b:a1:aa:1d:61:de:38:3c:9b:51:03:ca:f7:96: + 43:1e:0a:4e:9c:5a:c2:d7:f0:e9:1c:c7:0e:7d:f0: + 9d:b3:2c:f8:63 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -1961,129 +1965,129 @@ bit) pub: 04:c3:85:f5:b5:79:09:ea:91:d2:08:45:f8:1b:e1: 01:10:36:93:60:f7:dc:25: X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - CB:8E:1D:22:39:40:B9:B6:01:0B:A7:58:96:E1:1D:7A:3E:09:6A:72 + 4B:46:42:9C:69:3D:0E:28:79:8C:8F:76:26:A5:01:20:05:96:AD:2D X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC X509v3 Subject Alternative Name: email:test@chip.org Signature Algorithm: ecdsa-with-SHA256 - 30:44:02:20:5a:8f:f8:2a:9c:a9:24:24:89:0d:5d:71:4a:1d: - ab:05:94:cb:8d:6a:b0:36:55:c8:cb:d5:1d:68:29:8c:d8:09: - 02:20:15:71:fb:40:95:5a:22:64:b9:ad:86:d8:94:b4:06:a0: - 46:ef:80:b8:c2:c5:8d:a9:b0:17:20:0f:68:b0:6f:14 + 30:46:02:21:00:ff:06:6b:df:4a:4a:93:0c:3b:a8:ef:82:8c: + 5f:93:fe:7e:bb:dd:5b:b4:ec:54:45:bd:d7:78:62:d5:a2:1d: + 43:02:21:00:9e:3c:3b:ec:bc:b3:f1:aa:bd:97:86:10:19:a2: + e9:45:c9:94:d2:73:60:4f:60:f0:2d:ed:3b:6a:c5:be:07:5d -----BEGIN CERTIFICATE----- -MIICTzCCAfagAwIBAgIIKefFbEojdxswCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICUTCCAfagAwIBAgIIbUdegmPg9zowCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MloweDEYMBYG -CisGAQQBgqJ8AQYMCEEwMDFCMDAxMSAwHgYKKwYBBAGConwBBQwQRkFCMDAwMDAw -MDAwMDAxRDEYMBYGCisGAQQBgqJ8AQcMCEEwMDFCMDAyMSAwHgYKKwYBBAGConwB -AQwQREVERURFREUwMDAyMDAwNTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMOF -9bV5CeqR0ghF+BvhARA2k2D33CWAIpFtDlU5skd4LfrwHGH46xv0kD+BR+CkL6cP -Rm7JUn+ZlQKUekSd6/ejgZ0wgZowDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC -B4AwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBTL -jh0iOUC5tgELp1iW4R16PglqcjAfBgNVHSMEGDAWgBTPQrz430gJ2SZvIxVaFrB/ -BLs9hDAYBgNVHREEETAPgQ10ZXN0QGNoaXAub3JnMAoGCCqGSM49BAMCA0cAMEQC -IFqP+CqcqSQkiQ1dcUodqwWUy41qsDZVyMvVHWgpjNgJAiAVcftAlVoiZLmthtiU -tAagRu+AuMLFjamwFyAPaLBvFA== +CisGAQQBgqJ8AQYMCEFCQ0QwMDEwMSAwHgYKKwYBBAGConwBBQwQRkFCMDAwMDAw +MDAwMDAxRDEYMBYGCisGAQQBgqJ8AQYMCEFCQ0UxMDA4MSAwHgYKKwYBBAGConwB +AQwQREVERURFREUwMDAyMDAwNTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPyK +/wY60OC/3yTdnYQTD3RJPJWkDbP0Cq9CzyyxFYuhqh1h3jg8m1EDyveWQx4KTpxa +wtfw6RzHDn3wnbMs+GOjgZ0wgZowDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMC +B4AwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBRL +RkKcaT0OKHmMj3YmpQEgBZatLTAfBgNVHSMEGDAWgBTh525nd4Ud13QWvd017DwT +fEcp3DAYBgNVHREEETAPgQ10ZXN0QGNoaXAub3JnMAoGCCqGSM49BAMCA0kAMEYC +IQD/BmvfSkqTDDuo74KMX5P+frvdW7TsVEW913hi1aIdQwIhAJ48O+y8s/GqvZeG +EBmi6UXJlNJzYE9g8C3tO2rFvgdd -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIAEEHAsipLqjBG+pRUt2CHzOTKFWjf5JwJtpj9GA+HstoAoGCCqGSM49 -AwEHoUQDQgAEw4X1tXkJ6pHSCEX4G+EBEDaTYPfcJYAikW0OVTmyR3gt+vAcYfjr -G/SQP4FH4KQvpw9GbslSf5mVApR6RJ3r9w== +MHcCAQEEIGbQQJBxdmC6r8zcRkdtqR2tZuitOSg9sX0HedrQzWXCoAoGCCqGSM49 +AwEHoUQDQgAE/Ir/BjrQ4L/fJN2dhBMPdEk8laQNs/QKr0LPLLEVi6GqHWHeODyb +UQPK95ZDHgpOnFrC1/DpHMcOffCdsyz4Yw== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_05_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x29, 0xe7, 0xc5, 0x6c, 0x4a, 0x23, 0x77, 0x1b, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, + 0x15, 0x30, 0x01, 0x08, 0x6d, 0x47, 0x5e, 0x82, 0x63, 0xe0, 0xf7, 0x3a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, - 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x26, 0x16, 0x01, 0xb0, 0x01, 0xa0, 0x27, 0x15, - 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x26, 0x17, 0x02, 0xb0, 0x01, 0xa0, 0x27, 0x11, 0x05, 0x00, 0x02, 0x00, - 0xde, 0xde, 0xde, 0xde, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xc3, 0x85, 0xf5, 0xb5, 0x79, - 0x09, 0xea, 0x91, 0xd2, 0x08, 0x45, 0xf8, 0x1b, 0xe1, 0x01, 0x10, 0x36, 0x93, 0x60, 0xf7, 0xdc, 0x25, 0x80, 0x22, 0x91, - 0x6d, 0x0e, 0x55, 0x39, 0xb2, 0x47, 0x78, 0x2d, 0xfa, 0xf0, 0x1c, 0x61, 0xf8, 0xeb, 0x1b, 0xf4, 0x90, 0x3f, 0x81, 0x47, - 0xe0, 0xa4, 0x2f, 0xa7, 0x0f, 0x46, 0x6e, 0xc9, 0x52, 0x7f, 0x99, 0x95, 0x02, 0x94, 0x7a, 0x44, 0x9d, 0xeb, 0xf7, 0x37, - 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xcb, - 0x8e, 0x1d, 0x22, 0x39, 0x40, 0xb9, 0xb6, 0x01, 0x0b, 0xa7, 0x58, 0x96, 0xe1, 0x1d, 0x7a, 0x3e, 0x09, 0x6a, 0x72, 0x30, - 0x05, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, - 0x3d, 0x84, 0x30, 0x06, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, - 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x18, 0x30, 0x0b, 0x40, 0x5a, 0x8f, 0xf8, 0x2a, 0x9c, - 0xa9, 0x24, 0x24, 0x89, 0x0d, 0x5d, 0x71, 0x4a, 0x1d, 0xab, 0x05, 0x94, 0xcb, 0x8d, 0x6a, 0xb0, 0x36, 0x55, 0xc8, 0xcb, - 0xd5, 0x1d, 0x68, 0x29, 0x8c, 0xd8, 0x09, 0x15, 0x71, 0xfb, 0x40, 0x95, 0x5a, 0x22, 0x64, 0xb9, 0xad, 0x86, 0xd8, 0x94, - 0xb4, 0x06, 0xa0, 0x46, 0xef, 0x80, 0xb8, 0xc2, 0xc5, 0x8d, 0xa9, 0xb0, 0x17, 0x20, 0x0f, 0x68, 0xb0, 0x6f, 0x14, 0x18, -}; - -extern const uint32_t sTestCert_Node02_05_Chip_Len = sizeof(sTestCert_Node02_05_Chip); + 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x26, 0x16, 0x10, 0x00, 0xcd, 0xab, 0x27, 0x15, + 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x26, 0x16, 0x08, 0x10, 0xce, 0xab, 0x27, 0x11, 0x05, 0x00, 0x02, 0x00, + 0xde, 0xde, 0xde, 0xde, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xfc, 0x8a, 0xff, 0x06, 0x3a, + 0xd0, 0xe0, 0xbf, 0xdf, 0x24, 0xdd, 0x9d, 0x84, 0x13, 0x0f, 0x74, 0x49, 0x3c, 0x95, 0xa4, 0x0d, 0xb3, 0xf4, 0x0a, 0xaf, + 0x42, 0xcf, 0x2c, 0xb1, 0x15, 0x8b, 0xa1, 0xaa, 0x1d, 0x61, 0xde, 0x38, 0x3c, 0x9b, 0x51, 0x03, 0xca, 0xf7, 0x96, 0x43, + 0x1e, 0x0a, 0x4e, 0x9c, 0x5a, 0xc2, 0xd7, 0xf0, 0xe9, 0x1c, 0xc7, 0x0e, 0x7d, 0xf0, 0x9d, 0xb3, 0x2c, 0xf8, 0x63, 0x37, + 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x4b, + 0x46, 0x42, 0x9c, 0x69, 0x3d, 0x0e, 0x28, 0x79, 0x8c, 0x8f, 0x76, 0x26, 0xa5, 0x01, 0x20, 0x05, 0x96, 0xad, 0x2d, 0x30, + 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, + 0x29, 0xdc, 0x30, 0x06, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, + 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x18, 0x30, 0x0b, 0x40, 0xff, 0x06, 0x6b, 0xdf, 0x4a, + 0x4a, 0x93, 0x0c, 0x3b, 0xa8, 0xef, 0x82, 0x8c, 0x5f, 0x93, 0xfe, 0x7e, 0xbb, 0xdd, 0x5b, 0xb4, 0xec, 0x54, 0x45, 0xbd, + 0xd7, 0x78, 0x62, 0xd5, 0xa2, 0x1d, 0x43, 0x9e, 0x3c, 0x3b, 0xec, 0xbc, 0xb3, 0xf1, 0xaa, 0xbd, 0x97, 0x86, 0x10, 0x19, + 0xa2, 0xe9, 0x45, 0xc9, 0x94, 0xd2, 0x73, 0x60, 0x4f, 0x60, 0xf0, 0x2d, 0xed, 0x3b, 0x6a, 0xc5, 0xbe, 0x07, 0x5d, 0x18, +}; + +extern const size_t sTestCert_Node02_05_Chip_Len = sizeof(sTestCert_Node02_05_Chip); extern const uint8_t sTestCert_Node02_05_DER[] = { - 0x30, 0x82, 0x02, 0x4f, 0x30, 0x82, 0x01, 0xf6, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x29, 0xe7, 0xc5, 0x6c, 0x4a, 0x23, - 0x77, 0x1b, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x51, 0x30, 0x82, 0x01, 0xf6, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x6d, 0x47, 0x5e, 0x82, 0x63, 0xe0, + 0xf7, 0x3a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x78, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, - 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x30, 0x30, 0x31, 0x42, 0x30, 0x30, 0x31, 0x31, 0x20, 0x30, + 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x44, 0x30, 0x30, 0x31, 0x30, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, - 0x82, 0xa2, 0x7c, 0x01, 0x07, 0x0c, 0x08, 0x41, 0x30, 0x30, 0x31, 0x42, 0x30, 0x30, 0x32, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, + 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x45, 0x31, 0x30, 0x30, 0x38, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x01, 0x0c, 0x10, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, 0x32, 0x30, 0x30, 0x30, 0x35, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, - 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xc3, 0x85, 0xf5, 0xb5, 0x79, 0x09, 0xea, 0x91, - 0xd2, 0x08, 0x45, 0xf8, 0x1b, 0xe1, 0x01, 0x10, 0x36, 0x93, 0x60, 0xf7, 0xdc, 0x25, 0x80, 0x22, 0x91, 0x6d, 0x0e, 0x55, 0x39, - 0xb2, 0x47, 0x78, 0x2d, 0xfa, 0xf0, 0x1c, 0x61, 0xf8, 0xeb, 0x1b, 0xf4, 0x90, 0x3f, 0x81, 0x47, 0xe0, 0xa4, 0x2f, 0xa7, 0x0f, - 0x46, 0x6e, 0xc9, 0x52, 0x7f, 0x99, 0x95, 0x02, 0x94, 0x7a, 0x44, 0x9d, 0xeb, 0xf7, 0xa3, 0x81, 0x9d, 0x30, 0x81, 0x9a, 0x30, + 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xfc, 0x8a, 0xff, 0x06, 0x3a, 0xd0, 0xe0, 0xbf, + 0xdf, 0x24, 0xdd, 0x9d, 0x84, 0x13, 0x0f, 0x74, 0x49, 0x3c, 0x95, 0xa4, 0x0d, 0xb3, 0xf4, 0x0a, 0xaf, 0x42, 0xcf, 0x2c, 0xb1, + 0x15, 0x8b, 0xa1, 0xaa, 0x1d, 0x61, 0xde, 0x38, 0x3c, 0x9b, 0x51, 0x03, 0xca, 0xf7, 0x96, 0x43, 0x1e, 0x0a, 0x4e, 0x9c, 0x5a, + 0xc2, 0xd7, 0xf0, 0xe9, 0x1c, 0xc7, 0x0e, 0x7d, 0xf0, 0x9d, 0xb3, 0x2c, 0xf8, 0x63, 0xa3, 0x81, 0x9d, 0x30, 0x81, 0x9a, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, - 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xcb, 0x8e, 0x1d, 0x22, 0x39, 0x40, 0xb9, 0xb6, 0x01, 0x0b, - 0xa7, 0x58, 0x96, 0xe1, 0x1d, 0x7a, 0x3e, 0x09, 0x6a, 0x72, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, - 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, - 0x84, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, - 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, - 0x30, 0x44, 0x02, 0x20, 0x5a, 0x8f, 0xf8, 0x2a, 0x9c, 0xa9, 0x24, 0x24, 0x89, 0x0d, 0x5d, 0x71, 0x4a, 0x1d, 0xab, 0x05, 0x94, - 0xcb, 0x8d, 0x6a, 0xb0, 0x36, 0x55, 0xc8, 0xcb, 0xd5, 0x1d, 0x68, 0x29, 0x8c, 0xd8, 0x09, 0x02, 0x20, 0x15, 0x71, 0xfb, 0x40, - 0x95, 0x5a, 0x22, 0x64, 0xb9, 0xad, 0x86, 0xd8, 0x94, 0xb4, 0x06, 0xa0, 0x46, 0xef, 0x80, 0xb8, 0xc2, 0xc5, 0x8d, 0xa9, 0xb0, - 0x17, 0x20, 0x0f, 0x68, 0xb0, 0x6f, 0x14, + 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x4b, 0x46, 0x42, 0x9c, 0x69, 0x3d, 0x0e, 0x28, 0x79, 0x8c, + 0x8f, 0x76, 0x26, 0xa5, 0x01, 0x20, 0x05, 0x96, 0xad, 0x2d, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, + 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, + 0xdc, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, + 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, + 0x30, 0x46, 0x02, 0x21, 0x00, 0xff, 0x06, 0x6b, 0xdf, 0x4a, 0x4a, 0x93, 0x0c, 0x3b, 0xa8, 0xef, 0x82, 0x8c, 0x5f, 0x93, 0xfe, + 0x7e, 0xbb, 0xdd, 0x5b, 0xb4, 0xec, 0x54, 0x45, 0xbd, 0xd7, 0x78, 0x62, 0xd5, 0xa2, 0x1d, 0x43, 0x02, 0x21, 0x00, 0x9e, 0x3c, + 0x3b, 0xec, 0xbc, 0xb3, 0xf1, 0xaa, 0xbd, 0x97, 0x86, 0x10, 0x19, 0xa2, 0xe9, 0x45, 0xc9, 0x94, 0xd2, 0x73, 0x60, 0x4f, 0x60, + 0xf0, 0x2d, 0xed, 0x3b, 0x6a, 0xc5, 0xbe, 0x07, 0x5d, }; -extern const uint32_t sTestCert_Node02_05_DER_Len = sizeof(sTestCert_Node02_05_DER); +extern const size_t sTestCert_Node02_05_DER_Len = sizeof(sTestCert_Node02_05_DER); extern const uint8_t sTestCert_Node02_05_PublicKey[] = { - 0x04, 0xc3, 0x85, 0xf5, 0xb5, 0x79, 0x09, 0xea, 0x91, 0xd2, 0x08, 0x45, 0xf8, 0x1b, 0xe1, 0x01, 0x10, - 0x36, 0x93, 0x60, 0xf7, 0xdc, 0x25, 0x80, 0x22, 0x91, 0x6d, 0x0e, 0x55, 0x39, 0xb2, 0x47, 0x78, 0x2d, - 0xfa, 0xf0, 0x1c, 0x61, 0xf8, 0xeb, 0x1b, 0xf4, 0x90, 0x3f, 0x81, 0x47, 0xe0, 0xa4, 0x2f, 0xa7, 0x0f, - 0x46, 0x6e, 0xc9, 0x52, 0x7f, 0x99, 0x95, 0x02, 0x94, 0x7a, 0x44, 0x9d, 0xeb, 0xf7, + 0x04, 0xfc, 0x8a, 0xff, 0x06, 0x3a, 0xd0, 0xe0, 0xbf, 0xdf, 0x24, 0xdd, 0x9d, 0x84, 0x13, 0x0f, 0x74, + 0x49, 0x3c, 0x95, 0xa4, 0x0d, 0xb3, 0xf4, 0x0a, 0xaf, 0x42, 0xcf, 0x2c, 0xb1, 0x15, 0x8b, 0xa1, 0xaa, + 0x1d, 0x61, 0xde, 0x38, 0x3c, 0x9b, 0x51, 0x03, 0xca, 0xf7, 0x96, 0x43, 0x1e, 0x0a, 0x4e, 0x9c, 0x5a, + 0xc2, 0xd7, 0xf0, 0xe9, 0x1c, 0xc7, 0x0e, 0x7d, 0xf0, 0x9d, 0xb3, 0x2c, 0xf8, 0x63, }; -extern const uint8_t sTestCert_Node02_05_PublicKey_Len = sizeof(sTestCert_Node02_05_PublicKey); +extern const size_t sTestCert_Node02_05_PublicKey_Len = sizeof(sTestCert_Node02_05_PublicKey); extern const uint8_t sTestCert_Node02_05_PrivateKey[] = { - 0x01, 0x04, 0x1c, 0x0b, 0x22, 0xa4, 0xba, 0xa3, 0x04, 0x6f, 0xa9, 0x45, 0x4b, 0x76, 0x08, 0x7c, - 0xce, 0x4c, 0xa1, 0x56, 0x8d, 0xfe, 0x49, 0xc0, 0x9b, 0x69, 0x8f, 0xd1, 0x80, 0xf8, 0x7b, 0x2d, + 0x66, 0xd0, 0x40, 0x90, 0x71, 0x76, 0x60, 0xba, 0xaf, 0xcc, 0xdc, 0x46, 0x47, 0x6d, 0xa9, 0x1d, + 0xad, 0x66, 0xe8, 0xad, 0x39, 0x28, 0x3d, 0xb1, 0x7d, 0x07, 0x79, 0xda, 0xd0, 0xcd, 0x65, 0xc2, }; -extern const uint8_t sTestCert_Node02_05_PrivateKey_Len = sizeof(sTestCert_Node02_05_PrivateKey); +extern const size_t sTestCert_Node02_05_PrivateKey_Len = sizeof(sTestCert_Node02_05_PrivateKey); extern const uint8_t sTestCert_Node02_05_SubjectKeyId[] = { - 0xCB, 0x8E, 0x1D, 0x22, 0x39, 0x40, 0xB9, 0xB6, 0x01, 0x0B, 0xA7, 0x58, 0x96, 0xE1, 0x1D, 0x7A, 0x3E, 0x09, 0x6A, 0x72, + 0x4B, 0x46, 0x42, 0x9C, 0x69, 0x3D, 0x0E, 0x28, 0x79, 0x8C, 0x8F, 0x76, 0x26, 0xA5, 0x01, 0x20, 0x05, 0x96, 0xAD, 0x2D, }; -extern const uint8_t sTestCert_Node02_05_SubjectKeyId_Len = sizeof(sTestCert_Node02_05_SubjectKeyId); +extern const size_t sTestCert_Node02_05_SubjectKeyId_Len = sizeof(sTestCert_Node02_05_SubjectKeyId); extern const uint8_t sTestCert_Node02_05_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_05_AuthorityKeyId_Len = sizeof(sTestCert_Node02_05_AuthorityKeyId); +extern const size_t sTestCert_Node02_05_AuthorityKeyId_Len = sizeof(sTestCert_Node02_05_AuthorityKeyId); /************** Test Node02_06 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 7516176295543836038 (0x684ed284b51a0d86) + Serial Number: 1159553127949419850 (0x10178f6d219e454a) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -2094,11 +2098,11 @@ extern const uint8_t sTestCert_Node02_05_AuthorityKeyId_Len = sizeof(sTestCert_N Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:9f:7b:6e:a3:42:a5:02:10:da:1d:fa:ff:ba:ca: - 6b:70:11:c0:2a:7f:ac:39:73:bd:d3:06:24:c9:c7: - 09:6c:cb:97:fa:26:cb:50:ff:83:4e:f2:4a:d8:9e: - 80:45:94:5f:dd:d0:40:0b:45:98:17:3f:d7:5b:a0: - b2:f4:43:27:32 + 04:bb:a4:15:69:52:63:e1:d9:dc:17:cc:32:2d:39: + 5e:32:0d:a6:f1:7d:56:f2:02:18:16:0c:68:53:e6: + 21:0f:41:d0:10:19:63:fe:e3:91:5b:9a:8c:71:76: + 24:df:34:2d:13:86:6d:dd:17:5b:42:8b:c3:8d:21: + 3d:6b:f5:c7:d3 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -2109,9 +2113,9 @@ extern const uint8_t sTestCert_Node02_05_AuthorityKeyId_Len = sizeof(sTestCert_N X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - AB:89:94:81:DD:06:D6:22:A0:13:C8:BA:7D:95:C4:8D:B9:7E:5B:2F + 4B:04:1B:79:7E:B8:1B:32:61:9A:AD:60:0F:6C:FD:78:CE:04:74:28 X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC X509v3 Subject Alternative Name: email:test@chip.org @@ -2119,59 +2123,59 @@ extern const uint8_t sTestCert_Node02_05_AuthorityKeyId_Len = sizeof(sTestCert_N OCSP - URI:test Signature Algorithm: ecdsa-with-SHA256 - 30:46:02:21:00:e2:9a:0e:bd:45:be:4f:52:bd:83:ca:06:97: - 15:ed:08:37:f6:25:82:c0:02:26:28:57:b2:f2:2f:9d:b1:e1: - 24:02:21:00:d9:0a:da:e9:11:80:79:72:f2:f3:74:4e:29:95: - d4:f8:bf:19:f9:d4:3f:cd:a6:3d:28:56:6f:87:ce:3d:af:b4 + 30:45:02:20:1f:e0:bd:fd:10:8b:88:3d:1a:70:12:9e:31:85: + a3:7a:9e:96:01:df:62:63:f2:0a:0a:8c:fe:e3:14:04:f6:79: + 02:21:00:d1:85:b0:21:dd:f2:b7:a1:6c:d6:af:6c:38:ee:92: + 04:03:ec:b4:d6:16:05:f3:c2:f7:f1:7b:d6:16:78:42:93 -----BEGIN CERTIFICATE----- -MIICPzCCAeSgAwIBAgIIaE7ShLUaDYYwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICPjCCAeSgAwIBAgIIEBePbSGeRUowCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowRDEgMB4G CisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDYxIDAeBgorBgEEAYKifAEFDBBG -QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEn3tuo0Kl -AhDaHfr/usprcBHAKn+sOXO90wYkyccJbMuX+ibLUP+DTvJK2J6ARZRf3dBAC0WY -Fz/XW6Cy9EMnMqOBvzCBvDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg -BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFKuJlIHd -BtYioBPIun2VxI25flsvMB8GA1UdIwQYMBaAFM9CvPjfSAnZJm8jFVoWsH8Euz2E +QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEu6QVaVJj +4dncF8wyLTleMg2m8X1W8gIYFgxoU+YhD0HQEBlj/uORW5qMcXYk3zQtE4Zt3Rdb +QovDjSE9a/XH06OBvzCBvDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg +BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFEsEG3l+ +uBsyYZqtYA9s/XjOBHQoMB8GA1UdIwQYMBaAFOHnbmd3hR3XdBa93TXsPBN8Rync MBgGA1UdEQQRMA+BDXRlc3RAY2hpcC5vcmcwIAYIKwYBBQUHAQEEFDASMBAGCCsG -AQUFBzABhgR0ZXN0MAoGCCqGSM49BAMCA0kAMEYCIQDimg69Rb5PUr2DygaXFe0I -N/YlgsACJihXsvIvnbHhJAIhANkK2ukRgHly8vN0TimV1Pi/GfnUP82mPShWb4fO -Pa+0 +AQUFBzABhgR0ZXN0MAoGCCqGSM49BAMCA0gAMEUCIB/gvf0Qi4g9GnASnjGFo3qe +lgHfYmPyCgqM/uMUBPZ5AiEA0YWwId3yt6Fs1q9sOO6SBAPstNYWBfPC9/F71hZ4 +QpM= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIPFqxUaZp1qy8/ksS24zQxPx+CpB4mOkSyQEeX9auRcUoAoGCCqGSM49 -AwEHoUQDQgAEn3tuo0KlAhDaHfr/usprcBHAKn+sOXO90wYkyccJbMuX+ibLUP+D -TvJK2J6ARZRf3dBAC0WYFz/XW6Cy9EMnMg== +MHcCAQEEIMCX/fl2O3KOkYpURsST8zO/HW8zpqgDrxHagcX17lWOoAoGCCqGSM49 +AwEHoUQDQgAEu6QVaVJj4dncF8wyLTleMg2m8X1W8gIYFgxoU+YhD0HQEBlj/uOR +W5qMcXYk3zQtE4Zt3RdbQovDjSE9a/XH0w== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_06_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x68, 0x4e, 0xd2, 0x84, 0xb5, 0x1a, 0x0d, 0x86, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x10, 0x17, 0x8f, 0x6d, 0x21, 0x9e, 0x45, 0x4a, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x06, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, - 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0x9f, - 0x7b, 0x6e, 0xa3, 0x42, 0xa5, 0x02, 0x10, 0xda, 0x1d, 0xfa, 0xff, 0xba, 0xca, 0x6b, 0x70, 0x11, 0xc0, 0x2a, 0x7f, 0xac, 0x39, - 0x73, 0xbd, 0xd3, 0x06, 0x24, 0xc9, 0xc7, 0x09, 0x6c, 0xcb, 0x97, 0xfa, 0x26, 0xcb, 0x50, 0xff, 0x83, 0x4e, 0xf2, 0x4a, 0xd8, - 0x9e, 0x80, 0x45, 0x94, 0x5f, 0xdd, 0xd0, 0x40, 0x0b, 0x45, 0x98, 0x17, 0x3f, 0xd7, 0x5b, 0xa0, 0xb2, 0xf4, 0x43, 0x27, 0x32, - 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xab, - 0x89, 0x94, 0x81, 0xdd, 0x06, 0xd6, 0x22, 0xa0, 0x13, 0xc8, 0xba, 0x7d, 0x95, 0xc4, 0x8d, 0xb9, 0x7e, 0x5b, 0x2f, 0x30, 0x05, - 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, + 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xbb, + 0xa4, 0x15, 0x69, 0x52, 0x63, 0xe1, 0xd9, 0xdc, 0x17, 0xcc, 0x32, 0x2d, 0x39, 0x5e, 0x32, 0x0d, 0xa6, 0xf1, 0x7d, 0x56, 0xf2, + 0x02, 0x18, 0x16, 0x0c, 0x68, 0x53, 0xe6, 0x21, 0x0f, 0x41, 0xd0, 0x10, 0x19, 0x63, 0xfe, 0xe3, 0x91, 0x5b, 0x9a, 0x8c, 0x71, + 0x76, 0x24, 0xdf, 0x34, 0x2d, 0x13, 0x86, 0x6d, 0xdd, 0x17, 0x5b, 0x42, 0x8b, 0xc3, 0x8d, 0x21, 0x3d, 0x6b, 0xf5, 0xc7, 0xd3, + 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x4b, + 0x04, 0x1b, 0x79, 0x7e, 0xb8, 0x1b, 0x32, 0x61, 0x9a, 0xad, 0x60, 0x0f, 0x6c, 0xfd, 0x78, 0xce, 0x04, 0x74, 0x28, 0x30, 0x05, + 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x06, 0x1a, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x06, 0x22, 0x30, 0x20, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x14, 0x30, 0x12, 0x30, 0x10, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x04, 0x74, - 0x65, 0x73, 0x74, 0x18, 0x30, 0x0b, 0x40, 0xe2, 0x9a, 0x0e, 0xbd, 0x45, 0xbe, 0x4f, 0x52, 0xbd, 0x83, 0xca, 0x06, 0x97, 0x15, - 0xed, 0x08, 0x37, 0xf6, 0x25, 0x82, 0xc0, 0x02, 0x26, 0x28, 0x57, 0xb2, 0xf2, 0x2f, 0x9d, 0xb1, 0xe1, 0x24, 0xd9, 0x0a, 0xda, - 0xe9, 0x11, 0x80, 0x79, 0x72, 0xf2, 0xf3, 0x74, 0x4e, 0x29, 0x95, 0xd4, 0xf8, 0xbf, 0x19, 0xf9, 0xd4, 0x3f, 0xcd, 0xa6, 0x3d, - 0x28, 0x56, 0x6f, 0x87, 0xce, 0x3d, 0xaf, 0xb4, 0x18, + 0x65, 0x73, 0x74, 0x18, 0x30, 0x0b, 0x40, 0x1f, 0xe0, 0xbd, 0xfd, 0x10, 0x8b, 0x88, 0x3d, 0x1a, 0x70, 0x12, 0x9e, 0x31, 0x85, + 0xa3, 0x7a, 0x9e, 0x96, 0x01, 0xdf, 0x62, 0x63, 0xf2, 0x0a, 0x0a, 0x8c, 0xfe, 0xe3, 0x14, 0x04, 0xf6, 0x79, 0xd1, 0x85, 0xb0, + 0x21, 0xdd, 0xf2, 0xb7, 0xa1, 0x6c, 0xd6, 0xaf, 0x6c, 0x38, 0xee, 0x92, 0x04, 0x03, 0xec, 0xb4, 0xd6, 0x16, 0x05, 0xf3, 0xc2, + 0xf7, 0xf1, 0x7b, 0xd6, 0x16, 0x78, 0x42, 0x93, 0x18, }; -extern const uint32_t sTestCert_Node02_06_Chip_Len = sizeof(sTestCert_Node02_06_Chip); +extern const size_t sTestCert_Node02_06_Chip_Len = sizeof(sTestCert_Node02_06_Chip); extern const uint8_t sTestCert_Node02_06_DER[] = { - 0x30, 0x82, 0x02, 0x3f, 0x30, 0x82, 0x01, 0xe4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x68, 0x4e, 0xd2, 0x84, 0xb5, 0x1a, - 0x0d, 0x86, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x3e, 0x30, 0x82, 0x01, 0xe4, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x10, 0x17, 0x8f, 0x6d, 0x21, 0x9e, + 0x45, 0x4a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -2181,60 +2185,60 @@ extern const uint8_t sTestCert_Node02_06_DER[] = { 0x32, 0x30, 0x30, 0x30, 0x36, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0x9f, 0x7b, 0x6e, 0xa3, 0x42, 0xa5, 0x02, 0x10, 0xda, 0x1d, 0xfa, 0xff, 0xba, 0xca, 0x6b, 0x70, 0x11, 0xc0, - 0x2a, 0x7f, 0xac, 0x39, 0x73, 0xbd, 0xd3, 0x06, 0x24, 0xc9, 0xc7, 0x09, 0x6c, 0xcb, 0x97, 0xfa, 0x26, 0xcb, 0x50, 0xff, 0x83, - 0x4e, 0xf2, 0x4a, 0xd8, 0x9e, 0x80, 0x45, 0x94, 0x5f, 0xdd, 0xd0, 0x40, 0x0b, 0x45, 0x98, 0x17, 0x3f, 0xd7, 0x5b, 0xa0, 0xb2, - 0xf4, 0x43, 0x27, 0x32, 0xa3, 0x81, 0xbf, 0x30, 0x81, 0xbc, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x42, 0x00, 0x04, 0xbb, 0xa4, 0x15, 0x69, 0x52, 0x63, 0xe1, 0xd9, 0xdc, 0x17, 0xcc, 0x32, 0x2d, 0x39, 0x5e, 0x32, 0x0d, 0xa6, + 0xf1, 0x7d, 0x56, 0xf2, 0x02, 0x18, 0x16, 0x0c, 0x68, 0x53, 0xe6, 0x21, 0x0f, 0x41, 0xd0, 0x10, 0x19, 0x63, 0xfe, 0xe3, 0x91, + 0x5b, 0x9a, 0x8c, 0x71, 0x76, 0x24, 0xdf, 0x34, 0x2d, 0x13, 0x86, 0x6d, 0xdd, 0x17, 0x5b, 0x42, 0x8b, 0xc3, 0x8d, 0x21, 0x3d, + 0x6b, 0xf5, 0xc7, 0xd3, 0xa3, 0x81, 0xbf, 0x30, 0x81, 0xbc, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, - 0x14, 0xab, 0x89, 0x94, 0x81, 0xdd, 0x06, 0xd6, 0x22, 0xa0, 0x13, 0xc8, 0xba, 0x7d, 0x95, 0xc4, 0x8d, 0xb9, 0x7e, 0x5b, 0x2f, - 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, - 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, + 0x14, 0x4b, 0x04, 0x1b, 0x79, 0x7e, 0xb8, 0x1b, 0x32, 0x61, 0x9a, 0xad, 0x60, 0x0f, 0x6c, 0xfd, 0x78, 0xce, 0x04, 0x74, 0x28, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, + 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x18, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x20, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x14, 0x30, 0x12, 0x30, 0x10, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x04, 0x74, 0x65, 0x73, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, - 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xe2, 0x9a, 0x0e, 0xbd, 0x45, 0xbe, 0x4f, 0x52, 0xbd, 0x83, 0xca, 0x06, 0x97, - 0x15, 0xed, 0x08, 0x37, 0xf6, 0x25, 0x82, 0xc0, 0x02, 0x26, 0x28, 0x57, 0xb2, 0xf2, 0x2f, 0x9d, 0xb1, 0xe1, 0x24, 0x02, 0x21, - 0x00, 0xd9, 0x0a, 0xda, 0xe9, 0x11, 0x80, 0x79, 0x72, 0xf2, 0xf3, 0x74, 0x4e, 0x29, 0x95, 0xd4, 0xf8, 0xbf, 0x19, 0xf9, 0xd4, - 0x3f, 0xcd, 0xa6, 0x3d, 0x28, 0x56, 0x6f, 0x87, 0xce, 0x3d, 0xaf, 0xb4, + 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x1f, 0xe0, 0xbd, 0xfd, 0x10, 0x8b, 0x88, 0x3d, 0x1a, 0x70, 0x12, 0x9e, 0x31, 0x85, + 0xa3, 0x7a, 0x9e, 0x96, 0x01, 0xdf, 0x62, 0x63, 0xf2, 0x0a, 0x0a, 0x8c, 0xfe, 0xe3, 0x14, 0x04, 0xf6, 0x79, 0x02, 0x21, 0x00, + 0xd1, 0x85, 0xb0, 0x21, 0xdd, 0xf2, 0xb7, 0xa1, 0x6c, 0xd6, 0xaf, 0x6c, 0x38, 0xee, 0x92, 0x04, 0x03, 0xec, 0xb4, 0xd6, 0x16, + 0x05, 0xf3, 0xc2, 0xf7, 0xf1, 0x7b, 0xd6, 0x16, 0x78, 0x42, 0x93, }; -extern const uint32_t sTestCert_Node02_06_DER_Len = sizeof(sTestCert_Node02_06_DER); +extern const size_t sTestCert_Node02_06_DER_Len = sizeof(sTestCert_Node02_06_DER); extern const uint8_t sTestCert_Node02_06_PublicKey[] = { - 0x04, 0x9f, 0x7b, 0x6e, 0xa3, 0x42, 0xa5, 0x02, 0x10, 0xda, 0x1d, 0xfa, 0xff, 0xba, 0xca, 0x6b, 0x70, - 0x11, 0xc0, 0x2a, 0x7f, 0xac, 0x39, 0x73, 0xbd, 0xd3, 0x06, 0x24, 0xc9, 0xc7, 0x09, 0x6c, 0xcb, 0x97, - 0xfa, 0x26, 0xcb, 0x50, 0xff, 0x83, 0x4e, 0xf2, 0x4a, 0xd8, 0x9e, 0x80, 0x45, 0x94, 0x5f, 0xdd, 0xd0, - 0x40, 0x0b, 0x45, 0x98, 0x17, 0x3f, 0xd7, 0x5b, 0xa0, 0xb2, 0xf4, 0x43, 0x27, 0x32, + 0x04, 0xbb, 0xa4, 0x15, 0x69, 0x52, 0x63, 0xe1, 0xd9, 0xdc, 0x17, 0xcc, 0x32, 0x2d, 0x39, 0x5e, 0x32, + 0x0d, 0xa6, 0xf1, 0x7d, 0x56, 0xf2, 0x02, 0x18, 0x16, 0x0c, 0x68, 0x53, 0xe6, 0x21, 0x0f, 0x41, 0xd0, + 0x10, 0x19, 0x63, 0xfe, 0xe3, 0x91, 0x5b, 0x9a, 0x8c, 0x71, 0x76, 0x24, 0xdf, 0x34, 0x2d, 0x13, 0x86, + 0x6d, 0xdd, 0x17, 0x5b, 0x42, 0x8b, 0xc3, 0x8d, 0x21, 0x3d, 0x6b, 0xf5, 0xc7, 0xd3, }; -extern const uint8_t sTestCert_Node02_06_PublicKey_Len = sizeof(sTestCert_Node02_06_PublicKey); +extern const size_t sTestCert_Node02_06_PublicKey_Len = sizeof(sTestCert_Node02_06_PublicKey); extern const uint8_t sTestCert_Node02_06_PrivateKey[] = { - 0xf1, 0x6a, 0xc5, 0x46, 0x99, 0xa7, 0x5a, 0xb2, 0xf3, 0xf9, 0x2c, 0x4b, 0x6e, 0x33, 0x43, 0x13, - 0xf1, 0xf8, 0x2a, 0x41, 0xe2, 0x63, 0xa4, 0x4b, 0x24, 0x04, 0x79, 0x7f, 0x5a, 0xb9, 0x17, 0x14, + 0xc0, 0x97, 0xfd, 0xf9, 0x76, 0x3b, 0x72, 0x8e, 0x91, 0x8a, 0x54, 0x46, 0xc4, 0x93, 0xf3, 0x33, + 0xbf, 0x1d, 0x6f, 0x33, 0xa6, 0xa8, 0x03, 0xaf, 0x11, 0xda, 0x81, 0xc5, 0xf5, 0xee, 0x55, 0x8e, }; -extern const uint8_t sTestCert_Node02_06_PrivateKey_Len = sizeof(sTestCert_Node02_06_PrivateKey); +extern const size_t sTestCert_Node02_06_PrivateKey_Len = sizeof(sTestCert_Node02_06_PrivateKey); extern const uint8_t sTestCert_Node02_06_SubjectKeyId[] = { - 0xAB, 0x89, 0x94, 0x81, 0xDD, 0x06, 0xD6, 0x22, 0xA0, 0x13, 0xC8, 0xBA, 0x7D, 0x95, 0xC4, 0x8D, 0xB9, 0x7E, 0x5B, 0x2F, + 0x4B, 0x04, 0x1B, 0x79, 0x7E, 0xB8, 0x1B, 0x32, 0x61, 0x9A, 0xAD, 0x60, 0x0F, 0x6C, 0xFD, 0x78, 0xCE, 0x04, 0x74, 0x28, }; -extern const uint8_t sTestCert_Node02_06_SubjectKeyId_Len = sizeof(sTestCert_Node02_06_SubjectKeyId); +extern const size_t sTestCert_Node02_06_SubjectKeyId_Len = sizeof(sTestCert_Node02_06_SubjectKeyId); extern const uint8_t sTestCert_Node02_06_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_06_AuthorityKeyId_Len = sizeof(sTestCert_Node02_06_AuthorityKeyId); +extern const size_t sTestCert_Node02_06_AuthorityKeyId_Len = sizeof(sTestCert_Node02_06_AuthorityKeyId); /************** Test Node02_07 Certificate ************** Certificate: Data: Version: 3 (0x2) - Serial Number: 3033058160902015167 (0x2a179653d7aa08bf) + Serial Number: 6951342034215031142 (0x607820c015a0d166) Signature Algorithm: ecdsa-with-SHA256 Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D Validity @@ -2245,11 +2249,11 @@ extern const uint8_t sTestCert_Node02_06_AuthorityKeyId_Len = sizeof(sTestCert_N Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) pub: - 04:f1:1b:05:37:f3:73:5c:dc:fa:c5:86:15:dd:1b: - 13:4a:83:85:a4:75:15:58:fb:d1:fe:d2:55:93:35: - d0:c2:42:6f:60:08:f6:05:01:f6:44:a2:0a:8c:f9: - c4:1e:82:8c:38:a5:6f:56:88:d1:fa:af:d2:8b:21: - 87:a8:f4:2e:74 + 04:f7:3c:7f:e5:75:d8:b9:06:d4:75:ff:f7:91:2e: + e0:e1:b3:cd:23:6c:32:46:cf:2d:85:3d:e3:39:84: + c1:f4:18:17:b1:c5:b5:28:01:8f:90:e6:26:16:ea: + a1:87:7f:47:14:b9:6f:c8:78:6f:91:b3:03:e4:46: + a9:65:09:d3:61 ASN1 OID: prime256v1 NIST CURVE: P-256 X509v3 extensions: @@ -2260,9 +2264,9 @@ extern const uint8_t sTestCert_Node02_06_AuthorityKeyId_Len = sizeof(sTestCert_N X509v3 Extended Key Usage: critical TLS Web Client Authentication, TLS Web Server Authentication X509v3 Subject Key Identifier: - CB:58:71:E3:AD:6D:AB:0D:BF:29:A5:3C:AA:5B:99:1E:10:BE:71:98 + 77:7C:77:B6:35:65:DC:51:F3:02:04:59:63:C5:CE:FC:E7:09:2A:1E X509v3 Authority Key Identifier: - keyid:CF:42:BC:F8:DF:48:09:D9:26:6F:23:15:5A:16:B0:7F:04:BB:3D:84 + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC X509v3 Subject Alternative Name: critical email:test@chip.org @@ -2270,59 +2274,59 @@ extern const uint8_t sTestCert_Node02_06_AuthorityKeyId_Len = sizeof(sTestCert_N OCSP - URI:test Signature Algorithm: ecdsa-with-SHA256 - 30:46:02:21:00:f1:10:28:aa:62:e4:e9:cd:ab:ab:c5:6c:79: - c4:5c:4f:04:ad:c8:03:37:68:4c:ec:78:dc:86:0c:1b:e8:95: - d2:02:21:00:8c:3b:50:55:63:ef:99:b2:98:2f:7b:ea:03:f3: - 21:56:ec:98:d0:e5:b8:bf:d1:45:52:04:52:c6:2a:63:c9:b2 + 30:45:02:21:00:a7:c5:93:9d:db:18:9c:d8:4c:1e:85:48:bc: + 40:c2:c3:af:cd:98:19:54:8c:f8:e5:c2:49:d2:7d:aa:5e:d8: + 86:02:20:19:70:46:95:b7:10:50:fe:70:1a:5a:67:5a:49:55: + 98:1c:28:7f:25:f6:73:93:8b:43:e7:71:73:54:f6:c8:2e -----BEGIN CERTIFICATE----- -MIICQjCCAeegAwIBAgIIKheWU9eqCL8wCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +MIICQTCCAeegAwIBAgIIYHggwBWg0WYwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowRDEgMB4G CisGAQQBgqJ8AQEMEERFREVERURFMDAwMjAwMDcxIDAeBgorBgEEAYKifAEFDBBG -QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8RsFN/Nz -XNz6xYYV3RsTSoOFpHUVWPvR/tJVkzXQwkJvYAj2BQH2RKIKjPnEHoKMOKVvVojR -+q/SiyGHqPQudKOBwjCBvzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg -BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFMtYceOt -basNvymlPKpbmR4QvnGYMB8GA1UdIwQYMBaAFM9CvPjfSAnZJm8jFVoWsH8Euz2E +QUIwMDAwMDAwMDAwMDFEMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9zx/5XXY +uQbUdf/3kS7g4bPNI2wyRs8thT3jOYTB9BgXscW1KAGPkOYmFuqhh39HFLlvyHhv +kbMD5EapZQnTYaOBwjCBvzAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAg +BgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFHd8d7Y1 +ZdxR8wIEWWPFzvznCSoeMB8GA1UdIwQYMBaAFOHnbmd3hR3XdBa93TXsPBN8Rync MBsGA1UdEQEB/wQRMA+BDXRlc3RAY2hpcC5vcmcwIAYIKwYBBQUHAQEEFDASMBAG -CCsGAQUFBzABhgR0ZXN0MAoGCCqGSM49BAMCA0kAMEYCIQDxECiqYuTpzaurxWx5 -xFxPBK3IAzdoTOx43IYMG+iV0gIhAIw7UFVj75mymC976gPzIVbsmNDluL/RRVIE -UsYqY8my +CCsGAQUFBzABhgR0ZXN0MAoGCCqGSM49BAMCA0gAMEUCIQCnxZOd2xic2EwehUi8 +QMLDr82YGVSM+OXCSdJ9ql7YhgIgGXBGlbcQUP5wGlpnWklVmBwofyX2c5OLQ+dx +c1T2yC4= -----END CERTIFICATE----- -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIE2vFHuUml5s0sbXqnSmilEwpV/8aVmc04PA6K3ZpgfKoAoGCCqGSM49 -AwEHoUQDQgAE8RsFN/NzXNz6xYYV3RsTSoOFpHUVWPvR/tJVkzXQwkJvYAj2BQH2 -RKIKjPnEHoKMOKVvVojR+q/SiyGHqPQudA== +MHcCAQEEIJWoN3/bUlY4BMAQbRFLUnQFaTeczcj1doNHPb28RSVAoAoGCCqGSM49 +AwEHoUQDQgAE9zx/5XXYuQbUdf/3kS7g4bPNI2wyRs8thT3jOYTB9BgXscW1KAGP +kOYmFuqhh39HFLlvyHhvkbMD5EapZQnTYQ== -----END EC PRIVATE KEY----- */ extern const uint8_t sTestCert_Node02_07_Chip[] = { - 0x15, 0x30, 0x01, 0x08, 0x2a, 0x17, 0x96, 0x53, 0xd7, 0xaa, 0x08, 0xbf, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, + 0x15, 0x30, 0x01, 0x08, 0x60, 0x78, 0x20, 0xc0, 0x15, 0xa0, 0xd1, 0x66, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x27, 0x11, 0x07, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x27, - 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xf1, - 0x1b, 0x05, 0x37, 0xf3, 0x73, 0x5c, 0xdc, 0xfa, 0xc5, 0x86, 0x15, 0xdd, 0x1b, 0x13, 0x4a, 0x83, 0x85, 0xa4, 0x75, 0x15, 0x58, - 0xfb, 0xd1, 0xfe, 0xd2, 0x55, 0x93, 0x35, 0xd0, 0xc2, 0x42, 0x6f, 0x60, 0x08, 0xf6, 0x05, 0x01, 0xf6, 0x44, 0xa2, 0x0a, 0x8c, - 0xf9, 0xc4, 0x1e, 0x82, 0x8c, 0x38, 0xa5, 0x6f, 0x56, 0x88, 0xd1, 0xfa, 0xaf, 0xd2, 0x8b, 0x21, 0x87, 0xa8, 0xf4, 0x2e, 0x74, - 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0xcb, - 0x58, 0x71, 0xe3, 0xad, 0x6d, 0xab, 0x0d, 0xbf, 0x29, 0xa5, 0x3c, 0xaa, 0x5b, 0x99, 0x1e, 0x10, 0xbe, 0x71, 0x98, 0x30, 0x05, - 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, + 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, 0x04, 0xf7, + 0x3c, 0x7f, 0xe5, 0x75, 0xd8, 0xb9, 0x06, 0xd4, 0x75, 0xff, 0xf7, 0x91, 0x2e, 0xe0, 0xe1, 0xb3, 0xcd, 0x23, 0x6c, 0x32, 0x46, + 0xcf, 0x2d, 0x85, 0x3d, 0xe3, 0x39, 0x84, 0xc1, 0xf4, 0x18, 0x17, 0xb1, 0xc5, 0xb5, 0x28, 0x01, 0x8f, 0x90, 0xe6, 0x26, 0x16, + 0xea, 0xa1, 0x87, 0x7f, 0x47, 0x14, 0xb9, 0x6f, 0xc8, 0x78, 0x6f, 0x91, 0xb3, 0x03, 0xe4, 0x46, 0xa9, 0x65, 0x09, 0xd3, 0x61, + 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, 0x01, 0x18, 0x30, 0x04, 0x14, 0x77, + 0x7c, 0x77, 0xb6, 0x35, 0x65, 0xdc, 0x51, 0xf3, 0x02, 0x04, 0x59, 0x63, 0xc5, 0xce, 0xfc, 0xe7, 0x09, 0x2a, 0x1e, 0x30, 0x05, + 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x06, 0x1d, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x01, 0x01, 0xff, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x06, 0x22, 0x30, 0x20, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x14, 0x30, 0x12, 0x30, 0x10, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, - 0x86, 0x04, 0x74, 0x65, 0x73, 0x74, 0x18, 0x30, 0x0b, 0x40, 0xf1, 0x10, 0x28, 0xaa, 0x62, 0xe4, 0xe9, 0xcd, 0xab, 0xab, 0xc5, - 0x6c, 0x79, 0xc4, 0x5c, 0x4f, 0x04, 0xad, 0xc8, 0x03, 0x37, 0x68, 0x4c, 0xec, 0x78, 0xdc, 0x86, 0x0c, 0x1b, 0xe8, 0x95, 0xd2, - 0x8c, 0x3b, 0x50, 0x55, 0x63, 0xef, 0x99, 0xb2, 0x98, 0x2f, 0x7b, 0xea, 0x03, 0xf3, 0x21, 0x56, 0xec, 0x98, 0xd0, 0xe5, 0xb8, - 0xbf, 0xd1, 0x45, 0x52, 0x04, 0x52, 0xc6, 0x2a, 0x63, 0xc9, 0xb2, 0x18, + 0x86, 0x04, 0x74, 0x65, 0x73, 0x74, 0x18, 0x30, 0x0b, 0x40, 0xa7, 0xc5, 0x93, 0x9d, 0xdb, 0x18, 0x9c, 0xd8, 0x4c, 0x1e, 0x85, + 0x48, 0xbc, 0x40, 0xc2, 0xc3, 0xaf, 0xcd, 0x98, 0x19, 0x54, 0x8c, 0xf8, 0xe5, 0xc2, 0x49, 0xd2, 0x7d, 0xaa, 0x5e, 0xd8, 0x86, + 0x19, 0x70, 0x46, 0x95, 0xb7, 0x10, 0x50, 0xfe, 0x70, 0x1a, 0x5a, 0x67, 0x5a, 0x49, 0x55, 0x98, 0x1c, 0x28, 0x7f, 0x25, 0xf6, + 0x73, 0x93, 0x8b, 0x43, 0xe7, 0x71, 0x73, 0x54, 0xf6, 0xc8, 0x2e, 0x18, }; -extern const uint32_t sTestCert_Node02_07_Chip_Len = sizeof(sTestCert_Node02_07_Chip); +extern const size_t sTestCert_Node02_07_Chip_Len = sizeof(sTestCert_Node02_07_Chip); extern const uint8_t sTestCert_Node02_07_DER[] = { - 0x30, 0x82, 0x02, 0x42, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x2a, 0x17, 0x96, 0x53, 0xd7, 0xaa, - 0x08, 0xbf, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x30, 0x82, 0x02, 0x41, 0x30, 0x82, 0x01, 0xe7, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x60, 0x78, 0x20, 0xc0, 0x15, 0xa0, + 0xd1, 0x66, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, @@ -2332,54 +2336,196 @@ extern const uint8_t sTestCert_Node02_07_DER[] = { 0x32, 0x30, 0x30, 0x30, 0x37, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, - 0x42, 0x00, 0x04, 0xf1, 0x1b, 0x05, 0x37, 0xf3, 0x73, 0x5c, 0xdc, 0xfa, 0xc5, 0x86, 0x15, 0xdd, 0x1b, 0x13, 0x4a, 0x83, 0x85, - 0xa4, 0x75, 0x15, 0x58, 0xfb, 0xd1, 0xfe, 0xd2, 0x55, 0x93, 0x35, 0xd0, 0xc2, 0x42, 0x6f, 0x60, 0x08, 0xf6, 0x05, 0x01, 0xf6, - 0x44, 0xa2, 0x0a, 0x8c, 0xf9, 0xc4, 0x1e, 0x82, 0x8c, 0x38, 0xa5, 0x6f, 0x56, 0x88, 0xd1, 0xfa, 0xaf, 0xd2, 0x8b, 0x21, 0x87, - 0xa8, 0xf4, 0x2e, 0x74, 0xa3, 0x81, 0xc2, 0x30, 0x81, 0xbf, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x42, 0x00, 0x04, 0xf7, 0x3c, 0x7f, 0xe5, 0x75, 0xd8, 0xb9, 0x06, 0xd4, 0x75, 0xff, 0xf7, 0x91, 0x2e, 0xe0, 0xe1, 0xb3, 0xcd, + 0x23, 0x6c, 0x32, 0x46, 0xcf, 0x2d, 0x85, 0x3d, 0xe3, 0x39, 0x84, 0xc1, 0xf4, 0x18, 0x17, 0xb1, 0xc5, 0xb5, 0x28, 0x01, 0x8f, + 0x90, 0xe6, 0x26, 0x16, 0xea, 0xa1, 0x87, 0x7f, 0x47, 0x14, 0xb9, 0x6f, 0xc8, 0x78, 0x6f, 0x91, 0xb3, 0x03, 0xe4, 0x46, 0xa9, + 0x65, 0x09, 0xd3, 0x61, 0xa3, 0x81, 0xc2, 0x30, 0x81, 0xbf, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, - 0x14, 0xcb, 0x58, 0x71, 0xe3, 0xad, 0x6d, 0xab, 0x0d, 0xbf, 0x29, 0xa5, 0x3c, 0xaa, 0x5b, 0x99, 0x1e, 0x10, 0xbe, 0x71, 0x98, - 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xcf, 0x42, 0xbc, 0xf8, 0xdf, 0x48, 0x09, 0xd9, - 0x26, 0x6f, 0x23, 0x15, 0x5a, 0x16, 0xb0, 0x7f, 0x04, 0xbb, 0x3d, 0x84, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x01, 0x01, + 0x14, 0x77, 0x7c, 0x77, 0xb6, 0x35, 0x65, 0xdc, 0x51, 0xf3, 0x02, 0x04, 0x59, 0x63, 0xc5, 0xce, 0xfc, 0xe7, 0x09, 0x2a, 0x1e, + 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, + 0x74, 0x16, 0xbd, 0xdd, 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x1b, 0x06, 0x03, 0x55, 0x1d, 0x11, 0x01, 0x01, 0xff, 0x04, 0x11, 0x30, 0x0f, 0x81, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x40, 0x63, 0x68, 0x69, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x30, 0x20, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x01, 0x01, 0x04, 0x14, 0x30, 0x12, 0x30, 0x10, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x30, 0x01, 0x86, 0x04, 0x74, 0x65, 0x73, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, - 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xf1, 0x10, 0x28, 0xaa, 0x62, 0xe4, 0xe9, 0xcd, 0xab, 0xab, - 0xc5, 0x6c, 0x79, 0xc4, 0x5c, 0x4f, 0x04, 0xad, 0xc8, 0x03, 0x37, 0x68, 0x4c, 0xec, 0x78, 0xdc, 0x86, 0x0c, 0x1b, 0xe8, 0x95, - 0xd2, 0x02, 0x21, 0x00, 0x8c, 0x3b, 0x50, 0x55, 0x63, 0xef, 0x99, 0xb2, 0x98, 0x2f, 0x7b, 0xea, 0x03, 0xf3, 0x21, 0x56, 0xec, - 0x98, 0xd0, 0xe5, 0xb8, 0xbf, 0xd1, 0x45, 0x52, 0x04, 0x52, 0xc6, 0x2a, 0x63, 0xc9, 0xb2, + 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xa7, 0xc5, 0x93, 0x9d, 0xdb, 0x18, 0x9c, 0xd8, 0x4c, 0x1e, + 0x85, 0x48, 0xbc, 0x40, 0xc2, 0xc3, 0xaf, 0xcd, 0x98, 0x19, 0x54, 0x8c, 0xf8, 0xe5, 0xc2, 0x49, 0xd2, 0x7d, 0xaa, 0x5e, 0xd8, + 0x86, 0x02, 0x20, 0x19, 0x70, 0x46, 0x95, 0xb7, 0x10, 0x50, 0xfe, 0x70, 0x1a, 0x5a, 0x67, 0x5a, 0x49, 0x55, 0x98, 0x1c, 0x28, + 0x7f, 0x25, 0xf6, 0x73, 0x93, 0x8b, 0x43, 0xe7, 0x71, 0x73, 0x54, 0xf6, 0xc8, 0x2e, }; -extern const uint32_t sTestCert_Node02_07_DER_Len = sizeof(sTestCert_Node02_07_DER); +extern const size_t sTestCert_Node02_07_DER_Len = sizeof(sTestCert_Node02_07_DER); extern const uint8_t sTestCert_Node02_07_PublicKey[] = { - 0x04, 0xf1, 0x1b, 0x05, 0x37, 0xf3, 0x73, 0x5c, 0xdc, 0xfa, 0xc5, 0x86, 0x15, 0xdd, 0x1b, 0x13, 0x4a, - 0x83, 0x85, 0xa4, 0x75, 0x15, 0x58, 0xfb, 0xd1, 0xfe, 0xd2, 0x55, 0x93, 0x35, 0xd0, 0xc2, 0x42, 0x6f, - 0x60, 0x08, 0xf6, 0x05, 0x01, 0xf6, 0x44, 0xa2, 0x0a, 0x8c, 0xf9, 0xc4, 0x1e, 0x82, 0x8c, 0x38, 0xa5, - 0x6f, 0x56, 0x88, 0xd1, 0xfa, 0xaf, 0xd2, 0x8b, 0x21, 0x87, 0xa8, 0xf4, 0x2e, 0x74, + 0x04, 0xf7, 0x3c, 0x7f, 0xe5, 0x75, 0xd8, 0xb9, 0x06, 0xd4, 0x75, 0xff, 0xf7, 0x91, 0x2e, 0xe0, 0xe1, + 0xb3, 0xcd, 0x23, 0x6c, 0x32, 0x46, 0xcf, 0x2d, 0x85, 0x3d, 0xe3, 0x39, 0x84, 0xc1, 0xf4, 0x18, 0x17, + 0xb1, 0xc5, 0xb5, 0x28, 0x01, 0x8f, 0x90, 0xe6, 0x26, 0x16, 0xea, 0xa1, 0x87, 0x7f, 0x47, 0x14, 0xb9, + 0x6f, 0xc8, 0x78, 0x6f, 0x91, 0xb3, 0x03, 0xe4, 0x46, 0xa9, 0x65, 0x09, 0xd3, 0x61, }; -extern const uint8_t sTestCert_Node02_07_PublicKey_Len = sizeof(sTestCert_Node02_07_PublicKey); +extern const size_t sTestCert_Node02_07_PublicKey_Len = sizeof(sTestCert_Node02_07_PublicKey); extern const uint8_t sTestCert_Node02_07_PrivateKey[] = { - 0x4d, 0xaf, 0x14, 0x7b, 0x94, 0x9a, 0x5e, 0x6c, 0xd2, 0xc6, 0xd7, 0xaa, 0x74, 0xa6, 0x8a, 0x51, - 0x30, 0xa5, 0x5f, 0xfc, 0x69, 0x59, 0x9c, 0xd3, 0x83, 0xc0, 0xe8, 0xad, 0xd9, 0xa6, 0x07, 0xca, + 0x95, 0xa8, 0x37, 0x7f, 0xdb, 0x52, 0x56, 0x38, 0x04, 0xc0, 0x10, 0x6d, 0x11, 0x4b, 0x52, 0x74, + 0x05, 0x69, 0x37, 0x9c, 0xcd, 0xc8, 0xf5, 0x76, 0x83, 0x47, 0x3d, 0xbd, 0xbc, 0x45, 0x25, 0x40, }; -extern const uint8_t sTestCert_Node02_07_PrivateKey_Len = sizeof(sTestCert_Node02_07_PrivateKey); +extern const size_t sTestCert_Node02_07_PrivateKey_Len = sizeof(sTestCert_Node02_07_PrivateKey); extern const uint8_t sTestCert_Node02_07_SubjectKeyId[] = { - 0xCB, 0x58, 0x71, 0xE3, 0xAD, 0x6D, 0xAB, 0x0D, 0xBF, 0x29, 0xA5, 0x3C, 0xAA, 0x5B, 0x99, 0x1E, 0x10, 0xBE, 0x71, 0x98, + 0x77, 0x7C, 0x77, 0xB6, 0x35, 0x65, 0xDC, 0x51, 0xF3, 0x02, 0x04, 0x59, 0x63, 0xC5, 0xCE, 0xFC, 0xE7, 0x09, 0x2A, 0x1E, }; -extern const uint8_t sTestCert_Node02_07_SubjectKeyId_Len = sizeof(sTestCert_Node02_07_SubjectKeyId); +extern const size_t sTestCert_Node02_07_SubjectKeyId_Len = sizeof(sTestCert_Node02_07_SubjectKeyId); extern const uint8_t sTestCert_Node02_07_AuthorityKeyId[] = { - 0xCF, 0x42, 0xBC, 0xF8, 0xDF, 0x48, 0x09, 0xD9, 0x26, 0x6F, 0x23, 0x15, 0x5A, 0x16, 0xB0, 0x7F, 0x04, 0xBB, 0x3D, 0x84, + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, +}; + +extern const size_t sTestCert_Node02_07_AuthorityKeyId_Len = sizeof(sTestCert_Node02_07_AuthorityKeyId); + +/************** Test Node02_08 Certificate ************** +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4496725963772311573 (0x3e6794707aecb815) + Signature Algorithm: ecdsa-with-SHA256 + Issuer: 1.3.6.1.4.1.37244.1.3 = CACACACA00000004, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D + Validity + Not Before: Oct 15 14:23:43 2020 GMT + Not After : Oct 15 14:23:42 2040 GMT + Subject: 1.3.6.1.4.1.37244.1.6 = ABCF00A0, 1.3.6.1.4.1.37244.1.1 = DEDEDEDE00020008, 1.3.6.1.4.1.37244.1.6 = +ABCD0020, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D, 1.3.6.1.4.1.37244.1.6 = ABCE0100 Subject Public Key Info: Public Key Algorithm: +id-ecPublicKey Public-Key: (256 bit) pub: 04:98:ca:97:34:da:af:f7:33:98:33:6d:c0:a4:de: + 89:2d:e6:2a:1f:96:90:23:e0:33:70:86:00:85:dc: + dc:07:2b:23:72:60:79:37:ba:3a:34:4d:94:55:46: + b4:14:f2:23:d2:72:31:c9:a8:3d:71:b3:97:b4:32: + 06:62:c0:f5:cb + ASN1 OID: prime256v1 + NIST CURVE: P-256 + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: critical + Digital Signature + X509v3 Extended Key Usage: critical + TLS Web Client Authentication, TLS Web Server Authentication + X509v3 Subject Key Identifier: + A9:C5:FD:6C:BD:38:BB:18:37:0F:8E:80:64:16:6A:FB:1E:C8:39:73 + X509v3 Authority Key Identifier: + keyid:E1:E7:6E:67:77:85:1D:D7:74:16:BD:DD:35:EC:3C:13:7C:47:29:DC + + Signature Algorithm: ecdsa-with-SHA256 + 30:46:02:21:00:bc:e8:c9:50:5a:b1:e4:b4:d1:d8:f2:c5:e5: + 26:37:a5:3e:f4:05:4a:9f:18:ef:45:94:3d:3d:23:58:fd:7e: + b9:02:21:00:cb:12:15:04:a3:dc:1d:e4:2d:c0:ae:e4:f5:11: + c0:05:67:7c:11:18:8b:44:98:78:bd:7d:69:3e:37:82:2c:47 + +-----BEGIN CERTIFICATE----- +MIICUjCCAfegAwIBAgIIPmeUcHrsuBUwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB +gqJ8AQMMEENBQ0FDQUNBMDAwMDAwMDQxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw +MDAwMDAwMDFEMB4XDTIwMTAxNTE0MjM0M1oXDTQwMTAxNTE0MjM0MlowgZIxGDAW +BgorBgEEAYKifAEGDAhBQkNGMDBBMDEgMB4GCisGAQQBgqJ8AQEMEERFREVERURF +MDAwMjAwMDgxGDAWBgorBgEEAYKifAEGDAhBQkNEMDAyMDEgMB4GCisGAQQBgqJ8 +AQUMEEZBQjAwMDAwMDAwMDAwMUQxGDAWBgorBgEEAYKifAEGDAhBQkNFMDEwMDBZ +MBMGByqGSM49AgEGCCqGSM49AwEHA0IABJjKlzTar/czmDNtwKTeiS3mKh+WkCPg +M3CGAIXc3AcrI3JgeTe6OjRNlFVGtBTyI9JyMcmoPXGzl7QyBmLA9cujgYMwgYAw +DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwIAYDVR0lAQH/BBYwFAYIKwYB +BQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBSpxf1svTi7GDcPjoBkFmr7Hsg5czAf +BgNVHSMEGDAWgBTh525nd4Ud13QWvd017DwTfEcp3DAKBggqhkjOPQQDAgNJADBG +AiEAvOjJUFqx5LTR2PLF5SY3pT70BUqfGO9FlD09I1j9frkCIQDLEhUEo9wd5C3A +ruT1EcAFZ3wRGItEmHi9fWk+N4IsRw== +-----END CERTIFICATE----- + +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIN+LEDQYW7Dtm8w5ta/A7JvVb0p2XemfaZuwmvbPOvdvoAoGCCqGSM49 +AwEHoUQDQgAEmMqXNNqv9zOYM23ApN6JLeYqH5aQI+AzcIYAhdzcBysjcmB5N7o6 +NE2UVUa0FPIj0nIxyag9cbOXtDIGYsD1yw== +-----END EC PRIVATE KEY----- +*/ + +extern const uint8_t sTestCert_Node02_08_Chip[] = { + 0x15, 0x30, 0x01, 0x08, 0x3e, 0x67, 0x94, 0x70, 0x7a, 0xec, 0xb8, 0x15, 0x24, 0x02, 0x01, 0x37, 0x03, 0x27, 0x13, 0x04, + 0x00, 0x00, 0x00, 0xca, 0xca, 0xca, 0xca, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xfa, 0x18, 0x26, 0x04, + 0xef, 0x17, 0x1b, 0x27, 0x26, 0x05, 0x6e, 0xb5, 0xb9, 0x4c, 0x37, 0x06, 0x26, 0x16, 0xa0, 0x00, 0xcf, 0xab, 0x27, 0x11, + 0x08, 0x00, 0x02, 0x00, 0xde, 0xde, 0xde, 0xde, 0x26, 0x16, 0x20, 0x00, 0xcd, 0xab, 0x27, 0x15, 0x1d, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb0, 0xfa, 0x26, 0x16, 0x00, 0x01, 0xce, 0xab, 0x18, 0x24, 0x07, 0x01, 0x24, 0x08, 0x01, 0x30, 0x09, 0x41, + 0x04, 0x98, 0xca, 0x97, 0x34, 0xda, 0xaf, 0xf7, 0x33, 0x98, 0x33, 0x6d, 0xc0, 0xa4, 0xde, 0x89, 0x2d, 0xe6, 0x2a, 0x1f, + 0x96, 0x90, 0x23, 0xe0, 0x33, 0x70, 0x86, 0x00, 0x85, 0xdc, 0xdc, 0x07, 0x2b, 0x23, 0x72, 0x60, 0x79, 0x37, 0xba, 0x3a, + 0x34, 0x4d, 0x94, 0x55, 0x46, 0xb4, 0x14, 0xf2, 0x23, 0xd2, 0x72, 0x31, 0xc9, 0xa8, 0x3d, 0x71, 0xb3, 0x97, 0xb4, 0x32, + 0x06, 0x62, 0xc0, 0xf5, 0xcb, 0x37, 0x0a, 0x35, 0x01, 0x28, 0x01, 0x18, 0x24, 0x02, 0x01, 0x36, 0x03, 0x04, 0x02, 0x04, + 0x01, 0x18, 0x30, 0x04, 0x14, 0xa9, 0xc5, 0xfd, 0x6c, 0xbd, 0x38, 0xbb, 0x18, 0x37, 0x0f, 0x8e, 0x80, 0x64, 0x16, 0x6a, + 0xfb, 0x1e, 0xc8, 0x39, 0x73, 0x30, 0x05, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, + 0x35, 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x18, 0x30, 0x0b, 0x40, 0xbc, 0xe8, 0xc9, 0x50, 0x5a, 0xb1, 0xe4, 0xb4, + 0xd1, 0xd8, 0xf2, 0xc5, 0xe5, 0x26, 0x37, 0xa5, 0x3e, 0xf4, 0x05, 0x4a, 0x9f, 0x18, 0xef, 0x45, 0x94, 0x3d, 0x3d, 0x23, + 0x58, 0xfd, 0x7e, 0xb9, 0xcb, 0x12, 0x15, 0x04, 0xa3, 0xdc, 0x1d, 0xe4, 0x2d, 0xc0, 0xae, 0xe4, 0xf5, 0x11, 0xc0, 0x05, + 0x67, 0x7c, 0x11, 0x18, 0x8b, 0x44, 0x98, 0x78, 0xbd, 0x7d, 0x69, 0x3e, 0x37, 0x82, 0x2c, 0x47, 0x18, +}; + +extern const size_t sTestCert_Node02_08_Chip_Len = sizeof(sTestCert_Node02_08_Chip); + +extern const uint8_t sTestCert_Node02_08_DER[] = { + 0x30, 0x82, 0x02, 0x52, 0x30, 0x82, 0x01, 0xf7, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x3e, 0x67, 0x94, 0x70, 0x7a, 0xec, + 0xb8, 0x15, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x44, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x03, 0x0c, 0x10, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, 0x43, 0x41, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x31, 0x20, 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, + 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, + 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x30, 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x34, 0x30, + 0x31, 0x30, 0x31, 0x35, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x81, 0x92, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, + 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x46, 0x30, 0x30, 0x41, 0x30, 0x31, 0x20, + 0x30, 0x1e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x01, 0x0c, 0x10, 0x44, 0x45, 0x44, 0x45, 0x44, + 0x45, 0x44, 0x45, 0x30, 0x30, 0x30, 0x32, 0x30, 0x30, 0x30, 0x38, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, + 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x44, 0x30, 0x30, 0x32, 0x30, 0x31, 0x20, 0x30, 0x1e, 0x06, + 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x01, 0x05, 0x0c, 0x10, 0x46, 0x41, 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x44, 0x31, 0x18, 0x30, 0x16, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, + 0x7c, 0x01, 0x06, 0x0c, 0x08, 0x41, 0x42, 0x43, 0x45, 0x30, 0x31, 0x30, 0x30, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x98, 0xca, + 0x97, 0x34, 0xda, 0xaf, 0xf7, 0x33, 0x98, 0x33, 0x6d, 0xc0, 0xa4, 0xde, 0x89, 0x2d, 0xe6, 0x2a, 0x1f, 0x96, 0x90, 0x23, 0xe0, + 0x33, 0x70, 0x86, 0x00, 0x85, 0xdc, 0xdc, 0x07, 0x2b, 0x23, 0x72, 0x60, 0x79, 0x37, 0xba, 0x3a, 0x34, 0x4d, 0x94, 0x55, 0x46, + 0xb4, 0x14, 0xf2, 0x23, 0xd2, 0x72, 0x31, 0xc9, 0xa8, 0x3d, 0x71, 0xb3, 0x97, 0xb4, 0x32, 0x06, 0x62, 0xc0, 0xf5, 0xcb, 0xa3, + 0x81, 0x83, 0x30, 0x81, 0x80, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, + 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x20, 0x06, 0x03, 0x55, 0x1d, 0x25, + 0x01, 0x01, 0xff, 0x04, 0x16, 0x30, 0x14, 0x06, 0x08, 0x2b, 0x06, 0x01, 0x05, 0x05, 0x07, 0x03, 0x02, 0x06, 0x08, 0x2b, 0x06, + 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa9, 0xc5, 0xfd, 0x6c, + 0xbd, 0x38, 0xbb, 0x18, 0x37, 0x0f, 0x8e, 0x80, 0x64, 0x16, 0x6a, 0xfb, 0x1e, 0xc8, 0x39, 0x73, 0x30, 0x1f, 0x06, 0x03, 0x55, + 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe1, 0xe7, 0x6e, 0x67, 0x77, 0x85, 0x1d, 0xd7, 0x74, 0x16, 0xbd, 0xdd, 0x35, + 0xec, 0x3c, 0x13, 0x7c, 0x47, 0x29, 0xdc, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, + 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xbc, 0xe8, 0xc9, 0x50, 0x5a, 0xb1, 0xe4, 0xb4, 0xd1, 0xd8, 0xf2, 0xc5, 0xe5, 0x26, 0x37, + 0xa5, 0x3e, 0xf4, 0x05, 0x4a, 0x9f, 0x18, 0xef, 0x45, 0x94, 0x3d, 0x3d, 0x23, 0x58, 0xfd, 0x7e, 0xb9, 0x02, 0x21, 0x00, 0xcb, + 0x12, 0x15, 0x04, 0xa3, 0xdc, 0x1d, 0xe4, 0x2d, 0xc0, 0xae, 0xe4, 0xf5, 0x11, 0xc0, 0x05, 0x67, 0x7c, 0x11, 0x18, 0x8b, 0x44, + 0x98, 0x78, 0xbd, 0x7d, 0x69, 0x3e, 0x37, 0x82, 0x2c, 0x47, +}; + +extern const size_t sTestCert_Node02_08_DER_Len = sizeof(sTestCert_Node02_08_DER); + +extern const uint8_t sTestCert_Node02_08_PublicKey[] = { + 0x04, 0x98, 0xca, 0x97, 0x34, 0xda, 0xaf, 0xf7, 0x33, 0x98, 0x33, 0x6d, 0xc0, 0xa4, 0xde, 0x89, 0x2d, + 0xe6, 0x2a, 0x1f, 0x96, 0x90, 0x23, 0xe0, 0x33, 0x70, 0x86, 0x00, 0x85, 0xdc, 0xdc, 0x07, 0x2b, 0x23, + 0x72, 0x60, 0x79, 0x37, 0xba, 0x3a, 0x34, 0x4d, 0x94, 0x55, 0x46, 0xb4, 0x14, 0xf2, 0x23, 0xd2, 0x72, + 0x31, 0xc9, 0xa8, 0x3d, 0x71, 0xb3, 0x97, 0xb4, 0x32, 0x06, 0x62, 0xc0, 0xf5, 0xcb, +}; + +extern const size_t sTestCert_Node02_08_PublicKey_Len = sizeof(sTestCert_Node02_08_PublicKey); + +extern const uint8_t sTestCert_Node02_08_PrivateKey[] = { + 0xdf, 0x8b, 0x10, 0x34, 0x18, 0x5b, 0xb0, 0xed, 0x9b, 0xcc, 0x39, 0xb5, 0xaf, 0xc0, 0xec, 0x9b, + 0xd5, 0x6f, 0x4a, 0x76, 0x5d, 0xe9, 0x9f, 0x69, 0x9b, 0xb0, 0x9a, 0xf6, 0xcf, 0x3a, 0xf7, 0x6f, +}; + +extern const size_t sTestCert_Node02_08_PrivateKey_Len = sizeof(sTestCert_Node02_08_PrivateKey); + +extern const uint8_t sTestCert_Node02_08_SubjectKeyId[] = { + 0xA9, 0xC5, 0xFD, 0x6C, 0xBD, 0x38, 0xBB, 0x18, 0x37, 0x0F, 0x8E, 0x80, 0x64, 0x16, 0x6A, 0xFB, 0x1E, 0xC8, 0x39, 0x73, +}; + +extern const size_t sTestCert_Node02_08_SubjectKeyId_Len = sizeof(sTestCert_Node02_08_SubjectKeyId); + +extern const uint8_t sTestCert_Node02_08_AuthorityKeyId[] = { + 0xE1, 0xE7, 0x6E, 0x67, 0x77, 0x85, 0x1D, 0xD7, 0x74, 0x16, 0xBD, 0xDD, 0x35, 0xEC, 0x3C, 0x13, 0x7C, 0x47, 0x29, 0xDC, }; -extern const uint8_t sTestCert_Node02_07_AuthorityKeyId_Len = sizeof(sTestCert_Node02_07_AuthorityKeyId); +extern const size_t sTestCert_Node02_08_AuthorityKeyId_Len = sizeof(sTestCert_Node02_08_AuthorityKeyId); } // namespace TestCerts } // namespace chip diff --git a/src/credentials/tests/CHIPCert_test_vectors.h b/src/credentials/tests/CHIPCert_test_vectors.h index 03208e89200607..a226ddde841bac 100644 --- a/src/credentials/tests/CHIPCert_test_vectors.h +++ b/src/credentials/tests/CHIPCert_test_vectors.h @@ -54,6 +54,7 @@ enum TestCert kNode02_05 = 13, kNode02_06 = 14, kNode02_07 = 15, + kNode02_08 = 16, }; // Special flags to alter how certificates are fetched/loaded. @@ -81,202 +82,215 @@ extern const size_t gNumTestCerts; // ------------------------------ DECLARATIONS ---------------------------------------- extern const uint8_t sTestCert_Root01_Chip[]; -extern const uint32_t sTestCert_Root01_Chip_Len; +extern const size_t sTestCert_Root01_Chip_Len; extern const uint8_t sTestCert_Root01_DER[]; -extern const uint32_t sTestCert_Root01_DER_Len; +extern const size_t sTestCert_Root01_DER_Len; extern const uint8_t sTestCert_Root01_PublicKey[]; -extern const uint8_t sTestCert_Root01_PublicKey_Len; +extern const size_t sTestCert_Root01_PublicKey_Len; extern const uint8_t sTestCert_Root01_PrivateKey[]; -extern const uint8_t sTestCert_Root01_PrivateKey_Len; +extern const size_t sTestCert_Root01_PrivateKey_Len; extern const uint8_t sTestCert_Root01_SubjectKeyId[]; -extern const uint8_t sTestCert_Root01_SubjectKeyId_Len; +extern const size_t sTestCert_Root01_SubjectKeyId_Len; extern const uint8_t sTestCert_Root01_AuthorityKeyId[]; -extern const uint8_t sTestCert_Root01_AuthorityKeyId_Len; +extern const size_t sTestCert_Root01_AuthorityKeyId_Len; extern const uint8_t sTestCert_Root02_Chip[]; -extern const uint32_t sTestCert_Root02_Chip_Len; +extern const size_t sTestCert_Root02_Chip_Len; extern const uint8_t sTestCert_Root02_DER[]; -extern const uint32_t sTestCert_Root02_DER_Len; +extern const size_t sTestCert_Root02_DER_Len; extern const uint8_t sTestCert_Root02_PublicKey[]; -extern const uint8_t sTestCert_Root02_PublicKey_Len; +extern const size_t sTestCert_Root02_PublicKey_Len; extern const uint8_t sTestCert_Root02_PrivateKey[]; -extern const uint8_t sTestCert_Root02_PrivateKey_Len; +extern const size_t sTestCert_Root02_PrivateKey_Len; extern const uint8_t sTestCert_Root02_SubjectKeyId[]; -extern const uint8_t sTestCert_Root02_SubjectKeyId_Len; +extern const size_t sTestCert_Root02_SubjectKeyId_Len; extern const uint8_t sTestCert_Root02_AuthorityKeyId[]; -extern const uint8_t sTestCert_Root02_AuthorityKeyId_Len; +extern const size_t sTestCert_Root02_AuthorityKeyId_Len; extern const uint8_t sTestCert_ICA01_Chip[]; -extern const uint32_t sTestCert_ICA01_Chip_Len; +extern const size_t sTestCert_ICA01_Chip_Len; extern const uint8_t sTestCert_ICA01_DER[]; -extern const uint32_t sTestCert_ICA01_DER_Len; +extern const size_t sTestCert_ICA01_DER_Len; extern const uint8_t sTestCert_ICA01_PublicKey[]; -extern const uint8_t sTestCert_ICA01_PublicKey_Len; +extern const size_t sTestCert_ICA01_PublicKey_Len; extern const uint8_t sTestCert_ICA01_PrivateKey[]; -extern const uint8_t sTestCert_ICA01_PrivateKey_Len; +extern const size_t sTestCert_ICA01_PrivateKey_Len; extern const uint8_t sTestCert_ICA01_SubjectKeyId[]; -extern const uint8_t sTestCert_ICA01_SubjectKeyId_Len; +extern const size_t sTestCert_ICA01_SubjectKeyId_Len; extern const uint8_t sTestCert_ICA01_AuthorityKeyId[]; -extern const uint8_t sTestCert_ICA01_AuthorityKeyId_Len; +extern const size_t sTestCert_ICA01_AuthorityKeyId_Len; extern const uint8_t sTestCert_ICA02_Chip[]; -extern const uint32_t sTestCert_ICA02_Chip_Len; +extern const size_t sTestCert_ICA02_Chip_Len; extern const uint8_t sTestCert_ICA02_DER[]; -extern const uint32_t sTestCert_ICA02_DER_Len; +extern const size_t sTestCert_ICA02_DER_Len; extern const uint8_t sTestCert_ICA02_PublicKey[]; -extern const uint8_t sTestCert_ICA02_PublicKey_Len; +extern const size_t sTestCert_ICA02_PublicKey_Len; extern const uint8_t sTestCert_ICA02_PrivateKey[]; -extern const uint8_t sTestCert_ICA02_PrivateKey_Len; +extern const size_t sTestCert_ICA02_PrivateKey_Len; extern const uint8_t sTestCert_ICA02_SubjectKeyId[]; -extern const uint8_t sTestCert_ICA02_SubjectKeyId_Len; +extern const size_t sTestCert_ICA02_SubjectKeyId_Len; extern const uint8_t sTestCert_ICA02_AuthorityKeyId[]; -extern const uint8_t sTestCert_ICA02_AuthorityKeyId_Len; +extern const size_t sTestCert_ICA02_AuthorityKeyId_Len; extern const uint8_t sTestCert_ICA01_1_Chip[]; -extern const uint32_t sTestCert_ICA01_1_Chip_Len; +extern const size_t sTestCert_ICA01_1_Chip_Len; extern const uint8_t sTestCert_ICA01_1_DER[]; -extern const uint32_t sTestCert_ICA01_1_DER_Len; +extern const size_t sTestCert_ICA01_1_DER_Len; extern const uint8_t sTestCert_ICA01_1_PublicKey[]; -extern const uint8_t sTestCert_ICA01_1_PublicKey_Len; +extern const size_t sTestCert_ICA01_1_PublicKey_Len; extern const uint8_t sTestCert_ICA01_1_PrivateKey[]; -extern const uint8_t sTestCert_ICA01_1_PrivateKey_Len; +extern const size_t sTestCert_ICA01_1_PrivateKey_Len; extern const uint8_t sTestCert_ICA01_1_SubjectKeyId[]; -extern const uint8_t sTestCert_ICA01_1_SubjectKeyId_Len; +extern const size_t sTestCert_ICA01_1_SubjectKeyId_Len; extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId[]; -extern const uint8_t sTestCert_ICA01_1_AuthorityKeyId_Len; +extern const size_t sTestCert_ICA01_1_AuthorityKeyId_Len; extern const uint8_t sTestCert_FWSign01_Chip[]; -extern const uint32_t sTestCert_FWSign01_Chip_Len; +extern const size_t sTestCert_FWSign01_Chip_Len; extern const uint8_t sTestCert_FWSign01_DER[]; -extern const uint32_t sTestCert_FWSign01_DER_Len; +extern const size_t sTestCert_FWSign01_DER_Len; extern const uint8_t sTestCert_FWSign01_PublicKey[]; -extern const uint8_t sTestCert_FWSign01_PublicKey_Len; +extern const size_t sTestCert_FWSign01_PublicKey_Len; extern const uint8_t sTestCert_FWSign01_PrivateKey[]; -extern const uint8_t sTestCert_FWSign01_PrivateKey_Len; +extern const size_t sTestCert_FWSign01_PrivateKey_Len; extern const uint8_t sTestCert_FWSign01_SubjectKeyId[]; -extern const uint8_t sTestCert_FWSign01_SubjectKeyId_Len; +extern const size_t sTestCert_FWSign01_SubjectKeyId_Len; extern const uint8_t sTestCert_FWSign01_AuthorityKeyId[]; -extern const uint8_t sTestCert_FWSign01_AuthorityKeyId_Len; +extern const size_t sTestCert_FWSign01_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node01_01_Chip[]; -extern const uint32_t sTestCert_Node01_01_Chip_Len; +extern const size_t sTestCert_Node01_01_Chip_Len; extern const uint8_t sTestCert_Node01_01_DER[]; -extern const uint32_t sTestCert_Node01_01_DER_Len; +extern const size_t sTestCert_Node01_01_DER_Len; extern const uint8_t sTestCert_Node01_01_PublicKey[]; -extern const uint8_t sTestCert_Node01_01_PublicKey_Len; +extern const size_t sTestCert_Node01_01_PublicKey_Len; extern const uint8_t sTestCert_Node01_01_PrivateKey[]; -extern const uint8_t sTestCert_Node01_01_PrivateKey_Len; +extern const size_t sTestCert_Node01_01_PrivateKey_Len; extern const uint8_t sTestCert_Node01_01_SubjectKeyId[]; -extern const uint8_t sTestCert_Node01_01_SubjectKeyId_Len; +extern const size_t sTestCert_Node01_01_SubjectKeyId_Len; extern const uint8_t sTestCert_Node01_01_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node01_01_AuthorityKeyId_Len; +extern const size_t sTestCert_Node01_01_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node01_01_Err01_Chip[]; -extern const uint32_t sTestCert_Node01_01_Err01_Chip_Len; +extern const size_t sTestCert_Node01_01_Err01_Chip_Len; extern const uint8_t sTestCert_Node01_02_Chip[]; -extern const uint32_t sTestCert_Node01_02_Chip_Len; +extern const size_t sTestCert_Node01_02_Chip_Len; extern const uint8_t sTestCert_Node01_02_DER[]; -extern const uint32_t sTestCert_Node01_02_DER_Len; +extern const size_t sTestCert_Node01_02_DER_Len; extern const uint8_t sTestCert_Node01_02_PublicKey[]; -extern const uint8_t sTestCert_Node01_02_PublicKey_Len; +extern const size_t sTestCert_Node01_02_PublicKey_Len; extern const uint8_t sTestCert_Node01_02_PrivateKey[]; -extern const uint8_t sTestCert_Node01_02_PrivateKey_Len; +extern const size_t sTestCert_Node01_02_PrivateKey_Len; extern const uint8_t sTestCert_Node01_02_SubjectKeyId[]; -extern const uint8_t sTestCert_Node01_02_SubjectKeyId_Len; +extern const size_t sTestCert_Node01_02_SubjectKeyId_Len; extern const uint8_t sTestCert_Node01_02_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node01_02_AuthorityKeyId_Len; +extern const size_t sTestCert_Node01_02_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_01_Chip[]; -extern const uint32_t sTestCert_Node02_01_Chip_Len; +extern const size_t sTestCert_Node02_01_Chip_Len; extern const uint8_t sTestCert_Node02_01_DER[]; -extern const uint32_t sTestCert_Node02_01_DER_Len; +extern const size_t sTestCert_Node02_01_DER_Len; extern const uint8_t sTestCert_Node02_01_PublicKey[]; -extern const uint8_t sTestCert_Node02_01_PublicKey_Len; +extern const size_t sTestCert_Node02_01_PublicKey_Len; extern const uint8_t sTestCert_Node02_01_PrivateKey[]; -extern const uint8_t sTestCert_Node02_01_PrivateKey_Len; +extern const size_t sTestCert_Node02_01_PrivateKey_Len; extern const uint8_t sTestCert_Node02_01_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_01_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_01_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_01_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_01_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_01_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_02_Chip[]; -extern const uint32_t sTestCert_Node02_02_Chip_Len; +extern const size_t sTestCert_Node02_02_Chip_Len; extern const uint8_t sTestCert_Node02_02_DER[]; -extern const uint32_t sTestCert_Node02_02_DER_Len; +extern const size_t sTestCert_Node02_02_DER_Len; extern const uint8_t sTestCert_Node02_02_PublicKey[]; -extern const uint8_t sTestCert_Node02_02_PublicKey_Len; +extern const size_t sTestCert_Node02_02_PublicKey_Len; extern const uint8_t sTestCert_Node02_02_PrivateKey[]; -extern const uint8_t sTestCert_Node02_02_PrivateKey_Len; +extern const size_t sTestCert_Node02_02_PrivateKey_Len; extern const uint8_t sTestCert_Node02_02_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_02_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_02_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_02_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_02_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_02_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_03_Chip[]; -extern const uint32_t sTestCert_Node02_03_Chip_Len; +extern const size_t sTestCert_Node02_03_Chip_Len; extern const uint8_t sTestCert_Node02_03_DER[]; -extern const uint32_t sTestCert_Node02_03_DER_Len; +extern const size_t sTestCert_Node02_03_DER_Len; extern const uint8_t sTestCert_Node02_03_PublicKey[]; -extern const uint8_t sTestCert_Node02_03_PublicKey_Len; +extern const size_t sTestCert_Node02_03_PublicKey_Len; extern const uint8_t sTestCert_Node02_03_PrivateKey[]; -extern const uint8_t sTestCert_Node02_03_PrivateKey_Len; +extern const size_t sTestCert_Node02_03_PrivateKey_Len; extern const uint8_t sTestCert_Node02_03_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_03_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_03_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_03_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_03_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_03_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_04_Chip[]; -extern const uint32_t sTestCert_Node02_04_Chip_Len; +extern const size_t sTestCert_Node02_04_Chip_Len; extern const uint8_t sTestCert_Node02_04_DER[]; -extern const uint32_t sTestCert_Node02_04_DER_Len; +extern const size_t sTestCert_Node02_04_DER_Len; extern const uint8_t sTestCert_Node02_04_PublicKey[]; -extern const uint8_t sTestCert_Node02_04_PublicKey_Len; +extern const size_t sTestCert_Node02_04_PublicKey_Len; extern const uint8_t sTestCert_Node02_04_PrivateKey[]; -extern const uint8_t sTestCert_Node02_04_PrivateKey_Len; +extern const size_t sTestCert_Node02_04_PrivateKey_Len; extern const uint8_t sTestCert_Node02_04_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_04_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_04_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_04_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_04_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_04_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_05_Chip[]; -extern const uint32_t sTestCert_Node02_05_Chip_Len; +extern const size_t sTestCert_Node02_05_Chip_Len; extern const uint8_t sTestCert_Node02_05_DER[]; -extern const uint32_t sTestCert_Node02_05_DER_Len; +extern const size_t sTestCert_Node02_05_DER_Len; extern const uint8_t sTestCert_Node02_05_PublicKey[]; -extern const uint8_t sTestCert_Node02_05_PublicKey_Len; +extern const size_t sTestCert_Node02_05_PublicKey_Len; extern const uint8_t sTestCert_Node02_05_PrivateKey[]; -extern const uint8_t sTestCert_Node02_05_PrivateKey_Len; +extern const size_t sTestCert_Node02_05_PrivateKey_Len; extern const uint8_t sTestCert_Node02_05_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_05_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_05_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_05_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_05_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_05_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_06_Chip[]; -extern const uint32_t sTestCert_Node02_06_Chip_Len; +extern const size_t sTestCert_Node02_06_Chip_Len; extern const uint8_t sTestCert_Node02_06_DER[]; -extern const uint32_t sTestCert_Node02_06_DER_Len; +extern const size_t sTestCert_Node02_06_DER_Len; extern const uint8_t sTestCert_Node02_06_PublicKey[]; -extern const uint8_t sTestCert_Node02_06_PublicKey_Len; +extern const size_t sTestCert_Node02_06_PublicKey_Len; extern const uint8_t sTestCert_Node02_06_PrivateKey[]; -extern const uint8_t sTestCert_Node02_06_PrivateKey_Len; +extern const size_t sTestCert_Node02_06_PrivateKey_Len; extern const uint8_t sTestCert_Node02_06_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_06_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_06_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_06_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_06_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_06_AuthorityKeyId_Len; extern const uint8_t sTestCert_Node02_07_Chip[]; -extern const uint32_t sTestCert_Node02_07_Chip_Len; +extern const size_t sTestCert_Node02_07_Chip_Len; extern const uint8_t sTestCert_Node02_07_DER[]; -extern const uint32_t sTestCert_Node02_07_DER_Len; +extern const size_t sTestCert_Node02_07_DER_Len; extern const uint8_t sTestCert_Node02_07_PublicKey[]; -extern const uint8_t sTestCert_Node02_07_PublicKey_Len; +extern const size_t sTestCert_Node02_07_PublicKey_Len; extern const uint8_t sTestCert_Node02_07_PrivateKey[]; -extern const uint8_t sTestCert_Node02_07_PrivateKey_Len; +extern const size_t sTestCert_Node02_07_PrivateKey_Len; extern const uint8_t sTestCert_Node02_07_SubjectKeyId[]; -extern const uint8_t sTestCert_Node02_07_SubjectKeyId_Len; +extern const size_t sTestCert_Node02_07_SubjectKeyId_Len; extern const uint8_t sTestCert_Node02_07_AuthorityKeyId[]; -extern const uint8_t sTestCert_Node02_07_AuthorityKeyId_Len; +extern const size_t sTestCert_Node02_07_AuthorityKeyId_Len; + +extern const uint8_t sTestCert_Node02_08_Chip[]; +extern const size_t sTestCert_Node02_08_Chip_Len; +extern const uint8_t sTestCert_Node02_08_DER[]; +extern const size_t sTestCert_Node02_08_DER_Len; +extern const uint8_t sTestCert_Node02_08_PublicKey[]; +extern const size_t sTestCert_Node02_08_PublicKey_Len; +extern const uint8_t sTestCert_Node02_08_PrivateKey[]; +extern const size_t sTestCert_Node02_08_PrivateKey_Len; +extern const uint8_t sTestCert_Node02_08_SubjectKeyId[]; +extern const size_t sTestCert_Node02_08_SubjectKeyId_Len; +extern const uint8_t sTestCert_Node02_08_AuthorityKeyId[]; +extern const size_t sTestCert_Node02_08_AuthorityKeyId_Len; } // namespace TestCerts } // namespace chip diff --git a/src/credentials/tests/TestChipCert.cpp b/src/credentials/tests/TestChipCert.cpp index 2d3f166ed31f8a..034db14064336c 100644 --- a/src/credentials/tests/TestChipCert.cpp +++ b/src/credentials/tests/TestChipCert.cpp @@ -1039,6 +1039,7 @@ static void TestChipCert_ExtractPeerId(nlTestSuite * inSuite, void * inContext) { TestCert::kNode02_05, TestCert::kICA02, 0xDEDEDEDE00020005, 0xFAB000000000001D }, { TestCert::kNode02_06, TestCert::kICA02, 0xDEDEDEDE00020006, 0xFAB000000000001D }, { TestCert::kNode02_07, TestCert::kICA02, 0xDEDEDEDE00020007, 0xFAB000000000001D }, + { TestCert::kNode02_08, TestCert::kICA02, 0xDEDEDEDE00020008, 0xFAB000000000001D }, }; // clang-format on @@ -1107,6 +1108,80 @@ static void TestChipCert_ExtractPeerId(nlTestSuite * inSuite, void * inContext) } } +static void TestChipCert_ExtractCATsFromOpCert(nlTestSuite * inSuite, void * inContext) +{ + struct TestCase + { + uint8_t Cert; + uint32_t ExpectedCAT[kMaxSubjectCATAttributeCount]; + }; + + // clang-format off + static constexpr TestCase sTestCases[] = { + // Cert CATs + // ============================================================= + { TestCert::kNode01_01, { 0, 0, 0 } }, + { TestCert::kNode01_02, { 0, 0, 0 } }, + { TestCert::kNode02_01, { 0, 0, 0 } }, + { TestCert::kNode02_02, { 0, 0, 0 } }, + { TestCert::kNode02_03, { 0xABCD0001, 0, 0 } }, + { TestCert::kNode02_04, { 0xABCE1002, 0xABCD0003, 0 } }, + { TestCert::kNode02_05, { 0xABCD0010, 0xABCE1008, 0 } }, + { TestCert::kNode02_06, { 0, 0, 0 } }, + { TestCert::kNode02_07, { 0, 0, 0 } }, + { TestCert::kNode02_08, { 0xABCF00A0, 0xABCD0020, 0xABCE0100 } }, + }; + // clang-format on + + // Test extraction from the raw ByteSpan form. + ChipCertificateSet certSet; + for (auto & testCase : sTestCases) + { + CHIP_ERROR err = certSet.Init(1); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + err = LoadTestCert(certSet, testCase.Cert, sNullLoadFlag, sNullDecodeFlag); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + uint32_t cats[kMaxSubjectCATAttributeCount]; + err = ExtractCATsFromOpCert(certSet.GetCertSet()[0], cats, ArraySize(cats)); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + NL_TEST_ASSERT(inSuite, memcmp(cats, testCase.ExpectedCAT, sizeof(cats)) == 0); + + certSet.Release(); + } + + // Error case: trying to extract CAT from Root Cert. + { + CHIP_ERROR err = certSet.Init(1); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + err = LoadTestCert(certSet, TestCert::kRoot01, sNullLoadFlag, sNullDecodeFlag); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + uint32_t cats[kMaxSubjectCATAttributeCount]; + err = ExtractCATsFromOpCert(certSet.GetCertSet()[0], cats, ArraySize(cats)); + NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); + + certSet.Release(); + } + + // Error case: CAT array is too small. + { + CHIP_ERROR err = certSet.Init(1); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + err = LoadTestCert(certSet, TestCert::kNode02_08, sNullLoadFlag, sNullDecodeFlag); + NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + + uint32_t cats[kMaxSubjectCATAttributeCount - 1]; + err = ExtractCATsFromOpCert(certSet.GetCertSet()[0], cats, ArraySize(cats)); + NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_BUFFER_TOO_SMALL); + + certSet.Release(); + } +} + static void TestChipCert_ExtractPublicKeyAndSKID(nlTestSuite * inSuite, void * inContext) { struct TestCase @@ -1134,6 +1209,7 @@ static void TestChipCert_ExtractPublicKeyAndSKID(nlTestSuite * inSuite, void * i { TestCert::kNode02_05, sTestCert_Node02_05_PublicKey, sTestCert_Node02_05_SubjectKeyId }, { TestCert::kNode02_06, sTestCert_Node02_06_PublicKey, sTestCert_Node02_06_SubjectKeyId }, { TestCert::kNode02_07, sTestCert_Node02_07_PublicKey, sTestCert_Node02_07_SubjectKeyId }, + { TestCert::kNode02_08, sTestCert_Node02_08_PublicKey, sTestCert_Node02_08_SubjectKeyId }, }; // clang-format on @@ -1200,6 +1276,7 @@ static const nlTest sTests[] = { NL_TEST_DEF("Test CHIP Verify Generated Cert Chain", TestChipCert_VerifyGeneratedCerts), NL_TEST_DEF("Test CHIP Verify Generated Cert Chain No ICA", TestChipCert_VerifyGeneratedCertsNoICA), NL_TEST_DEF("Test extracting PeerId from node certificate", TestChipCert_ExtractPeerId), + NL_TEST_DEF("Test extracting CAST Authenticated Tags from node certificate", TestChipCert_ExtractCATsFromOpCert), NL_TEST_DEF("Test extracting PublicKey and SKID from chip certificate", TestChipCert_ExtractPublicKeyAndSKID), NL_TEST_SENTINEL() }; diff --git a/src/lib/asn1/gen_asn1oid.py b/src/lib/asn1/gen_asn1oid.py index 64cbea0ecb309d..8076a9c649cde6 100755 --- a/src/lib/asn1/gen_asn1oid.py +++ b/src/lib/asn1/gen_asn1oid.py @@ -144,10 +144,8 @@ def identity(n): 3), dod(6), internet(1), private(4), enterprise(1), zigbee(37244), chip(1), 4]), ("AttributeType", "ChipFabricId", 21, [iso(1), organization( 3), dod(6), internet(1), private(4), enterprise(1), zigbee(37244), chip(1), 5]), - ("AttributeType", "ChipAuthTag1", 22, [iso(1), organization( + ("AttributeType", "ChipCASEAuthenticatedTag", 22, [iso(1), organization( 3), dod(6), internet(1), private(4), enterprise(1), zigbee(37244), chip(1), 6]), - ("AttributeType", "ChipAuthTag2", 23, [iso(1), organization( - 3), dod(6), internet(1), private(4), enterprise(1), zigbee(37244), chip(1), 7]), # Elliptic Curves ("EllipticCurve", "prime256v1", 1, [ diff --git a/src/tools/chip-cert/CertUtils.cpp b/src/tools/chip-cert/CertUtils.cpp index 440531d18d30f8..16db48a7b2c9ea 100644 --- a/src/tools/chip-cert/CertUtils.cpp +++ b/src/tools/chip-cert/CertUtils.cpp @@ -62,11 +62,8 @@ bool ToolChipDN::SetCertSubjectDN(X509 * cert) const case kOID_AttributeType_ChipFabricId: attrNID = gNIDChipFabricId; break; - case kOID_AttributeType_ChipAuthTag1: - attrNID = gNIDChipAuthTag1; - break; - case kOID_AttributeType_ChipAuthTag2: - attrNID = gNIDChipAuthTag2; + case kOID_AttributeType_ChipCASEAuthenticatedTag: + attrNID = gNIDChipCASEAuthenticatedTag; break; default: ExitNow(res = false); diff --git a/src/tools/chip-cert/Cmd_GenCert.cpp b/src/tools/chip-cert/Cmd_GenCert.cpp index 7eaba4d87749e9..8a5aee2bfb23bb 100644 --- a/src/tools/chip-cert/Cmd_GenCert.cpp +++ b/src/tools/chip-cert/Cmd_GenCert.cpp @@ -46,7 +46,7 @@ OptionDef gCmdOptionDefs[] = { "type", kArgumentRequired, 't' }, { "subject-chip-id", kArgumentRequired, 'i' }, { "subject-fab-id", kArgumentRequired, 'f' }, - { "subject-at", kArgumentRequired, 'a' }, + { "subject-cat", kArgumentRequired, 'a' }, { "subject-cn-u", kArgumentRequired, 'c' }, { "path-len-constraint", kArgumentRequired, 'p' }, { "future-ext-sub", kArgumentRequired, 'x' }, @@ -83,9 +83,9 @@ const char * const gCmdOptionHelp = "\n" " Subject DN Fabric Id attribute (in hex).\n" "\n" - " -a, --subject-at \n" + " -a, --subject-cat \n" "\n" - " Subject DN CHIP Authentication Tag (in hex).\n" + " Subject DN CHIP CASE Authentication Tag (in hex).\n" "\n" " -c, --subject-cn-u \n" "\n" @@ -266,20 +266,7 @@ bool HandleOption(const char * progName, OptionSet * optSet, int id, const char PrintArgError("%s: Invalid value specified for the subject authentication tag attribute: %s\n", progName, arg); return false; } - - if (!gSubjectDN.HasAttr(kOID_AttributeType_ChipAuthTag1)) - { - attrOID = kOID_AttributeType_ChipAuthTag1; - } - else if (!gSubjectDN.HasAttr(kOID_AttributeType_ChipAuthTag2)) - { - attrOID = kOID_AttributeType_ChipAuthTag2; - } - else - { - PrintArgError("%s: Too many authentication tag attributes are specified: %s\n", progName, arg); - return false; - } + attrOID = kOID_AttributeType_ChipCASEAuthenticatedTag; err = gSubjectDN.AddAttribute(attrOID, chip32bitAttr); if (err != CHIP_NO_ERROR) diff --git a/src/tools/chip-cert/GeneralUtils.cpp b/src/tools/chip-cert/GeneralUtils.cpp index 23adb060aca962..e7735d87b34c93 100644 --- a/src/tools/chip-cert/GeneralUtils.cpp +++ b/src/tools/chip-cert/GeneralUtils.cpp @@ -38,8 +38,7 @@ int gNIDChipFirmwareSigningId; int gNIDChipICAId; int gNIDChipRootId; int gNIDChipFabricId; -int gNIDChipAuthTag1; -int gNIDChipAuthTag2; +int gNIDChipCASEAuthenticatedTag; int gNIDChipAttAttrVID; int gNIDChipAttAttrPID; int gNIDChipCurveP256 = EC_curve_nist2nid("P-256"); @@ -83,14 +82,8 @@ bool InitOpenSSL() ReportOpenSSLErrorAndExit("OBJ_create", res = false); } - gNIDChipAuthTag1 = OBJ_create("1.3.6.1.4.1.37244.1.6", "ChipAuthTag1", "ChipAuthTag1"); - if (gNIDChipAuthTag1 == 0) - { - ReportOpenSSLErrorAndExit("OBJ_create", res = false); - } - - gNIDChipAuthTag2 = OBJ_create("1.3.6.1.4.1.37244.1.7", "ChipAuthTag2", "ChipAuthTag2"); - if (gNIDChipAuthTag2 == 0) + gNIDChipCASEAuthenticatedTag = OBJ_create("1.3.6.1.4.1.37244.1.6", "ChipCASEAuthenticatedTag", "ChipCASEAuthenticatedTag"); + if (gNIDChipCASEAuthenticatedTag == 0) { ReportOpenSSLErrorAndExit("OBJ_create", res = false); } @@ -112,8 +105,7 @@ bool InitOpenSSL() ASN1_STRING_TABLE_add(gNIDChipICAId, 16, 16, B_ASN1_UTF8STRING, 0); ASN1_STRING_TABLE_add(gNIDChipRootId, 16, 16, B_ASN1_UTF8STRING, 0); ASN1_STRING_TABLE_add(gNIDChipFabricId, 16, 16, B_ASN1_UTF8STRING, 0); - ASN1_STRING_TABLE_add(gNIDChipAuthTag1, 8, 8, B_ASN1_UTF8STRING, 0); - ASN1_STRING_TABLE_add(gNIDChipAuthTag2, 8, 8, B_ASN1_UTF8STRING, 0); + ASN1_STRING_TABLE_add(gNIDChipCASEAuthenticatedTag, 8, 8, B_ASN1_UTF8STRING, 0); ASN1_STRING_TABLE_add(gNIDChipAttAttrVID, 4, 4, B_ASN1_UTF8STRING, 0); ASN1_STRING_TABLE_add(gNIDChipAttAttrPID, 4, 4, B_ASN1_UTF8STRING, 0); diff --git a/src/tools/chip-cert/chip-cert.h b/src/tools/chip-cert/chip-cert.h index 66e395993e539e..ccde5747a0e460 100644 --- a/src/tools/chip-cert/chip-cert.h +++ b/src/tools/chip-cert/chip-cert.h @@ -164,8 +164,7 @@ extern int gNIDChipFirmwareSigningId; extern int gNIDChipICAId; extern int gNIDChipRootId; extern int gNIDChipFabricId; -extern int gNIDChipAuthTag1; -extern int gNIDChipAuthTag2; +extern int gNIDChipCASEAuthenticatedTag; extern int gNIDChipCurveP256; extern int gNIDChipAttAttrVID; extern int gNIDChipAttAttrPID;