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

Support indirect CRLs in generate-revocation-set.py #36502

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

bh3000
Copy link

@bh3000 bh3000 commented Nov 14, 2024

Changes included:

  1. DCLDClient.get_issuer_cert has been removed, and replaced with get_paa_cert
  2. Added get_paa_cert function that will take a certificate and repeatedly look up its issuer until it finds the DCL entry where isPAA is true.
  3. Step 5 in the main algo now uses the get_paa_cert function instead of get_issuer_cert. In the case of an indirect CRL signer for PAIs get_issuer_cert would have returned the PAI certificate and not the PAA certificate as is needed to verify the certificate chain.
  4. During step 7 of the algo Issuing Distribution Point was incorrectly being retrieved with "x509.OID_ISSUING_DISTRIBUTION_POINT" which does not exist. Its been corrected to use correct OID definition.
  5. Step 9 removed unnecessary "and not is_self_signed..." check. When the revocation_point 'isPAA' then the authority is always the paa certificate. The logic is easier to follow this way.

Copy link

semanticdiff-com bot commented Nov 14, 2024

Review changes with  SemanticDiff

Changed Files
File Status
  credentials/generate-revocation-set.py  8% smaller

@CLAassistant
Copy link

CLAassistant commented Nov 14, 2024

CLA assistant check
All committers have signed the CLA.

Copy link

github-actions bot commented Nov 14, 2024

PR #36502: Size comparison from acea464 to 0edc3ce

Full report (24 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, telink, tizen)
platform target config section acea464 0edc3ce change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1349448 1349448 0 0.0
RAM 104080 104080 0 0.0
bl702 lighting-app bl702+eth FLASH 649334 649334 0 0.0
RAM 25329 25329 0 0.0
bl702+wifi FLASH 826914 826914 0 0.0
RAM 14069 14069 0 0.0
bl706+mfd+rpc+littlefs FLASH 1055112 1055112 0 0.0
RAM 23909 23909 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 976486 976486 0 0.0
RAM 16556 16556 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837852 837852 0 0.0
RAM 123632 123632 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823768 823768 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770492 770492 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754704 754704 0 0.0
RAM 114196 114196 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 627498 627498 0 0.0
RAM 205784 205784 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667242 667242 0 0.0
RAM 205936 205936 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 914884 914884 0 0.0
RAM 143289 143289 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 887340 887340 0 0.0
RAM 141476 141476 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 849080 849080 0 0.0
RAM 142197 142197 0 0.0
qpg lighting-app qpg6105+debug FLASH 662136 662136 0 0.0
RAM 105384 105384 0 0.0
lock-app qpg6105+debug FLASH 620244 620244 0 0.0
RAM 99836 99836 0 0.0
stm32 light STM32WB5MM-DK FLASH 482944 482944 0 0.0
RAM 144848 144848 0 0.0
telink bridge-app tlsr9258a FLASH 684686 684686 0 0.0
RAM 91536 91536 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622694 622694 0 0.0
RAM 50472 50472 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710624 710624 0 0.0
RAM 73812 73812 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628992 628992 0 0.0
RAM 145392 145392 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814880 814880 0 0.0
RAM 100012 100012 0 0.0
tizen all-clusters-app arm unknown 4952 4952 0 0.0
FLASH 1721612 1721612 0 0.0
RAM 90628 90628 0 0.0
chip-tool-ubsan arm unknown 10776 10776 0 0.0
FLASH 17938758 17938758 0 0.0
RAM 7825888 7825888 0 0.0

Copy link

github-actions bot commented Nov 14, 2024

PR #36502: Size comparison from 355a2a6 to 83e687e

