Skip to content

Commit b48aa8c

Browse files
committedDec 4, 2024··
Pass DAC verifier on SetupCommissioner
Besides setting the global DAC verifier, also explicitly pass the verifier on controller initialization. This avoids the common Controller initialization code to complain with: ``` *** Missing DeviceAttestationVerifier configuration at DeviceCommissioner init: using global default, consider passing one in CommissionerInitParams. ``` Upstream PR: * project-chip/connectedhomeip#36713
1 parent a4640c5 commit b48aa8c

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
From cb2ac26affec6d02302449e92433bdb9dba07628 Mon Sep 17 00:00:00 2001
2+
From: Stefan Agner <stefan@agner.ch>
3+
Date: Wed, 4 Dec 2024 13:49:03 +0100
4+
Subject: [PATCH] [Python] Pass DAC verifier on SetupCommissioner
5+
6+
Besides setting the global DAC verifier, also explicitly pass the
7+
verifier on controller initialization. This avoids the common Controller
8+
initialization code to complain with:
9+
10+
```
11+
*** Missing DeviceAttestationVerifier configuration at DeviceCommissioner init: using global default, consider passing one in CommissionerInitParams.
12+
```
13+
---
14+
src/controller/python/OpCredsBinding.cpp | 4 +++-
15+
src/controller/python/chip/internal/CommissionerImpl.cpp | 5 ++++-
16+
2 files changed, 7 insertions(+), 2 deletions(-)
17+
18+
diff --git a/src/controller/python/OpCredsBinding.cpp b/src/controller/python/OpCredsBinding.cpp
19+
index f5815922cc..ec50d65c33 100644
20+
--- a/src/controller/python/OpCredsBinding.cpp
21+
+++ b/src/controller/python/OpCredsBinding.cpp
22+
@@ -490,7 +490,8 @@ PyChipError pychip_OpCreds_AllocateController(OpCredsContext * context, chip::Co
23+
24+
// Initialize device attestation verifier
25+
const chip::Credentials::AttestationTrustStore * testingRootStore = GetTestFileAttestationTrustStore(paaTrustStorePath);
26+
- SetDeviceAttestationVerifier(GetDefaultDACVerifier(testingRootStore));
27+
+ chip::Credentials::DeviceAttestationVerifier * dacVerifier = chip::Credentials::GetDefaultDACVerifier(testingRootStore);
28+
+ SetDeviceAttestationVerifier(dacVerifier);
29+
30+
chip::Crypto::P256Keypair ephemeralKey;
31+
chip::Crypto::P256Keypair * controllerKeyPair;
32+
@@ -544,6 +545,7 @@ PyChipError pychip_OpCreds_AllocateController(OpCredsContext * context, chip::Co
33+
initParams.controllerVendorId = adminVendorId;
34+
initParams.permitMultiControllerFabrics = true;
35+
initParams.hasExternallyOwnedOperationalKeypair = operationalKey != nullptr;
36+
+ initParams.deviceAttestationVerifier = dacVerifier;
37+
38+
if (useTestCommissioner)
39+
{
40+
diff --git a/src/controller/python/chip/internal/CommissionerImpl.cpp b/src/controller/python/chip/internal/CommissionerImpl.cpp
41+
index 7092024267..0640208e34 100644
42+
--- a/src/controller/python/chip/internal/CommissionerImpl.cpp
43+
+++ b/src/controller/python/chip/internal/CommissionerImpl.cpp
44+
@@ -131,7 +131,9 @@ extern "C" chip::Controller::DeviceCommissioner * pychip_internal_Commissioner_N
45+
// TODO: add option to pass in custom PAA Trust Store path to the python controller app
46+
const chip::Credentials::AttestationTrustStore * testingRootStore =
47+
GetTestFileAttestationTrustStore("./credentials/development/paa-root-certs");
48+
- chip::Credentials::SetDeviceAttestationVerifier(chip::Credentials::GetDefaultDACVerifier(testingRootStore));
49+
+ chip::Credentials::DeviceAttestationVerifier * dacVerifier =
50+
+ chip::Credentials::GetDefaultDACVerifier(testingRootStore);
51+
+ chip::Credentials::SetDeviceAttestationVerifier(dacVerifier);
52+
53+
factoryParams.fabricIndependentStorage = &gServerStorage;
54+
factoryParams.sessionKeystore = &gSessionKeystore;
55+
@@ -182,6 +184,7 @@ extern "C" chip::Controller::DeviceCommissioner * pychip_internal_Commissioner_N
56+
commissionerParams.controllerRCAC = rcacSpan;
57+
commissionerParams.controllerICAC = icacSpan;
58+
commissionerParams.controllerNOC = nocSpan;
59+
+ commissionerParams.deviceAttestationVerifier = dacVerifier;
60+
61+
SuccessOrExit(err = DeviceControllerFactory::GetInstance().Init(factoryParams));
62+
SuccessOrExit(err = DeviceControllerFactory::GetInstance().SetupCommissioner(commissionerParams, *result));
63+
--
64+
2.47.1
65+

0 commit comments

Comments
 (0)
Please sign in to comment.