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

CertificateAuthority + Manager support in Python #21981

Merged

Conversation

mrjerryjohns
Copy link
Contributor

This shifts the logic in the existing FabricAdmin that manages a given Root CA to its own CertificateAuthority class. This now permits a more spec-aligned structure that has a CertificateAuthorityManager that manages a set of CertificateAuthority instances, each associated with a single Root PK. Each of those manages a list of FabricAdmins adminstering a fabric within that CA, which in turn manage a list of ChipDeviceController instances within that fabric.

So:

CertificateAuthorityManager == has a list of ==> CertificateAuthority == has a list of ==> FabricAdmin == has a list of ==> ChipDeviceController

These now permit passing in separate PersistentStorage instances so that it is more flexible/easier to sand-box each CA's storage constructs, which makes it easier to integrate with chip-tool's INI files.

The PersistentStorage construct has been updated to permit both storage to file as well as just a 'soft' cache.

Testing

Updated the existing Python REPL test suite, as well as the cert Matter testing framework as well and both ran successfully.

This shifts the logic in the existing FabricAdmin that manages a given
Root CA to its own CertificateAuthority class. This now permits a more
spec-aligned structure that has a CertificateAuthorityManager that
manages a set of CertificateAuthority instances, each associated with a
single Root PK. Each of those manages a list of FabricAdmins
adminstering a fabric within that CA, which in turn manage a list of
ChipDeviceController instances within that fabric.

These now permit passing in separate PersistentStorage instances so that
it is more flexible/easier to sand-box each CA's storage constructs,
which makes it easier to integrate with chip-tool's INI files.

The PersistentStorage construct has been updated to permit both storage
to file as well as just a 'soft' cache.
@github-actions
Copy link

github-actions bot commented Aug 17, 2022

PR #21981: Size comparison from 866e7ee to 22bd024

Increases (1 build for cc13x2_26x2)
platform target config section 866e7ee 22bd024 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 179116 179124 8 0.0
Decreases (5 builds for bl602, cc13x2_26x2, nrfconnect, telink)
platform target config section 866e7ee 22bd024 change % change
bl602 lighting-app bl602 (read/write) 1383850 1383842 -8 -0.0
.text 1051032 1051028 -4 -0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672363 672355 -8 -0.0
.text 583300 583292 -8 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 814076 814072 -4 -0.0
telink light-switch-app tlsr9518adk80d text 571308 571306 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 830672 830664 -8 -0.0
text 589398 589394 -4 -0.0
Full report (25 builds for bl602, cc13x2_26x2, cyw30739, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 866e7ee 22bd024 change % change
bl602 lighting-app bl602 (read/write) 1383850 1383842 -8 -0.0
.bss 120258 120258 0 0.0
.data 4480 4480 0 0.0
.text 1051032 1051028 -4 -0.0
bl602+rpc (read/write) 1429354 1429354 0 0.0
.bss 127698 127698 0 0.0
.data 4600 4600 0 0.0
.text 1082788 1082788 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672363 672355 -8 -0.0
(read/write) 179116 179124 8 0.0
.bss 74372 74372 0 0.0
.data 3372 3372 0 0.0
.rodata 88747 88747 0 0.0
.text 583300 583292 -8 -0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637739 637739 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 559436 559436 0 0.0
lock-ftd LP_CC2652R7 (read only) 674079 674079 0 0.0
(read/write) 167616 167616 0 0.0
.bss 71476 71476 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596928 596928 0 0.0
lock-mtd LP_CC2652R7 (read only) 656815 656815 0 0.0
(read/write) 180568 180568 0 0.0
.bss 67164 67164 0 0.0
.data 3296 3296 0 0.0
.rodata 101759 101759 0 0.0
.text 554576 554576 0 0.0
pump-app LP_CC2652R7 (read only) 684751 684751 0 0.0
(read/write) 157752 157752 0 0.0
.bss 71516 71516 0 0.0
.data 3296 3296 0 0.0
.rodata 89959 89959 0 0.0
.text 594308 594308 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669243 669243 0 0.0
(read/write) 173380 173380 0 0.0
.bss 71636 71636 0 0.0
.data 3292 3292 0 0.0
.rodata 85515 85515 0 0.0
.text 583248 583248 0 0.0
shell LP_CC2652R7 (read only) 665046 665046 0 0.0
(read/write) 181952 181952 0 0.0
.bss 76692 76692 0 0.0
.data 3376 3376 0 0.0
.rodata 85694 85694 0 0.0
.text 579036 579036 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586014 586014 0 0.0
.app_xip_area 462680 462680 0 0.0
.bss 65768 65768 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) 591830 591830 0 0.0
.app_xip_area 463712 463712 0 0.0
.bss 70552 70552 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) 598970 598970 0 0.0
.app_xip_area 476356 476356 0 0.0
.bss 65080 65080 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
k32w light k32w0+release (read/write) 646660 646660 0 0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571464 571464 0 0.0
lock k32w0+release (read/write) 704196 704196 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628528 628528 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10206092 10206092 0 0.0
(read/write) 699681 699681 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 644368 644368 0 0.0
.dynamic 560 560 0 0.0
.got 13776 13776 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 490364 490364 0 0.0
.text 8076292 8076292 0 0.0
thermostat-no-ble arm64 (read only) 2357028 2357028 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 140524 140524 0 0.0
.text 1978784 1978784 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454264 2454264 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416908 1416908 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1179923 1179923 0 0.0
bss 143727 143727 0 0.0
rodata 143268 143268 0 0.0
text 814076 814072 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159799 1159799 0 0.0
bss 142964 142964 0 0.0
rodata 134944 134944 0 0.0
text 803064 803064 0 0.0
p6 all-clusters-app default (read only) 881016 881016 0 0.0
(read/write) 1699252 1699252 0 0.0
.bss 149672 149672 0 0.0
.data 2656 2656 0 0.0
.text 1538536 1538536 0 0.0
all-clusters-minimal-app default (read only) 881736 881736 0 0.0
(read/write) 1643260 1643260 0 0.0
.bss 148952 148952 0 0.0
.data 2656 2656 0 0.0
.text 1483264 1483264 0 0.0
light-app default (read only) 890080 890080 0 0.0
(read/write) 1560532 1560532 0 0.0
.bss 140816 140816 0 0.0
.data 2448 2448 0 0.0
.text 1408880 1408880 0 0.0
lock-app default (read only) 885584 885584 0 0.0
(read/write) 1597812 1597812 0 0.0
.bss 145296 145296 0 0.0
.data 2464 2464 0 0.0
.text 1441664 1441664 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808728 808728 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571308 571306 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 830672 830664 -8 -0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589398 589394 -4 -0.0