Full report (53 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 355a2a6 83e687e change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1349448 1349448 0 0.0
RAM 104080 104080 0 0.0
bl702 lighting-app bl702+eth FLASH 649334 649334 0 0.0
RAM 25329 25329 0 0.0
bl702+wifi FLASH 826914 826914 0 0.0
RAM 14069 14069 0 0.0
bl706+mfd+rpc+littlefs FLASH 1055112 1055112 0 0.0
RAM 23909 23909 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 976486 976486 0 0.0
RAM 16556 16556 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837852 837852 0 0.0
RAM 123632 123632 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823768 823768 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770492 770492 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754704 754704 0 0.0
RAM 114196 114196 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 627498 627498 0 0.0
RAM 205784 205784 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667242 667242 0 0.0
RAM 205936 205936 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679489 679489 0 0.0
RAM 78692 78692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699333 699333 0 0.0
RAM 81324 81324 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699333 699333 0 0.0
RAM 81324 81324 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656277 656277 0 0.0
RAM 73760 73760 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616345 616345 0 0.0
RAM 71644 71644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635973 635973 0 0.0
RAM 74196 74196 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635973 635973 0 0.0
RAM 74196 74196 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635801 635801 0 0.0
RAM 74692 74692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655509 655509 0 0.0
RAM 77244 77244 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655509 655509 0 0.0
RAM 77244 77244 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 611197 611197 0 0.0
RAM 68780 68780 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 631049 631049 0 0.0
RAM 71412 71412 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 631049 631049 0 0.0
RAM 71412 71412 0 0.0
efr32 lock-app BRD4187C FLASH 927596 927596 0 0.0
RAM 160164 160164 0 0.0
BRD4338a FLASH 743696 743688 -8 -0.0
RAM 233296 233296 0 0.0
window-app BRD4187C FLASH 1018816 1018808 -8 -0.0
RAM 128264 128264 0 0.0
esp32 all-clusters-app c3devkit DRAM 95336 95336 0 0.0
FLASH 1540014 1540014 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116264 116264 0 0.0
FLASH 1548854 1548854 0 0.0
IRAM 117039 117039 0 0.0
linux chip-tool-ipv6only arm64 unknown 21288 21288 0 0.0
FLASH 10966576 10966576 0 0.0
RAM 633144 633144 0 0.0
thermostat-no-ble arm64 unknown 9464 9464 0 0.0
FLASH 4090288 4090288 0 0.0
RAM 242984 242984 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 914884 914884 0 0.0
RAM 143289 143289 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 887340 887340 0 0.0
RAM 141476 141476 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 849080 849080 0 0.0
RAM 142197 142197 0 0.0
nxp contact k32w0+release FLASH 584128 584128 0 0.0
RAM 71048 71048 0 0.0
mcxw71+release FLASH 598664 598664 0 0.0
RAM 63144 63144 0 0.0
light k32w0+release FLASH 611172 611172 0 0.0
RAM 70440 70440 0 0.0
k32w1+release FLASH 684976 684976 0 0.0
RAM 48776 48776 0 0.0
lock mcxw71+release FLASH 748512 748512 0 0.0
RAM 67300 67300 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1642476 1642476 0 0.0
RAM 212064 212064 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1550468 1550468 0 0.0
RAM 208864 208864 0 0.0
light cy8ckit_062s2_43012 FLASH 1466620 1466620 0 0.0
RAM 200848 200848 0 0.0
lock cy8ckit_062s2_43012 FLASH 1464812 1464812 0 0.0
RAM 225208 225208 0 0.0
qpg lighting-app qpg6105+debug FLASH 662136 662136 0 0.0
RAM 105384 105384 0 0.0
lock-app qpg6105+debug FLASH 620244 620244 0 0.0
RAM 99836 99836 0 0.0
stm32 light STM32WB5MM-DK FLASH 482944 482944 0 0.0
RAM 144848 144848 0 0.0
telink bridge-app tlsr9258a FLASH 684686 684686 0 0.0
RAM 91536 91536 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622694 622694 0 0.0
RAM 50472 50472 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710624 710624 0 0.0
RAM 73812 73812 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628992 628992 0 0.0
RAM 145392 145392 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814880 814880 0 0.0
RAM 100012 100012 0 0.0
tizen all-clusters-app arm unknown 4952 4952 0 0.0
FLASH 1721612 1721612 0 0.0
RAM 90628 90628 0 0.0
chip-tool-ubsan arm unknown 10776 10776 0 0.0
FLASH 17938758 17938758 0 0.0
RAM 7825888 7825888 0 0.0

Copy link

github-actions bot commented Nov 14, 2024

PR #36502: Size comparison from 73ff58f to 1b306c5

Full report (68 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 73ff58f 1b306c5 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1349448 1349448 0 0.0
RAM 104080 104080 0 0.0
bl702 lighting-app bl702+eth FLASH 649334 649334 0 0.0
RAM 25329 25329 0 0.0
bl702+wifi FLASH 826914 826914 0 0.0
RAM 14069 14069 0 0.0
bl706+mfd+rpc+littlefs FLASH 1055112 1055112 0 0.0
RAM 23909 23909 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 976486 976486 0 0.0
RAM 16556 16556 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 837852 837852 0 0.0
RAM 123632 123632 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 823768 823768 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770492 770492 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 754704 754704 0 0.0
RAM 114196 114196 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 628706 628706 0 0.0
RAM 205784 205784 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667242 667242 0 0.0
RAM 205936 205936 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679489 679489 0 0.0
RAM 78692 78692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699333 699333 0 0.0
RAM 81324 81324 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699333 699333 0 0.0
RAM 81324 81324 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656277 656277 0 0.0
RAM 73760 73760 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616345 616345 0 0.0
RAM 71644 71644 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 635973 635973 0 0.0
RAM 74196 74196 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 635973 635973 0 0.0
RAM 74196 74196 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 635801 635801 0 0.0
RAM 74692 74692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655509 655509 0 0.0
RAM 77244 77244 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655509 655509 0 0.0
RAM 77244 77244 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 612285 612285 0 0.0
RAM 68780 68780 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 632137 632137 0 0.0
RAM 71412 71412 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 632137 632137 0 0.0
RAM 71412 71412 0 0.0
efr32 lock-app BRD4187C FLASH 927596 927596 0 0.0
RAM 160164 160164 0 0.0
BRD4338a FLASH 743696 743688 -8 -0.0
RAM 233296 233296 0 0.0
window-app BRD4187C FLASH 1018816 1018808 -8 -0.0
RAM 128264 128264 0 0.0
esp32 all-clusters-app c3devkit DRAM 95336 95336 0 0.0
FLASH 1541134 1541134 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116264 116264 0 0.0
FLASH 1549822 1549822 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4712 4712 0 0.0
FLASH 2702273 2702273 0 0.0
RAM 129728 129728 0 0.0
all-clusters-app debug unknown 5552 5552 0 0.0
FLASH 5993494 5993494 0 0.0
RAM 523456 523456 0 0.0
all-clusters-minimal-app debug unknown 5448 5448 0 0.0
FLASH 5331632 5331632 0 0.0
RAM 242512 242512 0 0.0
bridge-app debug unknown 5432 5432 0 0.0
FLASH 4671272 4671272 0 0.0
RAM 218464 218464 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12830216 12830216 0 0.0
RAM 582226 582226 0 0.0
chip-tool-ipv6only arm64 unknown 21288 21288 0 0.0
FLASH 10966576 10966576 0 0.0
RAM 633144 633144 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 1123780 1123780 0 0.0
RAM 582578 582578 0 0.0
fabric-bridge-app debug unknown 4688 4688 0 0.0
FLASH 4495542 4495542 0 0.0
RAM 205424 205424 0 0.0
fabric-sync debug unknown 4896 4896 0 0.0
FLASH 5456661 5456661 0 0.0
RAM 470512 470512 0 0.0
lighting-app debug+rpc+ui unknown 6096 6096 0 0.0
FLASH 5607201 5607201 0 0.0
RAM 228616 228616 0 0.0
lock-app debug unknown 5368 5368 0 0.0
FLASH 4720684 4720684 0 0.0
RAM 204632 204632 0 0.0
ota-provider-app debug unknown 4744 4744 0 0.0
FLASH 4346146 4346146 0 0.0
RAM 198304 198304 0 0.0
ota-requestor-app debug unknown 4680 4680 0 0.0
FLASH 4484580 4484580 0 0.0
RAM 202888 202888 0 0.0
shell debug unknown 4240 4240 0 0.0
FLASH 3016701 3016701 0 0.0
RAM 160360 160360 0 0.0
thermostat-no-ble arm64 unknown 9496 9496 0 0.0
FLASH 4093392 4093392 0 0.0
RAM 242984 242984 0 0.0
tv-app debug unknown 5664 5664 0 0.0
FLASH 5943813 5943813 0 0.0
RAM 595920 595920 0 0.0
tv-casting-app debug unknown 5232 5232 0 0.0
FLASH 11035981 11035981 0 0.0
RAM 691960 691960 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 915876 915876 0 0.0
RAM 143289 143289 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888100 888100 0 0.0
RAM 141476 141476 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 850072 850072 0 0.0
RAM 142197 142197 0 0.0
nxp contact k32w0+release FLASH 584128 584128 0 0.0
RAM 71048 71048 0 0.0
mcxw71+release FLASH 598664 598664 0 0.0
RAM 63144 63144 0 0.0
light k32w0+release FLASH 611172 611172 0 0.0
RAM 70440 70440 0 0.0
k32w1+release FLASH 684976 684976 0 0.0
RAM 48776 48776 0 0.0
lock mcxw71+release FLASH 748512 748512 0 0.0
RAM 67300 67300 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1643604 1643604 0 0.0
RAM 212064 212064 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1551596 1551596 0 0.0
RAM 208864 208864 0 0.0
light cy8ckit_062s2_43012 FLASH 1466620 1466620 0 0.0
RAM 200848 200848 0 0.0
lock cy8ckit_062s2_43012 FLASH 1464812 1464812 0 0.0
RAM 225208 225208 0 0.0
qpg lighting-app qpg6105+debug FLASH 662136 662136 0 0.0
RAM 105384 105384 0 0.0
lock-app qpg6105+debug FLASH 620244 620244 0 0.0
RAM 99836 99836 0 0.0
stm32 light STM32WB5MM-DK FLASH 482944 482944 0 0.0
RAM 144848 144848 0 0.0
telink bridge-app tlsr9258a FLASH 684686 684686 0 0.0
RAM 91536 91536 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622694 622694 0 0.0
RAM 50472 50472 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710624 710624 0 0.0
RAM 73812 73812 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628992 628992 0 0.0
RAM 145392 145392 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814880 814880 0 0.0
RAM 100012 100012 0 0.0
tizen all-clusters-app arm unknown 4968 4968 0 0.0
FLASH 1723900 1723900 0 0.0
RAM 90628 90628 0 0.0
chip-tool-ubsan arm unknown 10776 10776 0 0.0
FLASH 17938758 17938758 0 0.0
RAM 7825888 7825888 0 0.0

Comment on lines 20 to 25
# Note: Indirect CRLs are only supported with py cryptography version 44.0.0.
# You may need to patch in a change locally if you are using an older
# version of py cryptography. The required changes can be viewed in this
# PR: https://github.com/pyca/cryptography/pull/11467/files. The file that
# needs to be patched is accessible from your local connectedhomeip
# directory at ./.environment/pigweed-venv/lib/python3.11/site-packages/cryptography/x509/extensions.py
Copy link
Contributor

Choose a reason for hiding this comment

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

The constraints.txt of the SDK should just ensure that the version of the module obtained during bootstrap is correct.

Copy link
Author

Choose a reason for hiding this comment

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

Agreed, however the cryptography version with the fix is not yet released. So anyone using this with the current version will have issues if they're using indirect CRLs. This note just helps those using indirect CRLs avoid having to track down and fix this issue until the new version is live.

Copy link

github-actions bot commented Nov 21, 2024

PR #36502: Size comparison from 093aff8 to 794679f

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 093aff8 794679f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1350314 1350314 0 0.0
RAM 104088 104088 0 0.0
bl702 lighting-app bl702+eth FLASH 649926 649926 0 0.0
RAM 25329 25329 0 0.0
bl702+wifi FLASH 827254 827254 0 0.0
RAM 14069 14069 0 0.0
bl706+mfd+rpc+littlefs FLASH 1055448 1055448 0 0.0
RAM 23917 23917 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 977078 977078 0 0.0
RAM 16556 16556 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838240 838240 0 0.0
RAM 123640 123640 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 824180 824180 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770888 770888 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755092 755092 0 0.0
RAM 114204 114204 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 629294 629294 0 0.0
RAM 205792 205792 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667874 667874 0 0.0
RAM 205936 205936 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 679857 679857 0 0.0
RAM 78692 78692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699709 699709 0 0.0
RAM 81332 81332 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699709 699709 0 0.0
RAM 81332 81332 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656637 656637 0 0.0
RAM 73760 73760 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616721 616721 0 0.0
RAM 71652 71652 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 636357 636357 0 0.0
RAM 74196 74196 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 636357 636357 0 0.0
RAM 74196 74196 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 636185 636185 0 0.0
RAM 74700 74700 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655901 655901 0 0.0
RAM 77244 77244 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655901 655901 0 0.0
RAM 77244 77244 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 612677 612677 0 0.0
RAM 68780 68780 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 632529 632529 0 0.0
RAM 71420 71420 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 632529 632529 0 0.0
RAM 71420 71420 0 0.0
efr32 lock-app BRD4187C FLASH 927948 927948 0 0.0
RAM 160168 160168 0 0.0
BRD4338a FLASH 744312 744304 -8 -0.0
RAM 233296 233296 0 0.0
window-app BRD4187C FLASH 1019432 1019424 -8 -0.0
RAM 128268 128268 0 0.0
esp32 all-clusters-app c3devkit DRAM 95344 95344 0 0.0
FLASH 1541622 1541622 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116256 116256 0 0.0
FLASH 1548702 1548702 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4712 4712 0 0.0
FLASH 2706461 2706461 0 0.0
RAM 129704 129704 0 0.0
all-clusters-app debug unknown 5552 5552 0 0.0
FLASH 5997562 5997562 0 0.0
RAM 523432 523432 0 0.0
all-clusters-minimal-app debug unknown 5448 5448 0 0.0
FLASH 5335816 5335816 0 0.0
RAM 242488 242488 0 0.0
bridge-app debug unknown 5432 5432 0 0.0
FLASH 4675534 4675534 0 0.0
RAM 218432 218432 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12834328 12834328 0 0.0
RAM 582194 582194 0 0.0
chip-tool-ipv6only arm64 unknown 21304 21304 0 0.0
FLASH 10969504 10969504 0 0.0
RAM 633144 633144 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11243271 11243271 0 0.0
RAM 582578 582578 0 0.0
fabric-bridge-app debug unknown 4688 4688 0 0.0
FLASH 4499792 4499792 0 0.0
RAM 205424 205424 0 0.0
fabric-sync debug unknown 4896 4896 0 0.0
FLASH 5596357 5596357 0 0.0
RAM 472424 472424 0 0.0
lighting-app debug+rpc+ui unknown 6096 6096 0 0.0
FLASH 5611473 5611473 0 0.0
RAM 228616 228616 0 0.0
lock-app debug unknown 5368 5368 0 0.0
FLASH 4724890 4724890 0 0.0
RAM 204632 204632 0 0.0
ota-provider-app debug unknown 4744 4744 0 0.0
FLASH 4350396 4350396 0 0.0
RAM 198304 198304 0 0.0
ota-requestor-app debug unknown 4680 4680 0 0.0
FLASH 4488830 4488830 0 0.0
RAM 202888 202888 0 0.0
shell debug unknown 4240 4240 0 0.0
FLASH 3020749 3020749 0 0.0
RAM 160336 160336 0 0.0
thermostat-no-ble arm64 unknown 9512 9512 0 0.0
FLASH 4096272 4096272 0 0.0
RAM 243008 243008 0 0.0
tv-app debug unknown 5664 5664 0 0.0
FLASH 5948085 5948085 0 0.0
RAM 595920 595920 0 0.0
tv-casting-app debug unknown 5232 5232 0 0.0
FLASH 11040269 11040269 0 0.0
RAM 691960 691960 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916244 916244 0 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888432 888432 0 0.0
RAM 141479 141479 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 850444 850444 0 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 584344 584344 0 0.0
RAM 71056 71056 0 0.0
mcxw71+release FLASH 598872 598872 0 0.0
RAM 63152 63152 0 0.0
light k32w0+release FLASH 611284 611284 0 0.0
RAM 70448 70448 0 0.0
k32w1+release FLASH 685384 685384 0 0.0
RAM 48776 48776 0 0.0
lock mcxw71+release FLASH 748896 748896 0 0.0
RAM 67308 67308 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1644236 1644236 0 0.0
RAM 212072 212072 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1552212 1552212 0 0.0
RAM 208872 208872 0 0.0
light cy8ckit_062s2_43012 FLASH 1467252 1467252 0 0.0
RAM 200856 200856 0 0.0
lock cy8ckit_062s2_43012 FLASH 1465428 1465428 0 0.0
RAM 225216 225216 0 0.0
qpg lighting-app qpg6105+debug FLASH 662520 662520 0 0.0
RAM 105384 105384 0 0.0
lock-app qpg6105+debug FLASH 620628 620628 0 0.0
RAM 99844 99844 0 0.0
stm32 light STM32WB5MM-DK FLASH 483332 483332 0 0.0
RAM 144848 144848 0 0.0
telink bridge-app tlsr9258a FLASH 681594 681594 0 0.0
RAM 91200 91200 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 622030 622030 0 0.0
RAM 31432 31432 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 762886 762886 0 0.0
RAM 50208 50208 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709164 709164 0 0.0
RAM 73460 73460 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 625872 625872 0 0.0
RAM 142132 142132 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 811780 811780 0 0.0
RAM 99676 99676 0 0.0
tizen all-clusters-app arm unknown 4972 4972 0 0.0
FLASH 1726800 1726800 0 0.0
RAM 90652 90652 0 0.0
chip-tool-ubsan arm unknown 10780 10780 0 0.0
FLASH 17946894 17946894 0 0.0
RAM 7830432 7830432 0 0.0

Copy link

github-actions bot commented Nov 26, 2024

PR #36502: Size comparison from e782f53 to b8f41ea

Full report (11 builds for cc13x4_26x4, cc32xx, qpg, stm32, tizen)
platform target config section e782f53 b8f41ea change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838488 838488 0 0.0
RAM 123640 123640 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 824172 824172 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770880 770880 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755084 755084 0 0.0
RAM 114204 114204 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 629278 629278 0 0.0
RAM 205792 205792 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667858 667858 0 0.0
RAM 205936 205936 0 0.0
qpg lighting-app qpg6105+debug FLASH 613128 613128 0 0.0
RAM 105040 105040 0 0.0
lock-app qpg6105+debug FLASH 620636 620636 0 0.0
RAM 99844 99844 0 0.0
stm32 light STM32WB5MM-DK FLASH 483580 483580 0 0.0
RAM 144848 144848 0 0.0
tizen all-clusters-app arm unknown 4976 4976 0 0.0
FLASH 1727224 1727224 0 0.0
RAM 90636 90636 0 0.0
chip-tool-ubsan arm unknown 10784 10784 0 0.0
FLASH 17947182 17947182 0 0.0
RAM 7830388 7830388 0 0.0

Copy link

github-actions bot commented Nov 26, 2024

PR #36502: Size comparison from e75d6da to e6c3c6f

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section e75d6da e6c3c6f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1350810 1350810 0 0.0
RAM 104088 104088 0 0.0
bl702 lighting-app bl702+eth FLASH 650164 650164 0 0.0
RAM 25329 25329 0 0.0
bl702+wifi FLASH 827748 827748 0 0.0
RAM 14069 14069 0 0.0
bl706+mfd+rpc+littlefs FLASH 1055942 1055942 0 0.0
RAM 23917 23917 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 977316 977316 0 0.0
RAM 16556 16556 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 838488 838488 0 0.0
RAM 123640 123640 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 824172 824172 0 0.0
RAM 125520 125520 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 770880 770880 0 0.0
RAM 113988 113988 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 755084 755084 0 0.0
RAM 114204 114204 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 629278 629278 0 0.0
RAM 205792 205792 0 0.0
lock CC3235SF_LAUNCHXL FLASH 667858 667858 0 0.0
RAM 205936 205936 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 680105 680105 0 0.0
RAM 78692 78692 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 699957 699957 0 0.0
RAM 81332 81332 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 699957 699957 0 0.0
RAM 81332 81332 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 656885 656885 0 0.0
RAM 73760 73760 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616713 616713 0 0.0
RAM 71652 71652 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 636349 636349 0 0.0
RAM 74196 74196 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 636349 636349 0 0.0
RAM 74196 74196 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 636177 636177 0 0.0
RAM 74700 74700 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 655893 655893 0 0.0
RAM 77244 77244 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 655893 655893 0 0.0
RAM 77244 77244 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 612669 612669 0 0.0
RAM 68780 68780 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 632521 632521 0 0.0
RAM 71420 71420 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 632521 632521 0 0.0
RAM 71420 71420 0 0.0
efr32 lock-app BRD4187C FLASH 927948 927948 0 0.0
RAM 160168 160168 0 0.0
BRD4338a FLASH 744296 744288 -8 -0.0
RAM 233296 233296 0 0.0
window-app BRD4187C FLASH 1019400 1019392 -8 -0.0
RAM 128268 128268 0 0.0
esp32 all-clusters-app c3devkit DRAM 95344 95344 0 0.0
FLASH 1541916 1541916 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116256 116256 0 0.0
FLASH 1549042 1549042 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2706559 2706559 0 0.0
RAM 129640 129640 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5998230 5998230 0 0.0
RAM 523368 523368 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5336108 5336108 0 0.0
RAM 242424 242424 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4675636 4675636 0 0.0
RAM 218368 218368 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 1283469 1283469 0 0.0
RAM 582194 582194 0 0.0
chip-tool-ipv6only arm64 unknown 21304 21304 0 0.0
FLASH 10970096 10970096 0 0.0
RAM 633144 633144 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11242827 11242827 0 0.0
RAM 582546 582546 0 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4499892 4499892 0 0.0
RAM 205360 205360 0 0.0
fabric-sync debug unknown 4904 4904 0 0.0
FLASH 5595797 5595797 0 0.0
RAM 472344 472344 0 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5612145 5612145 0 0.0
RAM 228584 228584 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4725022 4725022 0 0.0
RAM 204600 204600 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4350560 4350560 0 0.0
RAM 198272 198272 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4488930 4488930 0 0.0
RAM 202856 202856 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3021389 3021389 0 0.0
RAM 160304 160304 0 0.0
thermostat-no-ble arm64 unknown 9512 9512 0 0.0
FLASH 4096432 4096432 0 0.0
RAM 242976 242976 0 0.0
tv-app debug unknown 5672 5672 0 0.0
FLASH 5948629 5948629 0 0.0
RAM 595856 595856 0 0.0
tv-casting-app debug unknown 5240 5240 0 0.0
FLASH 11040301 11040301 0 0.0
RAM 691960 691960 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916492 916492 0 0.0
RAM 143292 143292 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 888600 888600 0 0.0
RAM 141479 141479 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 850512 850512 0 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 584328 584328 0 0.0
RAM 71056 71056 0 0.0
mcxw71+release FLASH 598864 598864 0 0.0
RAM 63152 63152 0 0.0
light k32w0+release FLASH 611268 611268 0 0.0
RAM 70448 70448 0 0.0
k32w1+release FLASH 685376 685376 0 0.0
RAM 48776 48776 0 0.0
lock mcxw71+release FLASH 761632 761632 0 0.0
RAM 70540 70540 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1644524 1644524 0 0.0
RAM 212072 212072 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1552324 1552324 0 0.0
RAM 208872 208872 0 0.0
light cy8ckit_062s2_43012 FLASH 1467556 1467556 0 0.0
RAM 200856 200856 0 0.0
lock cy8ckit_062s2_43012 FLASH 1465412 1465412 0 0.0
RAM 225216 225216 0 0.0
qpg lighting-app qpg6105+debug FLASH 662808 662808 0 0.0
RAM 105384 105384 0 0.0
lock-app qpg6105+debug FLASH 620636 620636 0 0.0
RAM 99844 99844 0 0.0
stm32 light STM32WB5MM-DK FLASH 483580 483580 0 0.0
RAM 144848 144848 0 0.0
telink bridge-app tlsr9258a FLASH 681574 681574 0 0.0
RAM 91200 91200 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 621984 621984 0 0.0
RAM 31432 31432 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 763160 763160 0 0.0
RAM 50208 50208 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 709144 709144 0 0.0
RAM 73460 73460 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 626178 626178 0 0.0
RAM 142132 142132 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 812086 812086 0 0.0
RAM 99676 99676 0 0.0
tizen all-clusters-app arm unknown 4976 4976 0 0.0
FLASH 1727224 1727224 0 0.0
RAM 90636 90636 0 0.0
chip-tool-ubsan arm unknown 10784 10784 0 0.0
FLASH 17947182 17947182 0 0.0
RAM 7830388 7830388 0 0.0

issuer_name_b64 = get_issuer_b64(initial_cert)
akid = get_akid(initial_cert)
if akid is None:
return
Copy link

Choose a reason for hiding this comment

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

This seems like an exception? At a minimal, should we log an error before returning?

Copy link
Author

Choose a reason for hiding this comment

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

I’ve added a logging at error level. Note that get_akid will already log as well if its not found.

Copy link

Choose a reason for hiding this comment

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

I think the get_akid() show just throw and the get_paa_cert() could catch but print the exception detail. It's not clear to me if we should treat exception as "None" in get_akid(). Alternatively, you can check if the extension exists, if so return the value, otherwise, return None, otherwise, let the runtime exception be thrown and the get_paa_cert() catch that printing the exception detail. WDYT?

Copy link
Author

Choose a reason for hiding this comment

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

I prefer to keep error handling consolidated in the get_akid and get_skid methods instead of doing it repeatedly outside the methods. However, since it is our understanding that CAs should be compliant with RFC5280 and that requires them to include the AKID and SKID, I think its best to let the exception be thrown. Note that get_extension_for_oid method will throw an ExtensionNotFound exception if it does not exist.

Copy link

Choose a reason for hiding this comment

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

OK. So the exception can be thrown only if get() does not find the extension or if something else is missing even if the extension is found?


return issuer_certificate_object
self.rest_node_url = rest_node_url
Copy link

Choose a reason for hiding this comment

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

Can we add basic URL checks to make sure it's of the correct form (i.e. ://:)?

Copy link
Author

Choose a reason for hiding this comment

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

Yes adding checks.

Copy link

Choose a reason for hiding this comment

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

What are the allowed values preceding .dcl? Also, do you need to worry about the trailing slash after .org? Technically, one can have ":" as optional HTTP URL, not sure if we should account for that with RegEx.

Copy link
Author

Choose a reason for hiding this comment

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

It should just be the main or test net URLs:
PRODUCTION_NODE_URL_REST = "https://on.dcl.csa-iot.org"
TEST_NODE_URL_REST = "https://on.test-net.dcl.csa-iot.org"

I've updated to limit the scope to just those subdomains and allow for an optional trailing slash. For the ":" i dont think i understand. The : in "https://" is not optional. I'll reach directly for clarification. Thanks

Copy link

Choose a reason for hiding this comment

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

I mean the port section which follows the FQDN, just to be comprehensive wih the pattern matching. For example, you can have http[s]://fqdn[:port].

Copy link
Author

Choose a reason for hiding this comment

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

Of course, I see. I've updated the regex and simplified it a bit to cover all these options.

Copy link

Choose a reason for hiding this comment

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

SG. Thanks.

Copy link

Choose a reason for hiding this comment

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

It may be good to decode as much as possible before passing the values around (e.g. issuer DN).
I find that the handling of the exception is a bit inconsistent. For example, some are pretty must all runtime exception while others are not. When we get a response, I think it's better to check whether the response is empty or not and print out that error as opposed to have the runtime handle it. This is in comparison to errors such as the structure from the server is not compatible to the parsing attempt. I think that's an exception.

Copy link
Author

Choose a reason for hiding this comment

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

I've changed the approach to passing the x509 name around and i've added error handling for the requests that will log any errors that happen. I've kept the parsing so that it will log the issue and continue with the algorithm. My concern is that if there is a cert or other response that cannot be parsed, the entire script would fail and one would not be able to generate the rest of the revocation set. This way the reasoning for skipping gets logged and the script can continue. WDYT?

Copy link

Choose a reason for hiding this comment

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

I think that's critical failure if any part of the processing fails unless we think it's okay to mask the problem.

Copy link
Author

Choose a reason for hiding this comment

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

I've updated the missing akid/skid error so that it will prevent further processing. However I still am not sure this is best for the users of the script. Their goal is to get the most comprehensive list of revoked certs possible. By having the a single exception prevent all processing (for a bad cert of a single vendor, or a single timed out request) the user wont get any revocation sets for any of the vendors keys. If the issue is persistent, then they're blocked from identifying any revoked certs. In my opinion it is best to provide as much data as we can and just log these issues.

Copy link

Choose a reason for hiding this comment

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

We could introduce an option to "continue" when encountering failures for the best attempt route. WDYT?

@@ -508,7 +617,7 @@ def main(use_main_net_dcld: str, use_test_net_dcld: str, use_main_net_http: bool
entry = {
"type": "revocation_set",
"issuer_subject_key_id": certificate_akid_hex,
"issuer_name": certificate_authority_name_b64,
"issuer_name": certificate_authority_name.rfc4514_string(),
Copy link
Author

Choose a reason for hiding this comment

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

Note: i've updated the output to provide the human readable issuer_name.

Copy link

Choose a reason for hiding this comment

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

Looks good.

credentials/generate-revocation-set.py Show resolved Hide resolved
issuer_name_b64 = get_issuer_b64(initial_cert)
akid = get_akid(initial_cert)
if akid is None:
return
Copy link
Author

Choose a reason for hiding this comment

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

I’ve added a logging at error level. Note that get_akid will already log as well if its not found.

credentials/generate-revocation-set.py Show resolved Hide resolved

return issuer_certificate_object
self.rest_node_url = rest_node_url
Copy link
Author

Choose a reason for hiding this comment

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

Yes adding checks.

credentials/generate-revocation-set.py Outdated Show resolved Hide resolved
credentials/generate-revocation-set.py Outdated Show resolved Hide resolved
credentials/generate-revocation-set.py Outdated Show resolved Hide resolved
credentials/generate-revocation-set.py Outdated Show resolved Hide resolved
credentials/generate-revocation-set.py Outdated Show resolved Hide resolved
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