blob: 746197044cba01d5b27a1df3003bb1abcb22cc7f [file] [log] [blame]
# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name:
3.3.17. [TC-DD-3.17] Commissioning Flow - 21-digit Manual Pairing Code -
Negative Scenario [DUT - Commissioner]
PICS:
- MCORE.ROLE.COMMISSIONER
- MCORE.DD.21_MANUAL_PC
config:
nodeId: 0x12344321
cluster: "Basic"
endpoint: 0
tests:
- label: "Note"
verification: |
Chip-tool command used below are an example to verify the DUT as commissioner test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command.
disabled: true
- label: "Preconditions"
verification: |
Preconditions
1 - DUT is on an operational network and has accurate date, time, timezone, regulatory, and fabric information available.
2 - 5.1.4.2 - 21-digit Manual Pairing Code is printed on the Commissionee device or in additional provided materials (ex: manual).
An example onboarding payload could be "749701123365521327694" (21-digit) (following 5.1.4. Table 37. "Manual Pairing Code Elements") which each include:
- 1-bit VID_PID_PRESENT = 1 (21-digit only)
- 1-bit VERSION=0
- 4-bit SHORT DISCRIMINATOR=0xF00 (4 Most-significant bits of the 12-bits Discriminator value)
- 27-bit PASSCODE=20202021 (see section 5.1.6. Generation of the Passcode)
- 16-bit VENDOR_ID=0xFFF1 (as defined in section 2.5.2. "Vendor Identifier", for 21-digit Manual Pairing Code only)
- 16-bit PRODUCT_ID=0x8001 (as defined in section 2.5.3. "Product Identifier", present if and only if VID is present)
- A generated CHECK_DIGIT (see section 5.1.4. Manual Pairing Code, subsection "Check Digit")
disabled: true
- label:
"Provide the 21-digit Manual Pairing Code from the Commissionee to the
DUT in any format supported by DUT"
verification: |
Verify in TH Commissionee side:
$ ./out/all-clusters-app/chip-all-clusters-app
[1657203632.334400][13827:13827] CHIP:DL: Device Configuration:
[1657203632.334663][13827:13827] CHIP:DL: Serial Number: (not set)
[1657203632.334724][13827:13827] CHIP:DL: Vendor Id: 65521 (0xFFF1)
[1657203632.334801][13827:13827] CHIP:DL: Product Id: 32769 (0x8001)
[1657203632.334879][13827:13827] CHIP:DL: Hardware Version: 0
[1657203632.334934][13827:13827] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021
[1657203632.334983][13827:13827] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00)
[1657203632.335054][13827:13827] CHIP:DL: Manufacturing Date: (not set)
[1657203632.335109][13827:13827] CHIP:DL: Device Type: 65535 (0xFFFF)
[1657203632.335158][13827:13827] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ====
[1657203632.335234][13827:13827] CHIP:SVR: SetupQRCode: [MT:-24J042C00KA0648G00]
[1657203632.335298][13827:13827] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
[1657203632.335348][13827:13827] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J042C00KA0648G00
[1657203632.335420][13827:13827] CHIP:SVR: Manual pairing code: [34970112332]
[1657203632.335470][13827:13827] CHIP:-: ==== Onboarding payload for Custom Commissioning Flows ====
[1657203632.335532][13827:13827] CHIP:SVR: SetupQRCode: [MT:-24J0YXE00KA0648G00]
[1657203632.335589][13827:13827] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
[1657203632.335637][13827:13827] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0YXE00KA0648G00
[1657203632.335712][13827:13827] CHIP:SVR: Manual pairing code: [749701123365521327694]
disabled: true
- label:
"VERSION: Using the manual code from Step 1, generate a new manual
code but substituting out the current VERSION with an invalid VERSION:
2"
verification: |
1. Use chip-tool"s "payload verhoeff-generate" command to help generate the new, invalid Manual code
No applicable TH or DUT logs.
$ ./chip-tool payload verhoeff-generate 84970112336552132769
[1657238290868] [31968:16868160] CHIP: [SPL] Generating Character for: 84970112336552132769
[1657238290868] [31968:16868160] CHIP: [SPL] Generated Char: 3
Manual code: 849701123365521327693
disabled: true
- label:
"Provide the Manual Pairing Code, generated in the previous step, to
the DUT in any format supported by the DUT"
verification: |
$ ./chip-tool pairing code 1 849701123365521327693
Verify in DUT Commissioner side:
[1657238348848] [31971:16868925] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument
disabled: true
- label:
"VID_PID_PRESENT: Using the manual code from Step 1, generate a new
manual code but substituting out the current VID_PID_PRESENT with an
invalid VID_PID_PRESENT set to 0"
verification: |
1. Use chip-tool"s "payload verhoeff-generate" command to help generate the new, invalid Manual code
No applicable TH or DUT logs.
$ ./chip-tool payload verhoeff-generate 34970112336552132769
[1651186492744] [13434:353094] CHIP: [SPL] Generating Character for: 34970112336552132769
[1651186492744] [13434:353094] CHIP: [SPL] Generated Char: 6
Manual code: 349701123365521327696
disabled: true
- label:
"Provide the Manual Pairing Code, generated in the previous step, to
the DUT in any format supported by the DUT"
verification: |
$ ./chip-tool pairing code 1 349701123365521327696
Verify in DUT Commissioner side:
[1657238541643] [31975:16871084] CHIP: [SPL] Failed decoding base10. Input length 20 was not expected length 10
...
[1657238541644] [31975:16871079] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:63: CHIP Error 0x0000001E: Invalid string length
disabled: true
- label:
"SHORT DISCRIMINATOR: Using the manual code from Step 1, generate a
new manual code but substituting out the current SHORT DISCRIMINATOR
string with a discriminator value that makes the generated manual code
differ from Step 1s manual code (i.e. Choose a discriminator value
that changes any of the 4 most-significant bits of Step 1s 12-bit
discriminator value and adheres to rules of section 5.1.1.5.
Discriminator value)"
verification: |
1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code
No applicable TH or DUT logs.
$ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --discriminator 3584
[1657238783501] [31989:16873588] CHIP: [TOO] Manual Code: 733317123365521327692
disabled: true
- label:
"Provide the Manual Pairing Code, generated in the previous step, to
the DUT in any format supported by the DUT"
verification: |
$ ./chip-tool pairing code 1 733317123365521327692
Verify in DUT Commissioner side:
[1655814152.716988][3723:3726] CHIP:CTL: Commissioning discovery over BLE failed: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:829: CHIP Error 0x00000032: Timeout
[1655814152.717099][3723:3726] CHIP:-: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:829: CHIP Error 0x00000032: Timeout at ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:270
[1655814172.703455][3723:3728] CHIP:CTL: Discovery timed out
[1655814172.703550][3723:3728] CHIP:CTL: Stopping commissioning discovery over DNS-SD
[1655814172.703607][3723:3728] CHIP:TOO: Secure Pairing Failed
disabled: true
- label:
"Passcode: Using the manual code from Step 1, generate a new manual
code using all the same Onboarding Payload components except for the
Passcode. For each Passcode in the following list, set the Passcode
component to one of the invalid Passcode and generate a new manual
code using all the same Onboarding Payload components and one Passcode
from the list: 00000000, 11111111, 22222222, 33333333, 44444444,
55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321"
verification: |
1. Use this as an example of how to generate a manual code with an invalid passcode. In this example the invalid passcode=00000000
No applicable TH or DUT logs.
Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code
$ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --setup-pin-code 00000000
[1657239062245] [32164:16876812] CHIP: [TOO] Manual Code: 749152000065521327698
disabled: true
- label:
"Provide each of the Manual Pairing Codes, generated in the previous
step, to the DUT in any format supported by the DUT"
verification: |
Verify in DUT Commissioner side:
No applicable TH logs.
(00000000)
$ ./chip-tool pairing code 1 749152000065521327698
[1651187937232] [13896:372977] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:161: CHIP Error 0x0000002F: Invalid argument
(11111111)
$ ./chip-tool pairing code 1 751911067865521327698
[1655814240.531424][3747:3747] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(22222222)
$ ./chip-tool pairing code 1 754670135665521327694
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(33333333)
$ ./chip-tool pairing code 1 757429203465521327699
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(44444444)
$ ./chip-tool pairing code 1 760188271265521327697
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(55555555)
$ ./chip-tool pairing code 1 762947339065521327695
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(66666666)
$ ./chip-tool pairing code 1 749322406965521327695
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(77777777)
$ ./chip-tool pairing code 1 752081474765521327697
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(88888888)
$ ./chip-tool pairing code 1 754840542565521327693
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(99999999)
$ ./chip-tool pairing code 1 757599610365521327695
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(12345678)
$ ./chip-tool pairing code 1 757678075365521327695
[1655814269.264731][3754:3754] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
(87654321)
$ ./chip-tool pairing code 1 765457534965521327696
[1655814323.718122][3761:3761] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
disabled: true
- label:
"VENDOR_ID: Using the manual code from Step 1, generate a new manual
code using all the same Onboarding Payload components except for the
VENDOR_ID. For each VENDOR_ID in the following list, set the VENDOR_ID
component to one of the invalid Test VENDOR_IDs and generate a new
manual code using all the same Onboarding Payload components and one
Test VENDOR_ID from the list: 0xFFF1, 0xFFF2, 0xFFF3, 0xFFF4"
verification: |
1. Use this as an example of how to generate a manual code with an invalid vendor IDs
No applicable TH or DUT logs.
$ ./chip-tool payload generate-manualcode --discriminator 3840 --setup-pin-code 20202021 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 1
[1651189120686] [14218:398626] CHIP: [TOO] Manual Code: 749701123365521327694
disabled: true
- label:
"Provide each of the Manual Pairing Codes, generated in the previous
step, to the DUT in any format supported by the DUT"
verification: |
1. Run each of the following DUT commands below containing invalid Vendor IDs.
2. Verify that the TH commissionee=all-cluserters-app does not get commissioned -OR- the DUT Commissioner make the user fully aware of the security risks of providing an uncertified device with operational and networking credentials
(0xFFF1)
$ ./chip-tool pairing code 1 749701123365521327694
(0xFFF2)
$ ./chip-tool pairing code 1 749701123365522327692
(0xFFF3)
$ ./chip-tool pairing code 1 749701123365523327697
(0xFFF4)
$ ./chip-tool pairing code 1 749701123365524327693
disabled: true
- label:
"PRODUCT_ID: Using the manual code from Step 1, generate a new manual
code but substituting out the current PRODUCT_ID with an invalid
PRODUCT_ID of 0x0000(i.e. While following section 2.5.3. Product
Identifier)"
verification: |
1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code
No applicable TH or DUT logs.
$ ./chip-tool payload generate-manualcode --existing-payload 749701123365521327694 --allow-invalid-payload 1 --product-id 0x0000
[1657239418656] [32180:16880488] CHIP: [TOO] Manual Code: 749701123365521000006
disabled: true
- label:
"Provide the Manual Pairing Code, generated in the previous step, to
the DUT in any format supported by the DUT"
verification: |
Verify in DUT Commissioner side:
$ ./chip-tool pairing code 1 749701123365521000006
[1657239565895] [32193:16881922] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:55: CHIP Error 0x0000002F: Invalid argument
disabled: true
- label:
"Check Digit: Using the manual code from Step 1, generate a new manual
code but substituting out the current CHECK_DIGIT with an invalid
CHECK_DIGIT (i.e. Any different CHECK_DIGIT than the commissionees
CHECK_DIGIT while following Table 39. Encoding Method with Vendor and
Product IDs included (VID_PID_Present == 1))"
verification: |
1. Use chip-tool"s "payload verhoeff-verify" command to help verify that the check-digit is invalid
No applicable TH or DUT logs.
$ ./chip-tool payload verhoeff-verify 749701123365521327693 20
[1651187504088] [13629:367627] CHIP: [SPL] Verifying Manual Code: 74970112336552132769
[1651187504088] [13629:367627] CHIP: [SPL] 749701123365521327693 is INVALID at position 20
disabled: true
- label:
"Provide the Manual Pairing Code, generated in the previous step, to
the DUT in any format supported by the DUT"
verification: |
$ ./chip-tool pairing code 1 749701123365521327693
Verify in DUT Commissioner side:
[1651187528666] [13631:367920] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:50: CHIP Error 0x00000013: Integrity check failed
disabled: true