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

Darwin: Allow partial validation of DAC and CD (for external cloud or custom app based validation) #22115

Merged

Conversation

sharadb-amazon
Copy link
Contributor

Problem

When PAA list is not local, clients will want to perform as much local validation as possible. Current default DAC verifier assumes local list of CSA and PAA keys.

Change overview

A similar change was merged recently for Android: #21725
This is a follow-up of the same change for darwin (Matter.framework)

Testing

Tested using iOS app

@github-actions
Copy link

github-actions bot commented Aug 23, 2022

PR #22115: Size comparison from fa24ab6 to 96c6d71

Increases (3 builds for cc13x2_26x2, cyw30739, esp32)
platform target config section fa24ab6 96c6d71 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 178660 178668 8 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586578 586586 8 0.0
.app_xip_area 463236 463244 8 0.0
esp32 all-clusters-app c3devkit (read only) 1031040 1031042 2 0.0
.flash.text 1031040 1031042 2 0.0
Decreases (7 builds for cc13x2_26x2, cyw30739, psoc6, telink)
platform target config section fa24ab6 96c6d71 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672835 672827 -8 -0.0
.text 583684 583676 -8 -0.0
cyw30739 lock cyw930739m2evb_01 (read/write) 592346 592338 -8 -0.0
.app_xip_area 464220 464212 -8 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 2664473 26644735 -1 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26381431 26381430 -1 -0.0
lock cy8ckit_062s2_43012 .debug_info 22199262 22199261 -1 -0.0
telink light-switch-app tlsr9518adk80d text 571026 571024 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 830392 830384 -8 -0.0
text 589152 589148 -4 -0.0
Full report (32 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
platform target config section fa24ab6 96c6d71 change % change
bl602 lighting-app bl602 (read/write) 1383650 1383650 0 0.0
.bss 120266 120266 0 0.0
.data 4480 4480 0 0.0
.text 1050816 1050816 0 0.0
bl602+rpc (read/write) 1429298 1429298 0 0.0
.bss 127706 127706 0 0.0
.data 4600 4600 0 0.0
.text 1082572 1082572 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672835 672827 -8 -0.0
(read/write) 178660 178668 8 0.0
.bss 74388 74388 0 0.0
.data 3372 3372 0 0.0
.rodata 88835 88835 0 0.0
.text 583684 583676 -8 -0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637555 637555 0 0.0
(read/write) 157948 157948 0 0.0
.bss 73660 73660 0 0.0
.data 3372 3372 0 0.0
.rodata 77979 77979 0 0.0
.text 559252 559252 0 0.0
lock-ftd LP_CC2652R7 (read only) 673919 673919 0 0.0
(read/write) 167784 167784 0 0.0
.bss 71484 71484 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596768 596768 0 0.0
lock-mtd LP_CC2652R7 (read only) 656687 656687 0 0.0
(read/write) 180704 180704 0 0.0
.bss 67172 67172 0 0.0
.data 3296 3296 0 0.0
.rodata 101767 101767 0 0.0
.text 554440 554440 0 0.0
pump-app LP_CC2652R7 (read only) 684551 684551 0 0.0
(read/write) 157960 157960 0 0.0
.bss 71524 71524 0 0.0
.data 3296 3296 0 0.0
.rodata 89927 89927 0 0.0
.text 594140 594140 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669059 669059 0 0.0
(read/write) 173572 173572 0 0.0
.bss 71644 71644 0 0.0
.data 3292 3292 0 0.0
.rodata 85483 85483 0 0.0
.text 583096 583096 0 0.0
shell LP_CC2652R7 (read only) 665526 665526 0 0.0
(read/write) 181488 181488 0 0.0
.bss 76708 76708 0 0.0
.data 3376 3376 0 0.0
.rodata 85782 85782 0 0.0
.text 579428 579428 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586578 586586 8 0.0
.app_xip_area 463236 463244 8 0.0
.bss 65776 65776 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) 592346 592338 -8 -0.0
.app_xip_area 464220 464212 -8 -0.0
.bss 70560 70560 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) 599450 599450 0 0.0
.app_xip_area 476828 476828 0 0.0
.bss 65088 65088 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1107316 1107316 0 0.0
.bss 136332 136332 0 0.0
.data 2072 2072 0 0.0
.text 968892 968892 0 0.0
BRD4161A+rpc (read/write) 971396 971396 0 0.0
.bss 150844 150844 0 0.0
.data 2252 2252 0 0.0
.text 818276 818276 0 0.0
BRD4161A+rs911x (read/write) 999928 999928 0 0.0
.bss 169088 169088 0 0.0
.data 2056 2056 0 0.0
.text 828764 828764 0 0.0
lock-app BRD4161A+wf200 (read/write) 1149196 1149196 0 0.0
.bss 152168 152168 0 0.0
.data 2064 2064 0 0.0
.text 994944 994944 0 0.0
window-app BRD4161A (read/write) 1098580 1098580 0 0.0
.bss 137772 137772 0 0.0
.data 2096 2096 0 0.0
.text 958692 958692 0 0.0
esp32 all-clusters-app c3devkit (read only) 1031040 1031042 2 0.0
(read/write) 1489610 1489610 0 0.0
.dram0.bss 71144 71144 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 218424 218424 0 0.0
.flash.text 1031040 1031042 2 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1084175 1084175 0 0.0
(read/write) 491528 491528 0 0.0
.dram0.bss 76648 76648 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248740 248740 0 0.0
.flash.text 1078791 1078791 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 646516 646516 0 0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571320 571320 0 0.0
lock k32w0+release (read/write) 704012 704012 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628344 628344 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10260660 10260660 0 0.0
(read/write) 699169 699169 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 643848 643848 0 0.0
.dynamic 560 560 0 0.0
.got 13784 13784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493508 493508 0 0.0
.text 8128996 8128996 0 0.0
thermostat-no-ble arm64 (read only) 2356644 2356644 0 0.0
(read/write) 141825 141825 0 0.0
.bss 55345 55345 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75984 75984 0 0.0
.dynamic 560 560 0 0.0
.got 5048 5048 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 140588 140588 0 0.0
.text 1978336 1978336 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454312 2454312 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416956 1416956 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180591 1180591 0 0.0
bss 143745 143745 0 0.0
rodata 143328 143328 0 0.0
text 814560 814560 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159675 1159675 0 0.0
bss 142972 142972 0 0.0
rodata 134916 134916 0 0.0
text 802968 802968 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 881000 881000 0 0.0
(read/write) 1700692 1700692 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 149688 149688 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1217526 1217526 0 0.0
.debug_aranges 111544 111544 0 0.0
.debug_frame 372400 372400 0 0.0
.debug_info 2664473 26644735 -1 -0.0
.debug_line 3646957 3646957 0 0.0
.debug_loc 3561998 3561998 0 0.0
.debug_ranges 336696 336696 0 0.0
.debug_str 3393533 3393533 0 0.0
.heap 881000 881000 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 569137 569137 0 0.0
.symtab 420320 420320 0 0.0
.text 1539960 1539960 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 881736 881736 0 0.0
(read/write) 1643884 1643884 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 148952 148952 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1209365 1209365 0 0.0
.debug_aranges 111016 111016 0 0.0
.debug_frame 375480 375480 0 0.0
.debug_info 26381431 26381430 -1 -0.0
.debug_line 3667361 3667361 0 0.0
.debug_loc 3549635 3549635 0 0.0
.debug_ranges 335312 335312 0 0.0
.debug_str 3382522 3382522 0 0.0
.heap 881736 881736 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 533611 533611 0 0.0
.symtab 406912 406912 0 0.0
.text 1483888 1483888 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 890080 890080 0 0.0
(read/write) 1561132 1561132 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 140816 140816 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2448 2448 0 0.0
.debug_abbrev 1044038 1044038 0 0.0
.debug_aranges 103184 103184 0 0.0
.debug_frame 345724 345724 0 0.0
.debug_info 21845988 21845988 0 0.0
.debug_line 3238540 3238540 0 0.0
.debug_loc 3249150 3249150 0 0.0
.debug_ranges 301152 301152 0 0.0
.debug_str 3188616 3188616 0 0.0
.heap 890080 890080 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 466892 466892 0 0.0
.symtab 373968 373968 0 0.0
.text 1409480 1409480 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 885584 885584 0 0.0
(read/write) 1598372 1598372 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 145296 145296 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2464 2464 0 0.0
.debug_abbrev 1051210 1051210 0 0.0
.debug_aranges 103856 103856 0 0.0
.debug_frame 348548 348548 0 0.0
.debug_info 22199262 22199261 -1 -0.0
.debug_line 3247103 3247103 0 0.0
.debug_loc 3289002 3289002 0 0.0
.debug_ranges 304496 304496 0 0.0
.debug_str 3216047 3216047 0 0.0
.heap 885584 885584 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 473107 473107 0 0.0
.symtab 377152 377152 0 0.0
.text 1442224 1442224 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808416 808416 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571026 571024 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 830392 830384 -8 -0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589152 589148 -4 -0.0

@chrisdecenzo chrisdecenzo merged commit 591b386 into project-chip:master Aug 24, 2022
self->_operationalCredentialsDelegate->SetNocChainIssuer(nocChainIssuer, queue);
if (nocChainIssuer != nil) {
self->_operationalCredentialsDelegate->SetNocChainIssuer(nocChainIssuer, queue);
self->_cppCommissioner->SetDeviceAttestationVerifier(_partialDACVerifier);
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't understand this. _partialDACVerifier is always null here. How is this supposed to work?

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.

4 participants