@github-actions
Copy link

github-actions bot commented Aug 17, 2022

PR #21981: Size comparison from 866e7ee to 7c4776a

Increases (1 build for cc13x2_26x2)
platform target config section 866e7ee 7c4776a change % change
cc13x2_26x2 all-clusters-minimal-app LP_CC2652R7 (read only) 637739 637747 8 0.0
.text 559436 559444 8 0.0
Decreases (4 builds for esp32, nrfconnect, telink)
platform target config section 866e7ee 7c4776a change % change
esp32 all-clusters-app c3devkit (read only) 1029946 1029944 -2 -0.0
.flash.text 1029946 1029944 -2 -0.0
nrfconnect all-clusters-minimal-app nrf52840dk_nrf52840 text 803064 803060 -4 -0.0
telink light-switch-app tlsr9518adk80d text 571308 571304 -4 -0.0
lighting-app tlsr9518adk80d (read/write) 830672 830664 -8 -0.0
text 589398 589396 -2 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 866e7ee 7c4776a change % change
bl602 lighting-app bl602 (read/write) 1383850 1383850 0 0.0
.bss 120258 120258 0 0.0
.data 4480 4480 0 0.0
.text 1051032 1051032 0 0.0
bl602+rpc (read/write) 1429354 1429354 0 0.0
.bss 127698 127698 0 0.0
.data 4600 4600 0 0.0
.text 1082788 1082788 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 672363 672363 0 0.0
(read/write) 179116 179116 0 0.0
.bss 74372 74372 0 0.0
.data 3372 3372 0 0.0
.rodata 88747 88747 0 0.0
.text 583300 583300 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637739 637747 8 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 559436 559444 8 0.0
lock-ftd LP_CC2652R7 (read only) 674079 674079 0 0.0
(read/write) 167616 167616 0 0.0
.bss 71476 71476 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596928 596928 0 0.0
lock-mtd LP_CC2652R7 (read only) 656815 656815 0 0.0
(read/write) 180568 180568 0 0.0
.bss 67164 67164 0 0.0
.data 3296 3296 0 0.0
.rodata 101759 101759 0 0.0
.text 554576 554576 0 0.0
pump-app LP_CC2652R7 (read only) 684751 684751 0 0.0
(read/write) 157752 157752 0 0.0
.bss 71516 71516 0 0.0
.data 3296 3296 0 0.0
.rodata 89959 89959 0 0.0
.text 594308 594308 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669243 669243 0 0.0
(read/write) 173380 173380 0 0.0
.bss 71636 71636 0 0.0
.data 3292 3292 0 0.0
.rodata 85515 85515 0 0.0
.text 583248 583248 0 0.0
shell LP_CC2652R7 (read only) 665046 665046 0 0.0
(read/write) 181952 181952 0 0.0
.bss 76692 76692 0 0.0
.data 3376 3376 0 0.0
.rodata 85694 85694 0 0.0
.text 579036 579036 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586014 586014 0 0.0
.app_xip_area 462680 462680 0 0.0
.bss 65768 65768 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) 591830 591830 0 0.0
.app_xip_area 463712 463712 0 0.0
.bss 70552 70552 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) 598970 598970 0 0.0
.app_xip_area 476356 476356 0 0.0
.bss 65080 65080 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) 1100964 1100964 0 0.0
.bss 133372 133372 0 0.0
.data 2068 2068 0 0.0
.text 965500 965500 0 0.0
BRD4161A+rpc (read/write) 1155216 1155216 0 0.0
.bss 150060 150060 0 0.0
.data 2280 2280 0 0.0
.text 1002856 1002856 0 0.0
BRD4161A+rs911x (read/write) 990152 990152 0 0.0
.bss 162696 162696 0 0.0
.data 2056 2056 0 0.0
.text 825380 825380 0 0.0
lock-app BRD4161A+wf200 (read/write) 1139620 1139620 0 0.0
.bss 145872 145872 0 0.0
.data 2064 2064 0 0.0
.text 991664 991664 0 0.0
window-app BRD4161A (read/write) 1092420 1092420 0 0.0
.bss 134812 134812 0 0.0
.data 2096 2096 0 0.0
.text 955492 955492 0 0.0
esp32 all-clusters-app c3devkit (read only) 1029946 1029944 -2 -0.0
(read/write) 1488642 1488642 0 0.0
.dram0.bss 70832 70832 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 217776 217776 0 0.0
.flash.text 1029946 1029944 -2 -0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1083275 1083275 0 0.0
(read/write) 490600 490600 0 0.0
.dram0.bss 76344 76344 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248116 248116 0 0.0
.flash.text 1077891 1077891 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 646660 646660 0 0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571464 571464 0 0.0
lock k32w0+release (read/write) 704196 704196 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628528 628528 0 0.0
linux all-clusters-app debug (read only) 3034129 3034129 0 0.0
(read/write) 155920 155920 0 0.0
.bss 61888 61888 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85560 85560 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 274443 274443 0 0.0
.text 2580610 2580610 0 0.0
all-clusters-minimal-app debug (read only) 2873969 2873969 0 0.0
(read/write) 147624 147624 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78120 78120 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 274635 274635 0 0.0
.text 2422962 2422962 0 0.0
bridge-app debug+rpc (read only) 2372825 2372825 0 0.0
(read/write) 127584 127584 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67464 67464 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 203432 203432 0 0.0
.text 2006770 2006770 0 0.0
chip-tool debug (read only) 10809305 10809305 0 0.0
(read/write) 651872 651872 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 616840 616840 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 559573 559573 0 0.0
.text 8741684 8741684 0 0.0
chip-tool-ipv6only arm64 (read only) 10206092 10206092 0 0.0
(read/write) 699681 699681 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 644368 644368 0 0.0
.dynamic 560 560 0 0.0
.got 13776 13776 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 490364 490364 0 0.0
.text 8076292 8076292 0 0.0
lighting-app debug+rpc (read only) 2596825 2596825 0 0.0
(read/write) 130176 130176 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72360 72360 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 220208 220208 0 0.0
.text 2205906 2205906 0 0.0
lock-app debug (read only) 2580721 2580721 0 0.0
(read/write) 125512 125512 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69512 69512 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 237264 237264 0 0.0
.text 2176802 2176802 0 0.0
ota-provider-app debug (read only) 2357897 2357897 0 0.0
(read/write) 118976 118976 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63336 63336 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 760 760 0 0.0
.rodata 209240 209240 0 0.0
.text 1985186 1985186 0 0.0
ota-requestor-app debug (read only) 2523097 2523097 0 0.0
(read/write) 127320 127320 0 0.0
.bss 50336 50336 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68728 68728 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 216000 216000 0 0.0
.text 2134530 2134530 0 0.0
shell debug (read only) 2602417 2602417 0 0.0
(read/write) 142040 142040 0 0.0
.bss 57800 57800 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77160 77160 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 234546 234546 0 0.0
.text 2209522 2209522 0 0.0
thermostat-no-ble arm64 (read only) 2357028 2357028 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 140524 140524 0 0.0
.text 1978784 1978784 0 0.0
tv-app debug (read only) 3173785 3173785 0 0.0
(read/write) 257968 257968 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79184 79184 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 258856 258856 0 0.0
.text 2725186 2725186 0 0.0
tv-casting-app debug (read only) 5454305 5454305 0 0.0
(read/write) 160048 160048 0 0.0
.bss 51448 51448 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 99736 99736 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 343217 343217 0 0.0
.text 4840434 4840434 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454264 2454264 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416908 1416908 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1179923 1179923 0 0.0
bss 143727 143727 0 0.0
rodata 143268 143268 0 0.0
text 814076 814076 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159799 1159799 0 0.0
bss 142964 142964 0 0.0
rodata 134944 134944 0 0.0
text 803064 803060 -4 -0.0
p6 all-clusters-app default (read only) 881016 881016 0 0.0
(read/write) 1699252 1699252 0 0.0
.bss 149672 149672 0 0.0
.data 2656 2656 0 0.0
.text 1538536 1538536 0 0.0
all-clusters-minimal-app default (read only) 881736 881736 0 0.0
(read/write) 1643260 1643260 0 0.0
.bss 148952 148952 0 0.0
.data 2656 2656 0 0.0
.text 1483264 1483264 0 0.0
light-app default (read only) 890080 890080 0 0.0
(read/write) 1560532 1560532 0 0.0
.bss 140816 140816 0 0.0
.data 2448 2448 0 0.0
.text 1408880 1408880 0 0.0
lock-app default (read only) 885584 885584 0 0.0
(read/write) 1597812 1597812 0 0.0
.bss 145296 145296 0 0.0
.data 2464 2464 0 0.0
.text 1441664 1441664 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808728 808728 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571308 571304 -4 -0.0
lighting-app tlsr9518adk80d (read/write) 830672 830664 -8 -0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589398 589396 -2 -0.0

