Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated DAC Validation Procedure to Match the Spec. #21531

Conversation

emargolis
Copy link
Contributor

Problem

The attestation certificate chain validation doesn't match the spec requirements.
ticket #21007

Change overview

  • Removed use of IsCertificateValidAtCurrentTime() as spec doesn't require
    DAC certificate validity check at the current time.
  • Updated mbedTLS implementation of the ValidateCertificateChain() to ignore
    validity checks of the certificates in the validation chain.
  • Updated OpenSSL implementation of the ValidateCertificateChain() to use
    notBefore time of the DAC certificate as a current time. That way the chain
    validation function checks exactly that the PAA and PAI were valid at the
    time of DAC generation.
  • NOTE: Ideally it would be nice if mbedTLS and OpenSSL implementations of
    ValidateCertificateChain() function behaive similar. Unfortunately, I didn't
    find a way to adjust the mbedTLS current time during the chain validation.
  • Created new test vectors for PAA, PAI, and DAC (correct and with errors)
    to validate all various corner cases of the implementation.

Testing

Generated new test vectors and added new tests

@github-actions
Copy link

github-actions bot commented Aug 2, 2022

PR #21531: Size comparison from cbd90ca to dc6cd50

Increases (1 build for linux)
platform target config section cbd90ca dc6cd50 change % change
linux chip-tool-ipv6only arm64 (read only) 9960892 9960908 16 0.0
Decreases (2 builds for linux, telink)
platform target config section cbd90ca dc6cd50 change % change
linux chip-tool-ipv6only arm64 (read/write) 694017 694001 -16 -0.0
.data.rel.ro 639264 639240 -24 -0.0
.text 7862884 7862836 -48 -0.0
telink light-switch-app tlsr9518adk80d text 569418 569416 -2 -0.0
Full report (13 builds for bl602, linux, mbed, nrfconnect, p6, telink)
platform target config section cbd90ca dc6cd50 change % change
bl602 lighting-app bl602 (read/write) 1382658 1382658 0 0.0
.bss 117626 117626 0 0.0
.data 4480 4480 0 0.0
.text 1052768 1052768 0 0.0
bl602+rpc (read/write) 1428058 1428058 0 0.0
.bss 125066 125066 0 0.0
.data 4600 4600 0 0.0
.text 1084432 1084432 0 0.0
linux chip-tool-ipv6only arm64 (read only) 9960892 9960908 16 0.0
(read/write) 694017 694001 -16 -0.0
.bss 32897 32897 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 639264 639240 -24 -0.0
.dynamic 560 560 0 0.0
.got 13624 13624 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 471180 471180 0 0.0
.text 7862884 7862836 -48 -0.0
thermostat-no-ble arm64 (read only) 2350700 2350700 0 0.0
(read/write) 141761 141761 0 0.0
.bss 55329 55329 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75976 75976 0 0.0
.dynamic 560 560 0 0.0
.got 5016 5016 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 139412 139412 0 0.0
.text 1973776 1973776 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2453416 2453416 0 0.0
.bss 214548 214548 0 0.0
.data 5872 5872 0 0.0
.text 1416060 1416060 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176571 1176571 0 0.0
bss 143224 143224 0 0.0
rodata 142620 142620 0 0.0
text 811888 811888 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156459 1156459 0 0.0
bss 142460 142460 0 0.0
rodata 134148 134148 0 0.0
text 801036 801036 0 0.0
p6 all-clusters-app default (read only) 881528 881528 0 0.0
(read/write) 1689268 1689268 0 0.0
.bss 149168 149168 0 0.0
.data 2648 2648 0 0.0
.text 1529064 1529064 0 0.0
all-clusters-minimal-app default (read only) 882248 882248 0 0.0
(read/write) 1633300 1633300 0 0.0
.bss 148448 148448 0 0.0
.data 2648 2648 0 0.0
.text 1473816 1473816 0 0.0
light-app default (read only) 890568 890568 0 0.0
(read/write) 1553556 1553556 0 0.0
.bss 140336 140336 0 0.0
.data 2440 2440 0 0.0
.text 1402392 1402392 0 0.0
lock-app default (read only) 886072 886072 0 0.0
(read/write) 1592212 1592212 0 0.0
.bss 144816 144816 0 0.0
.data 2456 2456 0 0.0
.text 1436552 1436552 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 805560 805560 0 0.0
bss 70976 70976 0 0.0
noinit 43488 43488 0 0.0
text 569418 569416 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 826000 826000 0 0.0
bss 71820 71820 0 0.0
noinit 43488 43488 0 0.0
text 586306 586306 0 0.0

