@@ -35,6 +35,7 @@ namespace TestCerts {
35
35
extern const uint8_t gTestCerts [] = {
36
36
TestCert::kRoot01 ,
37
37
TestCert::kRoot02 ,
38
+ TestCert::kRoot03 ,
38
39
TestCert::kICA01 ,
39
40
TestCert::kICA02 ,
40
41
TestCert::kICA01_1 ,
@@ -78,6 +79,7 @@ CHIP_ERROR GetTestCert(uint8_t certType, BitFlags<TestCertLoadFlags> certLoadFla
78
79
79
80
SELECT_CERT (Root01);
80
81
SELECT_CERT (Root02);
82
+ SELECT_CERT (Root03);
81
83
SELECT_CERT (ICA01);
82
84
SELECT_CERT (ICA02);
83
85
SELECT_CERT (ICA01_1);
@@ -114,6 +116,7 @@ const char * GetTestCertName(uint8_t certType)
114
116
115
117
NAME_CERT (Root01);
116
118
NAME_CERT (Root02);
119
+ NAME_CERT (Root03);
117
120
NAME_CERT (ICA01);
118
121
NAME_CERT (ICA02);
119
122
NAME_CERT (ICA01_1);
@@ -150,6 +153,7 @@ CHIP_ERROR GetTestCertPubkey(uint8_t certType, ByteSpan & pubkey)
150
153
151
154
SELECT_PUBKEY (Root01);
152
155
SELECT_PUBKEY (Root02);
156
+ SELECT_PUBKEY (Root03);
153
157
SELECT_PUBKEY (ICA01);
154
158
SELECT_PUBKEY (ICA02);
155
159
SELECT_PUBKEY (ICA01_1);
@@ -189,6 +193,7 @@ CHIP_ERROR GetTestCertSKID(uint8_t certType, ByteSpan & skid)
189
193
190
194
SELECT_SKID (Root01);
191
195
SELECT_SKID (Root02);
196
+ SELECT_SKID (Root03);
192
197
SELECT_SKID (ICA01);
193
198
SELECT_SKID (ICA02);
194
199
SELECT_SKID (ICA01_1);
@@ -228,6 +233,7 @@ CHIP_ERROR GetTestCertAKID(uint8_t certType, ByteSpan & akid)
228
233
229
234
SELECT_AKID (Root01);
230
235
SELECT_AKID (Root02);
236
+ SELECT_AKID (Root03);
231
237
SELECT_AKID (ICA01);
232
238
SELECT_AKID (ICA02);
233
239
SELECT_AKID (ICA01_1);
@@ -557,6 +563,140 @@ extern const uint8_t sTestCert_Root02_AuthorityKeyId[] = {
557
563
558
564
extern const size_t sTestCert_Root02_AuthorityKeyId_Len = sizeof (sTestCert_Root02_AuthorityKeyId );
559
565
566
+ /* ************* Test Root03 Certificate **************
567
+ Certificate:
568
+ Data:
569
+ Version: 3 (0x2)
570
+ Serial Number: 7744074172075392897 (0x6b787a6dfcd4bf81)
571
+ Signature Algorithm: ecdsa-with-SHA256
572
+ Issuer: 1.3.6.1.4.1.37244.1.4 = CACACACA00000002, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D
573
+ Validity
574
+ Not Before: Oct 15 14:23:43 2020 GMT
575
+ Not After : Dec 31 23:59:59 9999 GMT
576
+ Subject: 1.3.6.1.4.1.37244.1.4 = CACACACA00000002, 1.3.6.1.4.1.37244.1.5 = FAB000000000001D
577
+ Subject Public Key Info:
578
+ Public Key Algorithm: id-ecPublicKey
579
+ Public-Key: (256 bit)
580
+ pub:
581
+ 04:71:05:40:8a:85:a9:d9:a0:8a:f8:b7:70:77:db:
582
+ 38:8b:7e:a4:38:97:dc:df:d3:16:f2:4f:0a:7e:71:
583
+ de:69:a5:0c:44:55:0c:0c:9d:a2:36:1c:d8:29:e5:
584
+ 5f:dd:63:cc:f5:79:ed:44:e0:22:08:b4:f8:25:fc:
585
+ d6:f0:68:2c:02
586
+ ASN1 OID: prime256v1
587
+ NIST CURVE: P-256
588
+ X509v3 extensions:
589
+ X509v3 Basic Constraints: critical
590
+ CA:TRUE, pathlen:1
591
+ X509v3 Key Usage: critical
592
+ Certificate Sign, CRL Sign
593
+ X509v3 Subject Key Identifier:
594
+ FF:87:F3:CD:D2:06:9A:EF:8D:5D:32:EB:A3:16:3B:9E:B0:0A:00:29
595
+ X509v3 Authority Key Identifier:
596
+ keyid:FF:87:F3:CD:D2:06:9A:EF:8D:5D:32:EB:A3:16:3B:9E:B0:0A:00:29
597
+
598
+ Signature Algorithm: ecdsa-with-SHA256
599
+ 30:44:02:20:75:f6:70:eb:35:45:b9:97:86:46:67:99:eb:ea:
600
+ 40:51:a3:41:af:2a:9b:67:7f:d7:1b:4c:3d:4e:68:09:3b:66:
601
+ 02:20:5f:28:42:cb:7e:d3:19:9c:9a:d7:c9:62:79:47:a1:8a:
602
+ 92:16:8a:fc:d6:5f:3e:9c:af:6e:ed:fa:9e:60:c5:2f
603
+
604
+ -----BEGIN CERTIFICATE-----
605
+ MIIB5TCCAYygAwIBAgIIa3h6bfzUv4EwCgYIKoZIzj0EAwIwRDEgMB4GCisGAQQB
606
+ gqJ8AQQMEENBQ0FDQUNBMDAwMDAwMDIxIDAeBgorBgEEAYKifAEFDBBGQUIwMDAw
607
+ MDAwMDAwMDFEMCAXDTIwMTAxNTE0MjM0M1oYDzk5OTkxMjMxMjM1OTU5WjBEMSAw
608
+ HgYKKwYBBAGConwBBAwQQ0FDQUNBQ0EwMDAwMDAwMjEgMB4GCisGAQQBgqJ8AQUM
609
+ EEZBQjAwMDAwMDAwMDAwMUQwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARxBUCK
610
+ hanZoIr4t3B32ziLfqQ4l9zf0xbyTwp+cd5ppQxEVQwMnaI2HNgp5V/dY8z1ee1E
611
+ 4CIItPgl/NbwaCwCo2YwZDASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1UdDwEB/wQE
612
+ AwIBBjAdBgNVHQ4EFgQU/4fzzdIGmu+NXTLroxY7nrAKACkwHwYDVR0jBBgwFoAU
613
+ /4fzzdIGmu+NXTLroxY7nrAKACkwCgYIKoZIzj0EAwIDRwAwRAIgdfZw6zVFuZeG
614
+ RmeZ6+pAUaNBryqbZ3/XG0w9TmgJO2YCIF8oQst+0xmcmtfJYnlHoYqSFor81l8+
615
+ nK9u7fqeYMUv
616
+ -----END CERTIFICATE-----
617
+
618
+ -----BEGIN EC PRIVATE KEY-----
619
+ MHcCAQEEIHDnbQApKIHktaW8tOzQL/XkdbwUid5uw+jWPFo/LlqHoAoGCCqGSM49
620
+ AwEHoUQDQgAEcQVAioWp2aCK+Ldwd9s4i36kOJfc39MW8k8KfnHeaaUMRFUMDJ2i
621
+ NhzYKeVf3WPM9XntROAiCLT4JfzW8GgsAg==
622
+ -----END EC PRIVATE KEY-----
623
+ */
624
+
625
+ extern const uint8_t sTestCert_Root03_Chip [] = {
626
+ 0x15 , 0x30 , 0x01 , 0x08 , 0x6b , 0x78 , 0x7a , 0x6d , 0xfc , 0xd4 , 0xbf , 0x81 , 0x24 , 0x02 , 0x01 , 0x37 , 0x03 , 0x27 , 0x14 , 0x02 , 0x00 ,
627
+ 0x00 , 0x00 , 0xca , 0xca , 0xca , 0xca , 0x27 , 0x15 , 0x1d , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xb0 , 0xfa , 0x18 , 0x26 , 0x04 , 0xef , 0x17 ,
628
+ 0x1b , 0x27 , 0x24 , 0x05 , 0x00 , 0x37 , 0x06 , 0x27 , 0x14 , 0x02 , 0x00 , 0x00 , 0x00 , 0xca , 0xca , 0xca , 0xca , 0x27 , 0x15 , 0x1d , 0x00 ,
629
+ 0x00 , 0x00 , 0x00 , 0x00 , 0xb0 , 0xfa , 0x18 , 0x24 , 0x07 , 0x01 , 0x24 , 0x08 , 0x01 , 0x30 , 0x09 , 0x41 , 0x04 , 0x71 , 0x05 , 0x40 , 0x8a ,
630
+ 0x85 , 0xa9 , 0xd9 , 0xa0 , 0x8a , 0xf8 , 0xb7 , 0x70 , 0x77 , 0xdb , 0x38 , 0x8b , 0x7e , 0xa4 , 0x38 , 0x97 , 0xdc , 0xdf , 0xd3 , 0x16 , 0xf2 ,
631
+ 0x4f , 0x0a , 0x7e , 0x71 , 0xde , 0x69 , 0xa5 , 0x0c , 0x44 , 0x55 , 0x0c , 0x0c , 0x9d , 0xa2 , 0x36 , 0x1c , 0xd8 , 0x29 , 0xe5 , 0x5f , 0xdd ,
632
+ 0x63 , 0xcc , 0xf5 , 0x79 , 0xed , 0x44 , 0xe0 , 0x22 , 0x08 , 0xb4 , 0xf8 , 0x25 , 0xfc , 0xd6 , 0xf0 , 0x68 , 0x2c , 0x02 , 0x37 , 0x0a , 0x35 ,
633
+ 0x01 , 0x29 , 0x01 , 0x24 , 0x02 , 0x01 , 0x18 , 0x24 , 0x02 , 0x60 , 0x30 , 0x04 , 0x14 , 0xff , 0x87 , 0xf3 , 0xcd , 0xd2 , 0x06 , 0x9a , 0xef ,
634
+ 0x8d , 0x5d , 0x32 , 0xeb , 0xa3 , 0x16 , 0x3b , 0x9e , 0xb0 , 0x0a , 0x00 , 0x29 , 0x30 , 0x05 , 0x14 , 0xff , 0x87 , 0xf3 , 0xcd , 0xd2 , 0x06 ,
635
+ 0x9a , 0xef , 0x8d , 0x5d , 0x32 , 0xeb , 0xa3 , 0x16 , 0x3b , 0x9e , 0xb0 , 0x0a , 0x00 , 0x29 , 0x18 , 0x30 , 0x0b , 0x40 , 0x75 , 0xf6 , 0x70 ,
636
+ 0xeb , 0x35 , 0x45 , 0xb9 , 0x97 , 0x86 , 0x46 , 0x67 , 0x99 , 0xeb , 0xea , 0x40 , 0x51 , 0xa3 , 0x41 , 0xaf , 0x2a , 0x9b , 0x67 , 0x7f , 0xd7 ,
637
+ 0x1b , 0x4c , 0x3d , 0x4e , 0x68 , 0x09 , 0x3b , 0x66 , 0x5f , 0x28 , 0x42 , 0xcb , 0x7e , 0xd3 , 0x19 , 0x9c , 0x9a , 0xd7 , 0xc9 , 0x62 , 0x79 ,
638
+ 0x47 , 0xa1 , 0x8a , 0x92 , 0x16 , 0x8a , 0xfc , 0xd6 , 0x5f , 0x3e , 0x9c , 0xaf , 0x6e , 0xed , 0xfa , 0x9e , 0x60 , 0xc5 , 0x2f , 0x18 ,
639
+ };
640
+
641
+ extern const size_t sTestCert_Root03_Chip_Len = sizeof (sTestCert_Root03_Chip );
642
+
643
+ extern const uint8_t sTestCert_Root03_DER [] = {
644
+ 0x30 , 0x82 , 0x01 , 0xe5 , 0x30 , 0x82 , 0x01 , 0x8c , 0xa0 , 0x03 , 0x02 , 0x01 , 0x02 , 0x02 , 0x08 , 0x6b , 0x78 , 0x7a , 0x6d , 0xfc , 0xd4 ,
645
+ 0xbf , 0x81 , 0x30 , 0x0a , 0x06 , 0x08 , 0x2a , 0x86 , 0x48 , 0xce , 0x3d , 0x04 , 0x03 , 0x02 , 0x30 , 0x44 , 0x31 , 0x20 , 0x30 , 0x1e , 0x06 ,
646
+ 0x0a , 0x2b , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0xa2 , 0x7c , 0x01 , 0x04 , 0x0c , 0x10 , 0x43 , 0x41 , 0x43 , 0x41 , 0x43 , 0x41 , 0x43 , 0x41 ,
647
+ 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x32 , 0x31 , 0x20 , 0x30 , 0x1e , 0x06 , 0x0a , 0x2b , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0xa2 ,
648
+ 0x7c , 0x01 , 0x05 , 0x0c , 0x10 , 0x46 , 0x41 , 0x42 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x31 , 0x44 ,
649
+ 0x30 , 0x20 , 0x17 , 0x0d , 0x32 , 0x30 , 0x31 , 0x30 , 0x31 , 0x35 , 0x31 , 0x34 , 0x32 , 0x33 , 0x34 , 0x33 , 0x5a , 0x18 , 0x0f , 0x39 , 0x39 ,
650
+ 0x39 , 0x39 , 0x31 , 0x32 , 0x33 , 0x31 , 0x32 , 0x33 , 0x35 , 0x39 , 0x35 , 0x39 , 0x5a , 0x30 , 0x44 , 0x31 , 0x20 , 0x30 , 0x1e , 0x06 , 0x0a ,
651
+ 0x2b , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0xa2 , 0x7c , 0x01 , 0x04 , 0x0c , 0x10 , 0x43 , 0x41 , 0x43 , 0x41 , 0x43 , 0x41 , 0x43 , 0x41 , 0x30 ,
652
+ 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x32 , 0x31 , 0x20 , 0x30 , 0x1e , 0x06 , 0x0a , 0x2b , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0xa2 , 0x7c ,
653
+ 0x01 , 0x05 , 0x0c , 0x10 , 0x46 , 0x41 , 0x42 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x30 , 0x31 , 0x44 , 0x30 ,
654
+ 0x59 , 0x30 , 0x13 , 0x06 , 0x07 , 0x2a , 0x86 , 0x48 , 0xce , 0x3d , 0x02 , 0x01 , 0x06 , 0x08 , 0x2a , 0x86 , 0x48 , 0xce , 0x3d , 0x03 , 0x01 ,
655
+ 0x07 , 0x03 , 0x42 , 0x00 , 0x04 , 0x71 , 0x05 , 0x40 , 0x8a , 0x85 , 0xa9 , 0xd9 , 0xa0 , 0x8a , 0xf8 , 0xb7 , 0x70 , 0x77 , 0xdb , 0x38 , 0x8b ,
656
+ 0x7e , 0xa4 , 0x38 , 0x97 , 0xdc , 0xdf , 0xd3 , 0x16 , 0xf2 , 0x4f , 0x0a , 0x7e , 0x71 , 0xde , 0x69 , 0xa5 , 0x0c , 0x44 , 0x55 , 0x0c , 0x0c ,
657
+ 0x9d , 0xa2 , 0x36 , 0x1c , 0xd8 , 0x29 , 0xe5 , 0x5f , 0xdd , 0x63 , 0xcc , 0xf5 , 0x79 , 0xed , 0x44 , 0xe0 , 0x22 , 0x08 , 0xb4 , 0xf8 , 0x25 ,
658
+ 0xfc , 0xd6 , 0xf0 , 0x68 , 0x2c , 0x02 , 0xa3 , 0x66 , 0x30 , 0x64 , 0x30 , 0x12 , 0x06 , 0x03 , 0x55 , 0x1d , 0x13 , 0x01 , 0x01 , 0xff , 0x04 ,
659
+ 0x08 , 0x30 , 0x06 , 0x01 , 0x01 , 0xff , 0x02 , 0x01 , 0x01 , 0x30 , 0x0e , 0x06 , 0x03 , 0x55 , 0x1d , 0x0f , 0x01 , 0x01 , 0xff , 0x04 , 0x04 ,
660
+ 0x03 , 0x02 , 0x01 , 0x06 , 0x30 , 0x1d , 0x06 , 0x03 , 0x55 , 0x1d , 0x0e , 0x04 , 0x16 , 0x04 , 0x14 , 0xff , 0x87 , 0xf3 , 0xcd , 0xd2 , 0x06 ,
661
+ 0x9a , 0xef , 0x8d , 0x5d , 0x32 , 0xeb , 0xa3 , 0x16 , 0x3b , 0x9e , 0xb0 , 0x0a , 0x00 , 0x29 , 0x30 , 0x1f , 0x06 , 0x03 , 0x55 , 0x1d , 0x23 ,
662
+ 0x04 , 0x18 , 0x30 , 0x16 , 0x80 , 0x14 , 0xff , 0x87 , 0xf3 , 0xcd , 0xd2 , 0x06 , 0x9a , 0xef , 0x8d , 0x5d , 0x32 , 0xeb , 0xa3 , 0x16 , 0x3b ,
663
+ 0x9e , 0xb0 , 0x0a , 0x00 , 0x29 , 0x30 , 0x0a , 0x06 , 0x08 , 0x2a , 0x86 , 0x48 , 0xce , 0x3d , 0x04 , 0x03 , 0x02 , 0x03 , 0x47 , 0x00 , 0x30 ,
664
+ 0x44 , 0x02 , 0x20 , 0x75 , 0xf6 , 0x70 , 0xeb , 0x35 , 0x45 , 0xb9 , 0x97 , 0x86 , 0x46 , 0x67 , 0x99 , 0xeb , 0xea , 0x40 , 0x51 , 0xa3 , 0x41 ,
665
+ 0xaf , 0x2a , 0x9b , 0x67 , 0x7f , 0xd7 , 0x1b , 0x4c , 0x3d , 0x4e , 0x68 , 0x09 , 0x3b , 0x66 , 0x02 , 0x20 , 0x5f , 0x28 , 0x42 , 0xcb , 0x7e ,
666
+ 0xd3 , 0x19 , 0x9c , 0x9a , 0xd7 , 0xc9 , 0x62 , 0x79 , 0x47 , 0xa1 , 0x8a , 0x92 , 0x16 , 0x8a , 0xfc , 0xd6 , 0x5f , 0x3e , 0x9c , 0xaf , 0x6e ,
667
+ 0xed , 0xfa , 0x9e , 0x60 , 0xc5 , 0x2f ,
668
+ };
669
+
670
+ extern const size_t sTestCert_Root03_DER_Len = sizeof (sTestCert_Root03_DER );
671
+
672
+ extern const uint8_t sTestCert_Root03_PublicKey [] = {
673
+ 0x04 , 0x71 , 0x05 , 0x40 , 0x8a , 0x85 , 0xa9 , 0xd9 , 0xa0 , 0x8a , 0xf8 , 0xb7 , 0x70 , 0x77 , 0xdb , 0x38 , 0x8b ,
674
+ 0x7e , 0xa4 , 0x38 , 0x97 , 0xdc , 0xdf , 0xd3 , 0x16 , 0xf2 , 0x4f , 0x0a , 0x7e , 0x71 , 0xde , 0x69 , 0xa5 , 0x0c ,
675
+ 0x44 , 0x55 , 0x0c , 0x0c , 0x9d , 0xa2 , 0x36 , 0x1c , 0xd8 , 0x29 , 0xe5 , 0x5f , 0xdd , 0x63 , 0xcc , 0xf5 , 0x79 ,
676
+ 0xed , 0x44 , 0xe0 , 0x22 , 0x08 , 0xb4 , 0xf8 , 0x25 , 0xfc , 0xd6 , 0xf0 , 0x68 , 0x2c , 0x02 ,
677
+ };
678
+
679
+ extern const size_t sTestCert_Root03_PublicKey_Len = sizeof (sTestCert_Root03_PublicKey );
680
+
681
+ extern const uint8_t sTestCert_Root03_PrivateKey [] = {
682
+ 0x70 , 0xe7 , 0x6d , 0x00 , 0x29 , 0x28 , 0x81 , 0xe4 , 0xb5 , 0xa5 , 0xbc , 0xb4 , 0xec , 0xd0 , 0x2f , 0xf5 ,
683
+ 0xe4 , 0x75 , 0xbc , 0x14 , 0x89 , 0xde , 0x6e , 0xc3 , 0xe8 , 0xd6 , 0x3c , 0x5a , 0x3f , 0x2e , 0x5a , 0x87 ,
684
+ };
685
+
686
+ extern const size_t sTestCert_Root03_PrivateKey_Len = sizeof (sTestCert_Root03_PrivateKey );
687
+
688
+ extern const uint8_t sTestCert_Root03_SubjectKeyId [] = {
689
+ 0xFF , 0x87 , 0xF3 , 0xCD , 0xD2 , 0x06 , 0x9A , 0xEF , 0x8D , 0x5D , 0x32 , 0xEB , 0xA3 , 0x16 , 0x3B , 0x9E , 0xB0 , 0x0A , 0x00 , 0x29 ,
690
+ };
691
+
692
+ extern const size_t sTestCert_Root03_SubjectKeyId_Len = sizeof (sTestCert_Root03_SubjectKeyId );
693
+
694
+ extern const uint8_t sTestCert_Root03_AuthorityKeyId [] = {
695
+ 0xFF , 0x87 , 0xF3 , 0xCD , 0xD2 , 0x06 , 0x9A , 0xEF , 0x8D , 0x5D , 0x32 , 0xEB , 0xA3 , 0x16 , 0x3B , 0x9E , 0xB0 , 0x0A , 0x00 , 0x29 ,
696
+ };
697
+
698
+ extern const size_t sTestCert_Root03_AuthorityKeyId_Len = sizeof (sTestCert_Root03_AuthorityKeyId );
699
+
560
700
/* ************* Test ICA01 Certificate **************
561
701
Certificate:
562
702
Data:
0 commit comments