@andy31415
Copy link
Contributor

Marking as fast track python infra change

@mrjerryjohns mrjerryjohns merged commit c517ba2 into project-chip:master Aug 18, 2022
tcarmelveilleux pushed a commit to tcarmelveilleux/connectedhomeip that referenced this pull request Aug 22, 2022
* CertificateAuthority + Manager support in Python

This shifts the logic in the existing FabricAdmin that manages a given
Root CA to its own CertificateAuthority class. This now permits a more
spec-aligned structure that has a CertificateAuthorityManager that
manages a set of CertificateAuthority instances, each associated with a
single Root PK. Each of those manages a list of FabricAdmins
adminstering a fabric within that CA, which in turn manage a list of
ChipDeviceController instances within that fabric.

These now permit passing in separate PersistentStorage instances so that
it is more flexible/easier to sand-box each CA's storage constructs,
which makes it easier to integrate with chip-tool's INI files.

The PersistentStorage construct has been updated to permit both storage
to file as well as just a 'soft' cache.

* Review feedback
isiu-apple pushed a commit to isiu-apple/connectedhomeip that referenced this pull request Sep 16, 2022
* CertificateAuthority + Manager support in Python

This shifts the logic in the existing FabricAdmin that manages a given
Root CA to its own CertificateAuthority class. This now permits a more
spec-aligned structure that has a CertificateAuthorityManager that
manages a set of CertificateAuthority instances, each associated with a
single Root PK. Each of those manages a list of FabricAdmins
adminstering a fabric within that CA, which in turn manage a list of
ChipDeviceController instances within that fabric.

These now permit passing in separate PersistentStorage instances so that
it is more flexible/easier to sand-box each CA's storage constructs,
which makes it easier to integrate with chip-tool's INI files.

The PersistentStorage construct has been updated to permit both storage
to file as well as just a 'soft' cache.

* Review feedback
agners added a commit to agners/connectedhomeip that referenced this pull request Feb 14, 2023
Fix what has been broken by CertificateAuthority + Manager support in
Python (project-chip#21981).
woody-apple pushed a commit that referenced this pull request Feb 14, 2023
Fix what has been broken by CertificateAuthority + Manager support in
Python (#21981).
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
Fix what has been broken by CertificateAuthority + Manager support in
Python (project-chip#21981).
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