@emargolis emargolis force-pushed the emargolis/feature/update-dac-time-validity branch from dc6cd50 to 305ef9c Compare August 2, 2022 09:17
@github-actions
Copy link

github-actions bot commented Aug 2, 2022

PR #21531: Size comparison from cbd90ca to 305ef9c

Increases (8 builds for bl602, cc13x2_26x2, esp32, linux)
platform target config section cbd90ca 305ef9c change % change
bl602 lighting-app bl602+rpc .text 1084432 1084436 4 0.0
cc13x2_26x2 lock-mtd LP_CC2652R7 (read only) 655499 655507 8 0.0
.text 553488 553496 8 0.0
esp32 all-clusters-app c3devkit (read only) 1024446 1024448 2 0.0
.flash.text 1024446 1024448 2 0.0
linux bridge-app debug+rpc (read only) 2362201 2362233 32 0.0
.rodata 202728 202760 32 0.0
chip-tool debug (read only) 10558633 10558841 208 0.0
.got 5088 5096 8 0.2
.text 8523172 8523268 96 0.0
chip-tool-ipv6only arm64 (read only) 9960892 9960908 16 0.0
tv-app debug (read only) 3155729 3155937 208 0.0
.got 4848 4856 8 0.2
.text 2709762 2709858 96 0.0
tv-casting-app debug (read only) 5393105 5394241 1136 0.0
.got 4736 4744 8 0.2
.text 4785986 4787010 1024 0.0
Decreases (6 builds for cc13x2_26x2, esp32, linux, nrfconnect, telink)
platform target config section cbd90ca 305ef9c change % change
cc13x2_26x2 lock-mtd LP_CC2652R7 (read/write) 181756 181748 -8 -0.0
esp32 all-clusters-app m5stack (read only) 1077927 1077923 -4 -0.0
.flash.text 1072543 1072539 -4 -0.0
linux chip-tool-ipv6only arm64 (read/write) 694017 694001 -16 -0.0
.data.rel.ro 639264 639240 -24 -0.0
.text 7862884 7862836 -48 -0.0
ota-requestor-app debug (read only) 2473857 2473825 -32 -0.0
.rodata 212448 212416 -32 -0.0
nrfconnect all-clusters-minimal-app nrf52840dk_nrf52840 text 801036 801032 -4 -0.0
telink lighting-app tlsr9518adk80d text 586306 586304 -2 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section cbd90ca 305ef9c change % change
bl602 lighting-app bl602 (read/write) 1382658 1382658 0 0.0
.bss 117626 117626 0 0.0
.data 4480 4480 0 0.0
.text 1052768 1052768 0 0.0
bl602+rpc (read/write) 1428058 1428058 0 0.0
.bss 125066 125066 0 0.0
.data 4600 4600 0 0.0
.text 1084432 1084436 4 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 669979 669979 0 0.0
(read/write) 181404 181404 0 0.0
.bss 74276 74276 0 0.0
.data 3372 3372 0 0.0
.rodata 88467 88467 0 0.0
.text 581196 581196 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 635491 635491 0 0.0
(read/write) 157844 157844 0 0.0
.bss 73556 73556 0 0.0
.data 3372 3372 0 0.0
.rodata 77691 77691 0 0.0
.text 557476 557476 0 0.0
lock-ftd LP_CC2652R7 (read only) 672959 672959 0 0.0
(read/write) 168608 168608 0 0.0
.bss 71348 71348 0 0.0
.data 3296 3296 0 0.0
.rodata 76535 76535 0 0.0
.text 595944 595944 0 0.0
lock-mtd LP_CC2652R7 (read only) 655499 655507 8 0.0
(read/write) 181756 181748 -8 -0.0
.bss 67036 67036 0 0.0
.data 3296 3296 0 0.0
.rodata 101531 101531 0 0.0
.text 553488 553496 8 0.0
pump-app LP_CC2652R7 (read only) 681447 681447 0 0.0
(read/write) 160928 160928 0 0.0
.bss 71388 71388 0 0.0
.data 3296 3296 0 0.0
.rodata 88919 88919 0 0.0
.text 592044 592044 0 0.0
pump-controller-app LP_CC2652R7 (read only) 667023 667023 0 0.0
(read/write) 175488 175488 0 0.0
.bss 71524 71524 0 0.0
.data 3292 3292 0 0.0
.rodata 84743 84743 0 0.0
.text 581800 581800 0 0.0
shell LP_CC2652R7 (read only) 662678 662678 0 0.0
(read/write) 184224 184224 0 0.0
.bss 76596 76596 0 0.0
.data 3376 3376 0 0.0
.rodata 85446 85446 0 0.0
.text 576916 576916 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 584142 584142 0 0.0
.app_xip_area 460952 460952 0 0.0
.bss 65632 65632 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 590614 590614 0 0.0
.app_xip_area 462640 462640 0 0.0
.bss 70416 70416 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 589850 589850 0 0.0
.app_xip_area 467468 467468 0 0.0
.bss 64880 64880 0 0.0
.data 688 688 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1089152 1089152 0 0.0
.bss 133268 133268 0 0.0
.data 2064 2064 0 0.0
.text 953800 953800 0 0.0
BRD4161A+rpc (read/write) 1143460 1143460 0 0.0
.bss 149948 149948 0 0.0
.data 2276 2276 0 0.0
.text 991216 991216 0 0.0
BRD4161A+rs911x (read/write) 975120 975120 0 0.0
.bss 161744 161744 0 0.0
.data 2048 2048 0 0.0
.text 811308 811308 0 0.0
lock-app BRD4161A+wf200 (read/write) 1130552 1130552 0 0.0
.bss 144400 144400 0 0.0
.data 2056 2056 0 0.0
.text 984076 984076 0 0.0
window-app BRD4161A (read/write) 1082460 1082460 0 0.0
.bss 134748 134748 0 0.0
.data 2092 2092 0 0.0
.text 945596 945596 0 0.0
esp32 all-clusters-app c3devkit (read only) 1024446 1024448 2 0.0
(read/write) 1487042 1487042 0 0.0
.dram0.bss 70336 70336 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 216672 216672 0 0.0
.flash.text 1024446 1024448 2 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1077927 1077923 -4 -0.0
(read/write) 489064 489064 0 0.0
.dram0.bss 75840 75840 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 247084 247084 0 0.0
.flash.text 1072543 1072539 -4 -0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 643528 643528 0 0.0
.bss 69720 69720 0 0.0
.data 2044 2044 0 0.0
.text 569036 569036 0 0.0
lock k32w0+release (read/write) 701896 701896 0 0.0
.bss 70184 70184 0 0.0
.data 2052 2052 0 0.0
.text 626932 626932 0 0.0
linux all-clusters-app debug (read only) 3015057 3015057 0 0.0
(read/write) 155720 155720 0 0.0
.bss 61888 61888 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85384 85384 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 271915 271915 0 0.0
.text 2564258 2564258 0 0.0
all-clusters-minimal-app debug (read only) 2856873 2856873 0 0.0
(read/write) 147488 147488 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 77992 77992 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1144 1144 0 0.0
.rodata 271947 271947 0 0.0
.text 2408674 2408674 0 0.0
bridge-app debug+rpc (read only) 2362201 2362233 32 0.0
(read/write) 127584 127584 0 0.0
.bss 50592 50592 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67544 67544 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202728 202760 32 0.0
.text 1996466 1996466 0 0.0
chip-tool debug (read only) 10558633 10558841 208 0.0
(read/write) 646336 646336 0 0.0
.bss 24856 24856 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 611704 611704 0 0.0
.dynamic 608 608 0 0.0
.got 5088 5096 8 0.2
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 539509 539509 0 0.0
.text 8523172 8523268 96 0.0
chip-tool-ipv6only arm64 (read only) 9960892 9960908 16 0.0
(read/write) 694017 694001 -16 -0.0
.bss 32897 32897 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 639264 639240 -24 -0.0
.dynamic 560 560 0 0.0
.got 13624 13624 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 471180 471180 0 0.0
.text 7862884 7862836 -48 -0.0
lighting-app debug+rpc (read only) 2584673 2584673 0 0.0
(read/write) 130232 130232 0 0.0
.bss 49728 49728 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72456 72456 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 912 912 0 0.0
.rodata 218384 218384 0 0.0
.text 2195218 2195218 0 0.0
lock-app debug (read only) 2573337 2573337 0 0.0
(read/write) 125568 125568 0 0.0
.bss 48256 48256 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69592 69592 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 235920 235920 0 0.0
.text 2170402 2170402 0 0.0
ota-provider-app debug (read only) 2353265 2353265 0 0.0
(read/write) 119048 119048 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63416 63416 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 208920 208920 0 0.0
.text 1980466 1980466 0 0.0
ota-requestor-app debug (read only) 2473857 2473825 -32 -0.0
(read/write) 126440 126440 0 0.0
.bss 50176 50176 0 0.0
.data 2240 2240 0 0.0
.data.rel.ro 68072 68072 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 212448 212416 -32 -0.0
.text 2088914 2088914 0 0.0
shell debug (read only) 2586265 2586265 0 0.0
(read/write) 141872 141872 0 0.0
.bss 57800 57800 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77008 77008 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1024 1024 0 0.0
.rodata 232882 232882 0 0.0
.text 2195154 2195154 0 0.0
thermostat-no-ble arm64 (read only) 2350700 2350700 0 0.0
(read/write) 141761 141761 0 0.0
.bss 55329 55329 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75976 75976 0 0.0
.dynamic 560 560 0 0.0
.got 5016 5016 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 139412 139412 0 0.0
.text 1973776 1973776 0 0.0
tv-app debug (read only) 3155729 3155937 208 0.0
(read/write) 257736 257736 0 0.0
.bss 167352 167352 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79104 79104 0 0.0
.dynamic 608 608 0 0.0
.got 4848 4856 8 0.2
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 256392 256392 0 0.0
.text 2709762 2709858 96 0.0
tv-casting-app debug (read only) 5393105 5394241 1136 0.0
(read/write) 158728 158728 0 0.0
.bss 51384 51384 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 98504 98504 0 0.0
.dynamic 608 608 0 0.0
.got 4736 4744 8 0.2
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 339825 339825 0 0.0
.text 4785986 4787010 1024 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2453416 2453416 0 0.0
.bss 214548 214548 0 0.0
.data 5872 5872 0 0.0
.text 1416060 1416060 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176571 1176571 0 0.0
bss 143224 143224 0 0.0
rodata 142620 142620 0 0.0
text 811888 811888 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156459 1156459 0 0.0
bss 142460 142460 0 0.0
rodata 134148 134148 0 0.0
text 801036 801032 -4 -0.0
p6 all-clusters-app default (read only) 881528 881528 0 0.0
(read/write) 1689268 1689268 0 0.0
.bss 149168 149168 0 0.0
.data 2648 2648 0 0.0
.text 1529064 1529064 0 0.0
all-clusters-minimal-app default (read only) 882248 882248 0 0.0
(read/write) 1633300 1633300 0 0.0
.bss 148448 148448 0 0.0
.data 2648 2648 0 0.0
.text 1473816 1473816 0 0.0
light-app default (read only) 890568 890568 0 0.0
(read/write) 1553556 1553556 0 0.0
.bss 140336 140336 0 0.0
.data 2440 2440 0 0.0
.text 1402392 1402392 0 0.0
lock-app default (read only) 886072 886072 0 0.0
(read/write) 1592212 1592212 0 0.0
.bss 144816 144816 0 0.0
.data 2456 2456 0 0.0
.text 1436552 1436552 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 805560 805560 0 0.0
bss 70976 70976 0 0.0
noinit 43488 43488 0 0.0
text 569418 569418 0 0.0
lighting-app tlsr9518adk80d (read/write) 826000 826000 0 0.0
bss 71820 71820 0 0.0
noinit 43488 43488 0 0.0
text 586306 586304 -2 -0.0

@woody-apple woody-apple added the sve label Aug 2, 2022
@woody-apple woody-apple enabled auto-merge (squash) August 2, 2022 14:26
Copy link
Contributor

@msandstedt msandstedt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of this looks functionally good to me, but it would be nice if we could close on this:

https://github.com/project-chip/connectedhomeip/pull/21531/files#r936068987

The operative question is whether a DAC requires NotAfter to be set to X509NoWellDefinedExpirationDate in order to achieve non-expiration for the chain. The spec is very explicit that PAA and PAI don't require this, but I can't find any language that would remove the requirement for a DAC.

  - Updated mbedTLS implementation of the ValidateCertificateChain() to ignore
    validity checks of the certificates in the validation chain.
  - Updated OpenSSL implementation of the ValidateCertificateChain() to use
    notBefore time of the DAC certificate as a current time. That way the chain
    validation function checks exactly that the PAA and PAI were valid at the
    time of DAC generation.
  - NOTE: Ideally it would be nice if mbedTLS and OpenSSL implementations of
    ValidateCertificateChain() function behaive similar. Unfortunately, I didn't
    find a way to adjust the mbedTLS current time during the chain validation.
  - Created new test vectors for PAA, PAI, and DAC (correct and with errors)
    to validate all various corner cases of the implementation.
@emargolis emargolis force-pushed the emargolis/feature/update-dac-time-validity branch from 305ef9c to d0a8a60 Compare August 3, 2022 00:57
@github-actions
Copy link

github-actions bot commented Aug 3, 2022

PR #21531: Size comparison from 3deee28 to d0a8a60

Increases above 0.2%:

platform target config section 3deee28 d0a8a60 change % change
linux chip-tool debug .got 5088 5104 16 0.3
tv-app debug .got 4848 4864 16 0.3
tv-casting-app debug .got 4736 4752 16 0.3
Increases (6 builds for esp32, linux)
platform target config section 3deee28 d0a8a60 change % change
esp32 all-clusters-app c3devkit (read only) 1024448 1024450 2 0.0
.flash.text 1024448 1024450 2 0.0
linux bridge-app debug+rpc (read only) 2362201 2362233 32 0.0
.rodata 202728 202760 32 0.0
chip-tool debug (read only) 10558633 10559713 1080 0.0
(read/write) 646336 646368 32 0.0
.got 5088 5104 16 0.3
.text 8523172 8524036 864 0.0
chip-tool-ipv6only arm64 (read only) 9960892 9961852 960 0.0
(read/write) 694017 694033 16 0.0
.text 7862884 7863668 784 0.0
tv-app debug (read only) 3155729 3156809 1080 0.0
.got 4848 4864 16 0.3
.text 2709762 2710626 864 0.0
tv-casting-app debug (read only) 5393105 5395113 2008 0.0
.got 4736 4752 16 0.3
.text 4785986 4787778 1792 0.0
Decreases (5 builds for cyw30739, esp32, linux, telink)
platform target config section 3deee28 d0a8a60 change % change
cyw30739 lock cyw930739m2evb_01 (read/write) 590614 590606 -8 -0.0
.app_xip_area 462640 462632 -8 -0.0
esp32 all-clusters-app m5stack (read only) 1077927 1077923 -4 -0.0
.flash.text 1072543 1072539 -4 -0.0
linux ota-requestor-app debug (read only) 2473857 2473825 -32 -0.0
.rodata 212448 212416 -32 -0.0
telink light-switch-app tlsr9518adk80d text 569418 569416 -2 -0.0
lighting-app tlsr9518adk80d text 586308 586304 -4 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 3deee28 d0a8a60 change % change
bl602 lighting-app bl602 (read/write) 1378738 1378738 0 0.0
.bss 119746 119746 0 0.0
.data 4480 4480 0 0.0
.text 1047200 1047200 0 0.0
bl602+rpc (read/write) 1423986 1423986 0 0.0
.bss 127186 127186 0 0.0
.data 4600 4600 0 0.0
.text 1078700 1078700 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 669979 669979 0 0.0
(read/write) 181404 181404 0 0.0
.bss 74276 74276 0 0.0
.data 3372 3372 0 0.0
.rodata 88467 88467 0 0.0
.text 581196 581196 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 635491 635491 0 0.0
(read/write) 157844 157844 0 0.0
.bss 73556 73556 0 0.0
.data 3372 3372 0 0.0
.rodata 77691 77691 0 0.0
.text 557476 557476 0 0.0
lock-ftd LP_CC2652R7 (read only) 672959 672959 0 0.0
(read/write) 168608 168608 0 0.0
.bss 71348 71348 0 0.0
.data 3296 3296 0 0.0
.rodata 76535 76535 0 0.0
.text 595944 595944 0 0.0
lock-mtd LP_CC2652R7 (read only) 655507 655507 0 0.0
(read/write) 181748 181748 0 0.0
.bss 67036 67036 0 0.0
.data 3296 3296 0 0.0
.rodata 101531 101531 0 0.0
.text 553496 553496 0 0.0
pump-app LP_CC2652R7 (read only) 681447 681447 0 0.0
(read/write) 160928 160928 0 0.0
.bss 71388 71388 0 0.0
.data 3296 3296 0 0.0
.rodata 88919 88919 0 0.0
.text 592044 592044 0 0.0
pump-controller-app LP_CC2652R7 (read only) 667023 667023 0 0.0
(read/write) 175488 175488 0 0.0
.bss 71524 71524 0 0.0
.data 3292 3292 0 0.0
.rodata 84743 84743 0 0.0
.text 581800 581800 0 0.0
shell LP_CC2652R7 (read only) 662678 662678 0 0.0
(read/write) 184224 184224 0 0.0
.bss 76596 76596 0 0.0
.data 3376 3376 0 0.0
.rodata 85446 85446 0 0.0
.text 576916 576916 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 584142 584142 0 0.0
.app_xip_area 460952 460952 0 0.0
.bss 65632 65632 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 590614 590606 -8 -0.0
.app_xip_area 462640 462632 -8 -0.0
.bss 70416 70416 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 589850 589850 0 0.0
.app_xip_area 467468 467468 0 0.0
.bss 64880 64880 0 0.0
.data 688 688 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1089152 1089152 0 0.0
.bss 133268 133268 0 0.0
.data 2064 2064 0 0.0
.text 953800 953800 0 0.0
BRD4161A+rpc (read/write) 1143460 1143460 0 0.0
.bss 149948 149948 0 0.0
.data 2276 2276 0 0.0
.text 991216 991216 0 0.0
BRD4161A+rs911x (read/write) 975624 975624 0 0.0
.bss 161752 161752 0 0.0
.data 2048 2048 0 0.0
.text 811804 811804 0 0.0
lock-app BRD4161A+wf200 (read/write) 1130536 1130536 0 0.0
.bss 144400 144400 0 0.0
.data 2056 2056 0 0.0
.text 984060 984060 0 0.0
window-app BRD4161A (read/write) 1082460 1082460 0 0.0
.bss 134748 134748 0 0.0
.data 2092 2092 0 0.0
.text 945596 945596 0 0.0
esp32 all-clusters-app c3devkit (read only) 1024448 1024450 2 0.0
(read/write) 1487042 1487042 0 0.0
.dram0.bss 70336 70336 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 216672 216672 0 0.0
.flash.text 1024448 1024450 2 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1077927 1077923 -4 -0.0
(read/write) 489064 489064 0 0.0
.dram0.bss 75840 75840 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 247084 247084 0 0.0
.flash.text 1072543 1072539 -4 -0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 643528 643528 0 0.0
.bss 69720 69720 0 0.0
.data 2044 2044 0 0.0
.text 569036 569036 0 0.0
lock k32w0+release (read/write) 701896 701896 0 0.0
.bss 70184 70184 0 0.0
.data 2052 2052 0 0.0
.text 626932 626932 0 0.0
linux all-clusters-app debug (read only) 3015057 3015057 0 0.0
(read/write) 155720 155720 0 0.0
.bss 61888 61888 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85384 85384 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 271915 271915 0 0.0
.text 2564258 2564258 0 0.0
all-clusters-minimal-app debug (read only) 2856873 2856873 0 0.0
(read/write) 147488 147488 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 77992 77992 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1144 1144 0 0.0
.rodata 271947 271947 0 0.0
.text 2408674 2408674 0 0.0
bridge-app debug+rpc (read only) 2362201 2362233 32 0.0
(read/write) 127584 127584 0 0.0
.bss 50592 50592 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67544 67544 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202728 202760 32 0.0
.text 1996466 1996466 0 0.0
chip-tool debug (read only) 10558633 10559713 1080 0.0
(read/write) 646336 646368 32 0.0
.bss 24856 24856 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 611704 611704 0 0.0
.dynamic 608 608 0 0.0
.got 5088 5104 16 0.3
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 539509 539509 0 0.0
.text 8523172 8524036 864 0.0
chip-tool-ipv6only arm64 (read only) 9960892 9961852 960 0.0
(read/write) 694017 694033 16 0.0
.bss 32897 32897 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 639264 639264 0 0.0
.dynamic 560 560 0 0.0
.got 13624 13624 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 471180 471180 0 0.0
.text 7862884 7863668 784 0.0
lighting-app debug+rpc (read only) 2584673 2584673 0 0.0
(read/write) 130232 130232 0 0.0
.bss 49728 49728 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72456 72456 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 912 912 0 0.0
.rodata 218384 218384 0 0.0
.text 2195218 2195218 0 0.0
lock-app debug (read only) 2573337 2573337 0 0.0
(read/write) 125568 125568 0 0.0
.bss 48256 48256 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69592 69592 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 235920 235920 0 0.0
.text 2170402 2170402 0 0.0
ota-provider-app debug (read only) 2353265 2353265 0 0.0
(read/write) 119048 119048 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63416 63416 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 208920 208920 0 0.0
.text 1980466 1980466 0 0.0
ota-requestor-app debug (read only) 2473857 2473825 -32 -0.0
(read/write) 126440 126440 0 0.0
.bss 50176 50176 0 0.0
.data 2240 2240 0 0.0
.data.rel.ro 68072 68072 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 832 832 0 0.0
.rodata 212448 212416 -32 -0.0
.text 2088914 2088914 0 0.0
shell debug (read only) 2586265 2586265 0 0.0
(read/write) 141872 141872 0 0.0
.bss 57800 57800 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77008 77008 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1024 1024 0 0.0
.rodata 232882 232882 0 0.0
.text 2195154 2195154 0 0.0
thermostat-no-ble arm64 (read only) 2350700 2350700 0 0.0
(read/write) 141761 141761 0 0.0
.bss 55329 55329 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75976 75976 0 0.0
.dynamic 560 560 0 0.0
.got 5016 5016 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 139412 139412 0 0.0
.text 1973776 1973776 0 0.0
tv-app debug (read only) 3155729 3156809 1080 0.0
(read/write) 257736 257736 0 0.0
.bss 167352 167352 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79104 79104 0 0.0
.dynamic 608 608 0 0.0
.got 4848 4864 16 0.3
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 256392 256392 0 0.0
.text 2709762 2710626 864 0.0
tv-casting-app debug (read only) 5393105 5395113 2008 0.0
(read/write) 158728 158728 0 0.0
.bss 51384 51384 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 98504 98504 0 0.0
.dynamic 608 608 0 0.0
.got 4736 4752 16 0.3
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 339825 339825 0 0.0
.text 4785986 4787778 1792 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2453416 2453416 0 0.0
.bss 214548 214548 0 0.0
.data 5872 5872 0 0.0
.text 1416060 1416060 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1176571 1176571 0 0.0
bss 143224 143224 0 0.0
rodata 142620 142620 0 0.0
text 811888 811888 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1156459 1156459 0 0.0
bss 142460 142460 0 0.0
rodata 134148 134148 0 0.0
text 801036 801036 0 0.0
p6 all-clusters-app default (read only) 881528 881528 0 0.0
(read/write) 1689292 1689292 0 0.0
.bss 149168 149168 0 0.0
.data 2648 2648 0 0.0
.text 1529088 1529088 0 0.0
all-clusters-minimal-app default (read only) 882248 882248 0 0.0
(read/write) 1633332 1633332 0 0.0
.bss 148448 148448 0 0.0
.data 2648 2648 0 0.0
.text 1473848 1473848 0 0.0
light-app default (read only) 890568 890568 0 0.0
(read/write) 1553556 1553556 0 0.0
.bss 140336 140336 0 0.0
.data 2440 2440 0 0.0
.text 1402392 1402392 0 0.0
lock-app default (read only) 886072 886072 0 0.0
(read/write) 1592204 1592204 0 0.0
.bss 144816 144816 0 0.0
.data 2456 2456 0 0.0
.text 1436544 1436544 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 805560 805560 0 0.0
bss 70976 70976 0 0.0
noinit 43488 43488 0 0.0
text 569418 569416 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 826000 826000 0 0.0
bss 71820 71820 0 0.0
noinit 43488 43488 0 0.0
text 586308 586304 -4 -0.0

@woody-apple woody-apple merged commit f646b00 into project-chip:master Aug 4, 2022
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
- Removed use of IsCertificateValidAtCurrentTime() as spec doesn't require
    DAC certificate validity check at the current time.
  - Updated mbedTLS implementation of the ValidateCertificateChain() to ignore
    validity checks of the certificates in the validation chain.
  - Updated OpenSSL implementation of the ValidateCertificateChain() to use
    notBefore time of the DAC certificate as a current time. That way the chain
    validation function checks exactly that the PAA and PAI were valid at the
    time of DAC generation.
  - NOTE: Ideally it would be nice if mbedTLS and OpenSSL implementations of
    ValidateCertificateChain() function behaive similar. Unfortunately, I didn't
    find a way to adjust the mbedTLS current time during the chain validation.
  - Created new test vectors for PAA, PAI, and DAC (correct and with errors)
    to validate all various corner cases of the implementation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants