# 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.2.1. [TC-OPCREDS-3.1] Attribute-NOCs, TrustedRootCertificates list
    validation [DUT-Server]

PICS:
    - OPCREDS.S

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    endpoint: 0

tests:
    - label: "Pre-Conditions"
      verification: |
          1. PAI, DAC certificates are obtained and validated against externally obtained PAA certificate
          2. This test case assumes that during Commissioning AddNOC will be sent with ICACValue
          3. TH2 is set up with at least one valid CASE Authenticated Tag specified in its NOC, saved as CAT_TH2
          4. Read SupportedFabrics attributes from the DUT and saves as NumSupportedFabrics . Ensure there are NumSupportedFabrics test harness instances that can each commission the DUT
      disabled: true

    - label:
          "Factory Reset DUT (to ensure NOC list is empty at the beginning of
          the following steps)"
      PICS: OPCREDS.S.A0000
      verification: |
          On both DUT and TH side
          sudo rm -rf /tmp/chip_*
      disabled: true

    - label: "Start the commissioning process of DUT by TH1 on a first Fabric"
      verification: |
          DUT side:
          sudo ./chip-all-clusters-app --wifi  --trace_decode 1

          TH side:
          ./chip-tool pairing ble-wifi 1 zigbeehome matter123 20202021 3841 --trace_decode 1

          [1650455358.501816][4366:4371] CHIP:TOO: Device commissioning completed with success
      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with the ExpiryLengthSeconds
          field set to 900"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |
          ./chip-tool generalcommissioning arm-fail-safe 900 600 1 0


          Verify the ErrorCode as 'OK'(0) in TH log
          [1659676500.031926][2475:2480] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001
          [1659676500.047646][2475:2480] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001
          [1659676500.055459][2475:2480] CHIP:TOO:   ArmFailSafeResponse: {
          [1659676500.055613][2475:2480] CHIP:TOO:     errorCode: 0
          [1659676500.055669][2475:2480] CHIP:TOO:     debugText:
          [1659676500.055719][2475:2480] CHIP:TOO:    }
          [1659676500.055806][2475:2480] CHIP:DMG: ICR moving to [AwaitingDe]
          [1659676500.055920][2475:2480] CHIP:EM: Sending Standalone Ack for MessageCounter:225116044 on exchange 37810i
      disabled: true

    - label: "TH1 sends SetRegulatoryConfig command to the DUT"
      PICS: CGEN.S.C02.Rsp && CGEN.S.C03.Tx
      verification: |
          ./chip-tool generalcommissioning set-regulatory-config 0 new 0 1 0

          Verify the ErrorCode as SUCCESS in TH Log

          [1658223287.237009][5570:5575] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0003
          [1658223287.237060][5570:5575] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0003
          [1658223287.237122][5570:5575] CHIP:TOO:   SetRegulatoryConfigResponse: {
          [1658223287.237159][5570:5575] CHIP:TOO:     errorCode: 0
          [1658223287.237183][5570:5575] CHIP:TOO:     debugText:
          [1658223287.237205][5570:5575] CHIP:TOO:    }
      disabled: true

    - label: "TH1 sends AttestationRequest command to DUT"
      PICS: OPCREDS.S.C00.Rsp && OPCREDS.S.C01.Tx
      verification: |
          To get attestation nonce give below command Raspi platform on TH
           echo hex:$(hexdump -vn32 -e'4/4 "%08X" ' /dev/urandom)


          ./chip-tool operationalcredentials attestation-request hex:3577CA6EFFFC560E287604663AE5BE2F11D1B1CF99BE326AF5B3B114A2E91395 1 0

          Verify attestation response in TH Log

          [1658223434.718871][5712:5717] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0001
          [1658223434.718921][5712:5717] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0001
          [1658223434.718981][5712:5717] CHIP:TOO:   AttestationResponse: {
          [1658223434.719026][5712:5717] CHIP:TOO:     attestationElements: 1531011D023082021906092A864886F70D010702A082020A30820206020103310D300B06096086480165030402013082017106092A864886F70D010701A08201620482015E152400012501F1FF3602050080050180050280050380050480050580050680050780050880050980050A80050B80050C80050D80050E80050F80051080051180051280051380051480051580051680051780051880051980051A80051B80051C80051D80051E80051F80052080052180052280052380052480052580052680052780052880052980052A80052B80052C80052D80052E80052F80053080053180053280053380053480053580053680053780053880053980053A80053B80053C80053D80053E80053F80054080054180054280054380054480054580054680054780054880054980054A80054B80054C80054D80054E80054F80055080055180055280055380055480055580055680055780055880055980055A80055B80055C80055D80055E80055F80056080056180056280056380182403162C04135A494732303134325A423333303030332D3234240500240600250794
          [1658223434.719078][5712:5717] CHIP:TOO:     ...................: 2624080018317D307B020103801462FA823359ACFAA9963E1CFA140ADDF504F37160300B0609608648016503040201300A06082A8648CE3D04030204473045022024E5D1F47A7D7B0D206A26EF699B7C9757B72D469089DE3192E678C745E7F60C022100F8AA2FA711FCB79B97E397CEDA667BAE464E2BD3FFDFC3CCED7AA8CA5F4C1A7C3002203577CA6EFFFC560E287604663AE5BE2F11D1B1CF99BE326AF5B3B114A2E9139524030018
          [1658223434.719110][5712:5717] CHIP:TOO:     signature: 7E18271F57FFC60492CA74943FC897493FB2FECDD4A4DC9F2AD348AAD1F5C57DAEB144A4D1C79419386C746F28AC145F3185C64AD99DD829EE70C3690D29642D
          [1658223434.719135][5712:5717] CHIP:TOO:    }
      disabled: true

    - label:
          "TH1 sends CertificateChainRequest Command to DUT for the PAI and
          saves the certififate as 'PAICert'"
      PICS: OPCREDS.S.C02.Rsp && OPCREDS.S.C03.Tx
      verification: |
          ./chip-tool operationalcredentials certificate-chain-request 2 1 0 --trace_decode 1


          Verify the CertificateChainResponse and verify that the size of certificate is less than or equal to 600 bytes and of type octstr in TH Log

          [1660214092.609231][14671:14676] CHIP:DMG: InvokeRequestMessage =
          [1660214092.609243][14671:14676] CHIP:DMG: {
          [1660214092.609255][14671:14676] CHIP:DMG:         suppressResponse = false,
          [1660214092.609269][14671:14676] CHIP:DMG:         timedRequest = false,
          [1660214092.609281][14671:14676] CHIP:DMG:         InvokeRequests =
          [1660214092.609301][14671:14676] CHIP:DMG:         [
          [1660214092.609311][14671:14676] CHIP:DMG:                 CommandDataIB =
          [1660214092.609326][14671:14676] CHIP:DMG:                 {
          [1660214092.609338][14671:14676] CHIP:DMG:                         CommandPathIB =
          [1660214092.609352][14671:14676] CHIP:DMG:                         {
          [1660214092.609367][14671:14676] CHIP:DMG:                                 EndpointId = 0x0,
          [1660214092.609383][14671:14676] CHIP:DMG:                                 ClusterId = 0x3e,
          [1660214092.609396][14671:14676] CHIP:DMG:                                 CommandId = 0x2,
          [1660214092.609410][14671:14676] CHIP:DMG:                         },
          [1660214092.609426][14671:14676] CHIP:DMG:
          [1660214092.609437][14671:14676] CHIP:DMG:                         CommandFields =
          [1660214092.609452][14671:14676] CHIP:DMG:                         {
          [1660214092.609467][14671:14676] CHIP:DMG:                                 0x0 = 2,
          [1660214092.609481][14671:14676] CHIP:DMG:                         },
          [1660214092.609493][14671:14676] CHIP:DMG:                 },
          [1660214092.609511][14671:14676] CHIP:DMG:
          [1660214092.609522][14671:14676] CHIP:DMG:         ],
          [1660214092.609541][14671:14676] CHIP:DMG:
          [1660214092.609551][14671:14676] CHIP:DMG:         InteractionModelRevision = 1
          [1660214092.609563][14671:14676] CHIP:DMG: },
          [1660214092.609576][14671:14676] CHIP:DMG:
          [1660214092.609674][14671:14676] CHIP:DMG: ICR moving to [CommandSen]
          [1660214092.609707][14671:14676] CHIP:EM: Sending Standalone Ack for MessageCounter:33263154 on exchange 56685i
          [1660214092.609876][14671:14676] CHIP:IN: Prepared unauthenticated message 0x7f5ae77fd000 to 0x0000000000000000 (0)  of type 0x10 and protocolId (0, 0) on exchange 56685i with MessageCounter:66323624.
          [1660214092.609904][14671:14676] CHIP:IN: Sending unauthenticated msg 0x7f5ae77fd000 with MessageCounter:66323624 to 0x0000000000000000 at monotonic time: 00000000012052C1 msec
          [1660214092.610138][14671:14676] CHIP:DMG: >> to UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540 | 66323624 | [Secure Channel  (0) / Standalone Ack (0x10) / Session = 0 / Exchange = 56685]
          [1660214092.610167][14671:14676] CHIP:DMG: Header Flags =
          [1660214092.610177][14671:14676] CHIP:DMG: {
          [1660214092.610198][14671:14676] CHIP:DMG:     Message (0x04) =
          [1660214092.610208][14671:14676] CHIP:DMG:     {
          [1660214092.610222][14671:14676] CHIP:DMG:         SourceNodeId = 86B22B3066A1B459
          [1660214092.610234][14671:14676] CHIP:DMG:     }
          [1660214092.610255][14671:14676] CHIP:DMG:     Exchange (0x03) =
          [1660214092.610265][14671:14676] CHIP:DMG:     {
          [1660214092.610276][14671:14676] CHIP:DMG:         Initiator = true
          [1660214092.610290][14671:14676] CHIP:DMG:         AckMsg = 33263154
          [1660214092.610301][14671:14676] CHIP:DMG:     }
          [1660214092.610333][14671:14676] CHIP:DMG: }
          [1660214092.610355][14671:14676] CHIP:DMG:
          [1660214092.610379][14671:14676] CHIP:DMG: Encrypted Payload (26 bytes) =
          [1660214092.610394][14671:14676] CHIP:DMG: {
          [1660214092.610407][14671:14676] CHIP:DMG:     data = 04000000a804f40359b4a166302bb28603106ddd0000328efb01
          [1660214092.610423][14671:14676] CHIP:DMG:     buffer_ptr = 140028080604320
          [1660214092.610436][14671:14676] CHIP:DMG: }
          [1660214092.610450][14671:14676] CHIP:DMG:
          [1660214092.610521][14671:14676] CHIP:EM: Flushed pending ack for MessageCounter:33263154 on exchange 56685i
          [1660214092.617596][14671:14676] CHIP:DMG: << from UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540 | 219026739 | [Interaction Model  (1) / InvokeCommandResponse (0x09) / Session = 20731 / Exchange = 56686]
          [1660214092.617620][14671:14676] CHIP:DMG: Header Flags =
          [1660214092.617626][14671:14676] CHIP:DMG: {
          [1660214092.617637][14671:14676] CHIP:DMG:     Exchange (0x06) =
          [1660214092.617645][14671:14676] CHIP:DMG:     {
          [1660214092.617652][14671:14676] CHIP:DMG:         AckMsg = 21510045
          [1660214092.617657][14671:14676] CHIP:DMG:         NeedsAck = true
          [1660214092.617663][14671:14676] CHIP:DMG:     }
          [1660214092.617672][14671:14676] CHIP:DMG: }
          [1660214092.617678][14671:14676] CHIP:DMG:
          [1660214092.617686][14671:14676] CHIP:DMG: Encrypted Payload (531 bytes) =
          [1660214092.617692][14671:14676] CHIP:DMG: {
          [1660214092.617698][14671:14676] CHIP:DMG:     data = 00fb500033150e0d1ee5b6538768098d8ef37ec0e09fbeb30c158a93ffdd1ca81041b2baa637a7e200110cd7cf06f5ffa40a8e4529a8a38cdd47e50715aaa344941b0c760264022f21b37432352c00f457fade1bdee072261fcb5cde3fcd70e2e71d5a8ec9fa038e670a404d8641162b8fb34919e9d6e431a1c895a6e01cbd3125c9322ff741caf28b79f69f103ec0e9c5b1b74c43fde4d4ac21f15e48b2090916feca5662682ae9eb1f8d18011d618492d57139ad99e94f99e3a755d2a8e46ba7133a0f1d2fe20b7e5cf2906542c4685866c7ccbd8e2e15e84e3dc653057623dac7d65d7bb785466bab3e816e06f378d0165aadf7ef38d23afdb42731191683a995fa1223bcccf27c0314aced823b2a00ff0da758b1f910631fab7098f013a7fed82136cf072c1150e4f351541f194f0aa2987bc0d1d7688d7955d94560b34bbce0b407d340b0ebaef6f5e9343af6cb8d030fb8040a9a6b7cd9465974a692072d05597b98ec66c42cf4edd86d841048cf5f045f90fb74d4066f2f23e038530e18dd4a0f3c1d86800077661bbd5ff28ff873bb87c6a2545871c6eeca5426466cecff984822b8dd3b7822fb109ec80c9ca3c9bb70b20056f2f4f8b25d1ec3bd8c17a86403bdd42d8cf2c2f66ca8983812361f34770992a7724fc33c5297169a2dcc99b92f290d2894bad6c612684f29c71eb0190b5d8d31dee66650da1942a798de69389d9c5bcfbf0e56a08c820092a53d4f34
          [1660214092.617712][14671:14676] CHIP:DMG:     buffer_ptr = 140028080581472
          [1660214092.617717][14671:14676] CHIP:DMG: }
          [1660214092.617722][14671:14676] CHIP:DMG:
          [1660214092.617768][14671:14676] CHIP:DMG: DAC/PAI (463) =
          [1660214092.617789][14671:14676] CHIP:DMG: {
          -----BEGIN CERTIFICATE-----
          MIIByzCCAXGgAwIBAgIIVq2CIq2UW2QwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP
          TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMTAgFw0yMjAyMDUw
          MDAwMDBaGA85OTk5MTIzMTIzNTk1OVowPTElMCMGA1UEAwwcTWF0dGVyIERldiBQ
          QUkgMHhGRkYxIG5vIFBJRDEUMBIGCisGAQQBgqJ8AgEMBEZGRjEwWTATBgcqhkjO
          PQIBBggqhkjOPQMBBwNCAARBmpMVwhc+DIyHbQPM/JRIUmR/f+xeUIL0BZko7KiU
          xZQVEwmsYx5MsDOSr2hLC6+35ls7gWLC9Sv5MbjneqqCo2YwZDASBgNVHRMBAf8E
          CDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUY1QOR/ZLHDjROISk
          YtFsGV2P+zwwHwYDVR0jBBgwFoAUav0idx9RH+y/FkGXZxDc3DGhcX4wCgYIKoZI
          zj0EAwIDSAAwRQIhALLvJ/Sa6bUPuR7qyUxNC9u415KcbLiPrOUpNo0SBUwMAiBl
          Xckrhr2QmIKmxiF3uCXX0F7b58Ivn+pxIg5+pwP4kQ==
          -----END CERTIFICATE-----
          [1660214092.617801][14671:14676] CHIP:DMG: }
          [1660214092.617807][14671:14676] CHIP:DMG:
          [1660214092.617815][14671:14676] CHIP:DMG:
          [1660214092.617827][14671:14676] CHIP:DMG: Additional Fields =
          [1660214092.617832][14671:14676] CHIP:DMG: {
          [1660214092.617839][14671:14676] CHIP:DMG:     peer_address = UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540
          [1660214092.617845][14671:14676] CHIP:DMG: }
          [1660214092.617851][14671:14676] CHIP:DMG:
          [1660214092.617861][14671:14676] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:219026739 on exchange 56686i
          [1660214092.617870][14671:14676] CHIP:EM: Found matching exchange: 56686i, Delegate: 0x7f5ad4003a48
          [1660214092.617885][14671:14676] CHIP:EM: Rxd Ack; Removing MessageCounter:21510045 from Retrans Table on exchange 56686i
          [1660214092.617891][14671:14676] CHIP:EM: Removed CHIP MessageCounter:21510045 from RetransTable on exchange 56686i
          [1660214092.617904][14671:14676] CHIP:DMG: ICR moving to [ResponseRe]
      disabled: true

    - label:
          "TH1 sends CertificateChainRequest Command to DUT for the DAC and
          saves the certififate as 'DACCert'"
      PICS: OPCREDS.S.C02.Rsp && OPCREDS.S.C03.Tx
      verification: |
          ./chip-tool operationalcredentials certificate-chain-request 1 1 0

          Verify the CertificateChainResponse in TH Log

          [1660218221.819087][17048:17053] CHIP:DMG: InvokeRequestMessage =
          [1660218221.819106][17048:17053] CHIP:DMG: {
          [1660218221.819126][17048:17053] CHIP:DMG:         suppressResponse = false,
          [1660218221.819147][17048:17053] CHIP:DMG:         timedRequest = false,
          [1660218221.819164][17048:17053] CHIP:DMG:         InvokeRequests =
          [1660218221.819194][17048:17053] CHIP:DMG:         [
          [1660218221.819210][17048:17053] CHIP:DMG:                 CommandDataIB =
          [1660218221.819233][17048:17053] CHIP:DMG:                 {
          [1660218221.819251][17048:17053] CHIP:DMG:                         CommandPathIB =
          [1660218221.819274][17048:17053] CHIP:DMG:                         {
          [1660218221.819296][17048:17053] CHIP:DMG:                                 EndpointId = 0x0,
          [1660218221.819319][17048:17053] CHIP:DMG:                                 ClusterId = 0x3e,
          [1660218221.819341][17048:17053] CHIP:DMG:                                 CommandId = 0x2,
          [1660218221.819361][17048:17053] CHIP:DMG:                         },
          [1660218221.819386][17048:17053] CHIP:DMG:
          [1660218221.819403][17048:17053] CHIP:DMG:                         CommandFields =
          [1660218221.819425][17048:17053] CHIP:DMG:                         {
          [1660218221.819448][17048:17053] CHIP:DMG:                                 0x0 = 1,
          [1660218221.819470][17048:17053] CHIP:DMG:                         },
          [1660218221.819488][17048:17053] CHIP:DMG:                 },
          [1660218221.819515][17048:17053] CHIP:DMG:
          [1660218221.819530][17048:17053] CHIP:DMG:         ],
          [1660218221.819559][17048:17053] CHIP:DMG:
          [1660218221.819575][17048:17053] CHIP:DMG:         InteractionModelRevision = 1
          [1660218221.819592][17048:17053] CHIP:DMG: },
          [1660218221.819611][17048:17053] CHIP:DMG:
          [1660218221.819755][17048:17053] CHIP:DMG: ICR moving to [CommandSen]
          [1660218221.819807][17048:17053] CHIP:EM: Sending Standalone Ack for MessageCounter:33263156 on exchange 41890i
          [1660218221.820060][17048:17053] CHIP:IN: Prepared unauthenticated message 0x7f950d02b000 to 0x0000000000000000 (0)  of type 0x10 and protocolId (0, 0) on exchange 41890i with MessageCounter:146063148.
          [1660218221.820102][17048:17053] CHIP:IN: Sending unauthenticated msg 0x7f950d02b000 with MessageCounter:146063148 to 0x0000000000000000 at monotonic time: 00000000015F547B msec
          [1660218221.820457][17048:17053] CHIP:DMG: >> to UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540 | 146063148 | [Secure Channel  (0) / Standalone Ack (0x10) / Session = 0 / Exchange = 41890]
          [1660218221.820501][17048:17053] CHIP:DMG: Header Flags =
          [1660218221.820519][17048:17053] CHIP:DMG: {
          [1660218221.820578][17048:17053] CHIP:DMG:     Message (0x04) =
          [1660218221.820596][17048:17053] CHIP:DMG:     {
          [1660218221.820622][17048:17053] CHIP:DMG:         SourceNodeId = EB2A0D2FCD128BCD
          [1660218221.820642][17048:17053] CHIP:DMG:     }
          [1660218221.820677][17048:17053] CHIP:DMG:     Exchange (0x03) =
          [1660218221.820692][17048:17053] CHIP:DMG:     {
          [1660218221.820709][17048:17053] CHIP:DMG:         Initiator = true
          [1660218221.820730][17048:17053] CHIP:DMG:         AckMsg = 33263156
          [1660218221.820747][17048:17053] CHIP:DMG:     }
          [1660218221.820778][17048:17053] CHIP:DMG: }
          [1660218221.820792][17048:17053] CHIP:DMG:
          [1660218221.820819][17048:17053] CHIP:DMG: Encrypted Payload (26 bytes) =
          [1660218221.820834][17048:17053] CHIP:DMG: {
          [1660218221.820853][17048:17053] CHIP:DMG:     data = 040000002cbfb408cd8b12cd2f0d2aeb0310a2a30000348efb01
          [1660218221.820871][17048:17053] CHIP:DMG:     buffer_ptr = 140277792687280
          [1660218221.820888][17048:17053] CHIP:DMG: }
          [1660218221.820906][17048:17053] CHIP:DMG:
          [1660218221.820997][17048:17053] CHIP:EM: Flushed pending ack for MessageCounter:33263156 on exchange 41890i
          [1660218221.826505][17048:17053] CHIP:DMG: << from UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540 | 217571241 | [Interaction Model  (1) / InvokeCommandResponse (0x09) / Session = 16041 / Exchange = 41891]
          [1660218221.826559][17048:17053] CHIP:DMG: Header Flags =
          [1660218221.826581][17048:17053] CHIP:DMG: {
          [1660218221.826620][17048:17053] CHIP:DMG:     Exchange (0x06) =
          [1660218221.826636][17048:17053] CHIP:DMG:     {
          [1660218221.826658][17048:17053] CHIP:DMG:         AckMsg = 228316047
          [1660218221.826677][17048:17053] CHIP:DMG:         NeedsAck = true
          [1660218221.826695][17048:17053] CHIP:DMG:     }
          [1660218221.826723][17048:17053] CHIP:DMG: }
          [1660218221.826736][17048:17053] CHIP:DMG:
          [1660218221.826764][17048:17053] CHIP:DMG: Encrypted Payload (559 bytes) =
          [1660218221.826778][17048:17053] CHIP:DMG: {
          [1660218221.826796][17048:17053] CHIP:DMG:     data = 00a93e00a9dff70c44f908196a2718a5b4cd8fb67b67d2223ade09fa1f23a5e9d6081ef9003a293b4f7ddf1e64767c15165a5544c4bc162a2eea22b085a5392580dec393bc15a705abc25360a7f05f99baf448b6c29e93defc8d01b00c11b268b2a197f88fc5984fe4c541fc523e2ecd2316b5dc1109c54408186296772f48d484047770f70a6af3e639833481b4663c7b65b902a850a8d55d3a86c73523a6853f47727582113480efece0e72f552a42ce49a26746e8d6b405ae87fadc7711a313f1865b90ac934486e05d2ed6868a5b5c4e13010eec98f917308c6fe5e9c6816c045f4640aea37804278a600cede11aee2bb591224edd0524bda56ee2d4d64c8a29c664edb006f4f42855f3868f272e94d8648d2431c0e95f6a55802c18d5938497b6b5c5aa37e37597a6782ca55a2948ceededd45e63537f4f1985f45653dbb118a0e1108eca228973b5c8fb48a1afeb649c46aec6259a649f0795c677ca492452c9fcb07969b6f851421252d30d6e160a350feb8baee6ccea79f54e0ebfae94c99eafa466964671b1fe3aa8585c83c28d9484444ba7d5a8a8e3178aedea00d292a53e3f0939b15bb7bee982e346410d5b064ec496409ba26e6a3b2182cff7b1955ba8f980d99590dfa0f2b690d1f1e5d8d178b1a64893dfcd242949ade66269336bc6c0440e9e4a120af59bfbbaabee32871ec1208915f63f91bdb1305045afeface4c7fc39e8eae7db8923b95aa01d4fee30d525664297305e569a3bfca01a767d47f6fdc0eb1b7706bc4547b1
          [1660218221.826837][17048:17053] CHIP:DMG:     buffer_ptr = 140277792657648
          [1660218221.826854][17048:17053] CHIP:DMG: }
          [1660218221.826870][17048:17053] CHIP:DMG:
          [1660218221.826979][17048:17053] CHIP:DMG: DAC/PAI (491) =
          [1660218221.827025][17048:17053] CHIP:DMG: {
          -----BEGIN CERTIFICATE-----
          MIIB5zCCAY6gAwIBAgIIac3xDenlTtEwCgYIKoZIzj0EAwIwPTElMCMGA1UEAwwc
          TWF0dGVyIERldiBQQUkgMHhGRkYxIG5vIFBJRDEUMBIGCisGAQQBgqJ8AgEMBEZG
          RjEwIBcNMjIwMjA1MDAwMDAwWhgPOTk5OTEyMzEyMzU5NTlaMFMxJTAjBgNVBAMM
          HE1hdHRlciBEZXYgREFDIDB4RkZGMS8weDgwMDExFDASBgorBgEEAYKifAIBDARG
          RkYxMRQwEgYKKwYBBAGConwCAgwEODAwMTBZMBMGByqGSM49AgEGCCqGSM49AwEH
          A0IABEY6xpNCkQoOVYj8b/Vrtj5i7M7LFI99TrA+5VJgFBV2fRalxmP3k+SRIyYL
          gpenzX58/HsxaznZjpDSk3dzjoKjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/
          BAQDAgeAMB0GA1UdDgQWBBSI3eezADgpMs/3NMBGJIEPRBaKbzAfBgNVHSMEGDAW
          gBRjVA5H9kscONE4hKRi0WwZXY/7PDAKBggqhkjOPQQDAgNHADBEAiABJ6J7S0Rh
          DuL83E0reIVWNmC8D3bxchntagjfsrPBzQIga1ngr0Xz6yqFuRnTVzFSjGAoxBUj
          lUXhCOTlTnCXE1M=
          -----END CERTIFICATE-----
          [1660218221.827089][17048:17053] CHIP:DMG: }
          [1660218221.827105][17048:17053] CHIP:DMG:
          [1660218221.827125][17048:17053] CHIP:DMG:
          [1660218221.827158][17048:17053] CHIP:DMG: Additional Fields =
          [1660218221.827173][17048:17053] CHIP:DMG: {
          [1660218221.827194][17048:17053] CHIP:DMG:     peer_address = UDP:[fe80::e65f:1ff:fe0f:2753%enp0s31f6]:5540
          [1660218221.827211][17048:17053] CHIP:DMG: }
          [1660218221.827226][17048:17053] CHIP:DMG:
          [1660218221.827257][17048:17053] CHIP:EM: Received message of type 0x9 with protocolId (0, 1) and MessageCounter:217571241 on exchange 41891i
          [1660218221.827276][17048:17053] CHIP:EM: Found matching exchange: 41891i, Delegate: 0x7f94f8003a48
          [1660218221.827310][17048:17053] CHIP:EM: Rxd Ack; Removing MessageCounter:228316047 from Retrans Table on exchange 41891i
          [1660218221.827326][17048:17053] CHIP:EM: Removed CHIP MessageCounter:228316047 from RetransTable on exchange 41891i
          [1660218221.827357][17048:17053] CHIP:DMG: ICR moving to [ResponseRe]
      disabled: true

    - label: "TH1 Sends CSRRequest command with a random 32-byte nonce"
      PICS: OPCREDS.S.C04.Rsp
      verification: |
          To get SCR Nonce give below command 2 times
          echo hex:$(hexdump -vn32 -e'4/4 "%08X" ' /dev/urandom)

          ./chip-tool operationalcredentials csrrequest hex:A61BFCE6E2C6AAF48FDEC4BF9DCEF08EB65B976997D82BE5F359902982717603 1 0

          Verify the CSRResponse  in TH Log

          [1658223679.580697][6136:6141] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0005
          [1658223679.580761][6136:6141] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0005
          [1658223679.580823][6136:6141] CHIP:TOO:   CSRResponse: {
          [1658223679.580875][6136:6141] CHIP:TOO:     NOCSRElements: 153001CB3081C83070020100300E310C300A060355040A0C034353523059301306072A8648CE3D020106082A8648CE3D030107034200047DA16C714034D3B96716F64DC0E742D007233212025E305AF6CE56DFA057718E149E52B39584456C8F954A1596B64F8BBC02E501276B962D4AB2C0A607D983C9A000300A06082A8648CE3D040302034800304502206FB78A61A7B0F021C396FEC1CCD6802129AC3EE5EA2727ABCCB19DBAEA7DEE1A022100A5C81ADC5D8BFAA5DB84A1261D8BBCEA5C26B24D4405F0B978E19B17D8458C9E300220A61BFCE6E2C6AAF48FDEC4BF9DCEF08EB65B976997D82BE5F35990298271760318
          [1658223679.580915][6136:6141] CHIP:TOO:     attestationSignature: EB731B40B20501AF32C468AA522948F7848D3AEDFA24D9A879575B4A265886C97109EE0DE1ECEB969B1A7F98F127DB4C275292B986BF8DA56EF7B16DA8EC8ABE
          [1658223679.580943][6136:6141] CHIP:TOO:    }

          Verify attestation signature is an octstr type and has maximum length of 64

          Example:
          EB731B40B20501AF32C468AA522948F7848D3AEDFA24D9A879575B4A265886C97109EE0DE1ECEB969B1A7F98F127DB4C275292B986BF8DA56EF7B16DA8EC8ABE
      disabled: true

    - label: "TH1 validates the attestation response"
      verification: |

      disabled: true

    - label:
          "TH1 obtains or generates the NOC, the Root CA Certificate and ICAC
          using the CSR elements from step 8 and selects an IPK. The
          certificates shall have their subjects padded with additional data
          such that they are each the maximum certificate size of 400 bytes when
          encoded in the MatterCertificateEncoding. Save RCAC as
          Root_CA_Certificate_TH1 Save ICAC as Intermediate_Certificate_TH1 Save
          NOC as Node_Operational_Certificate_TH1 Save IPK as IPK_TH1 Extract
          the RCAC public key and save as Root_Public_Key_TH1"
      verification: |

      disabled: true

    - label:
          "TH1 obtains or generates Root Certificate with a different Root CA ID
          and the corresponding ICAC, NOC and IPK using the CSR elements from
          step 8 Save RCAC as Root_CA_Certificate_TH1_2 Save ICAC as
          Intermediate_Certificate_TH1_2 Save NOC as
          Node_Operational_Certificate_TH1_2 Save IPK as IPK_TH1_2"
      verification: |

      disabled: true

    - label:
          "TH1 generates an INVALID Root Certificate where the signature does
          not match the public key and saves it as Root_CA_Malformed"
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT to install
          Root_CA_Malformed"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT again with the
          RootCACertificate field set to Root_CA_Certificate_TH1"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT again with the
          RootCACertificate field set to Root_CA_Certificate_TH1_2"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 reads the TrustedRootCertificates list from DUT and saves as
          TrustedRootsList"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH1 appends Root_CA_Certificate_TH1_2 to TrustedRootsList and writes
          the TrustedRootCertificates attribute with that value"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_2 ICACValue as
          Intermediate_Certificate_TH1_2 IpkValue as IPK_TH1_2 CaseAdminSubject
          as the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1 ICACValue as
          Intermediate_Certificate_TH1 IpkValue as IPK_TH1 CaseAdminSubject is
          an invalid NodeID (not an operational Node ID or Case Authenticated
          Tag - ex. 0) AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1 ICACValue as
          Intermediate_Certificate_TH1 IpkValue as IPK_TH1 CaseAdminSubject as
          the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label: "TH1 saves the FabricIndex as FabricIndex_TH1 for future use"
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_1 ICACValue as
          Intermediate_Certificate_TH1_1 IpkValue as IPK_TH1_1 CaseAdminSubject
          as the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 reads the NOCs attribute from DUT using a non-fabric-filtered
          read and saves the list as NOClist"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH1 appends a second list item to 'NOClist' and writes that value to
          the NOCs attribute"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH1 reads the NOCs attribute from DUT using a non-fabric-filtered
          read"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH1 sends UpdateFabricLabel command with 'Label 1' as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 reads the Fabrics Attribute from DUT using a non-fabric-filtered
          read and gets the FabricDescriptorStruct for which the FabricIndex
          field equals FabricIndex_TH1"
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with ExpiryLengthSeconds
          field set to 0"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label: "TH1 reconnects to the DUT over PASE"
      verification: |

      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH1 reads the NOCs attribute from DUT using a non-fabric-filtered
          read"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH1 reads the Fabrics attribute from the DUT using a
          non-fabric-filtered read"
      PICS: OPCREDS.S.A0001
      verification: |

      disabled: true

    - label:
          "TH1 fully commissions DUT onto the fabric, using
          'Root_CA_Certificate_TH1' and the AddNOC parameters specified in step
          . This will update the value of FabricIndex_TH1 so that it references
          the fabric the DUT was just commissioned onto"
      verification: |

      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH1 reads the NOCs attribute from DUT using a non-fabric-filtered
          read"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH1 sends UpdateFabricLabel command with 'Label 1' as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 reads the Fabrics Attribute from DUT using a non-fabric-filtered
          read and gets the FabricDescriptorStruct for which the FabricIndex
          field equals FabricIndex_TH1"
      PICS: OPCREDS.S.A0001
      verification: |

      disabled: true

    - label: "TH1 reads the ACL attribute from the Access Control cluster"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label: "TH1 issues a KeySetRead command to the DUT for GroupKeySetID 0"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends an OpenCommissioningWindow command to the Administrator
          Commissioning cluster"
      verification: |

      disabled: true

    - label:
          "TH2 begins the process of commissionning the DUT. After receiving the
          CSRResponse TH2 obtains or generates a NOC, the Root CA Certificate,
          ICAC and IPK. The certificates shall have their subjects padded with
          additional data such that they are each the maximum certificate size
          of 400 bytes when encoded in the MatterCertificateEncoding. Save RCAC
          as Root_CA_Certificate_TH2 Save ICAC as Intermediate_Certificate_TH2
          Save NOC as Node_Operational_Certificate_TH2 Save IPK as IPK_TH2
          Extract the RCAC public key and save as Root_Public_Key_TH2"
      verification: |

      disabled: true

    - label:
          "TH2 completes the commissioning process using Root_CA_Certificate_TH2
          when performing the AddTrustedRootCertificate command and sending
          AddNOC with the following parameters: NOCValue as
          Node_Operational_Certificate_TH2 ICACValue as
          Intermediate_Certificate_TH2 IpkValue as IPK_TH2 CaseAdminSubject as
          CAT_TH2 AdminVendorId as the Vendor ID of TH2"
      verification: |
          Not verifiable
      disabled: true

    - label: "TH2 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH2 reads the NOCs attribute from DUT using a non-fabric-filtered
          read"
      PICS: OPCREDS.S.A0000
      verification: |

      disabled: true

    - label:
          "TH2 sends UpdateFabricLabel command with 'Label 2' as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |

      disabled: true

    - label:
          "TH2 sends UpdateFabricLabel command with 'Label 1' as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |

      disabled: true

    - label: "Read the Fabrics List from DUT using a non-fabric-filtered read"
      PICS: OPCREDS.S.A0001
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with the ExpiryLengthSeconds
          field set to 900"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1_2"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_2 ICACValue as
          Intermediate_Certificate_TH1_2 IpkValue as IPK_TH1_2 CaseAdminSubject
          as the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label: "TH1 Sends CSRRequest command with a random 32-byte nonce"
      PICS: OPCREDS.S.C04.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_2 ICACValue as
          Intermediate_Certificate_TH1_2 IpkValue as IPK_TH1_2 CaseAdminSubject
          as the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 obtains or generates a NOC and ICAC using the CSR elements from
          step 55 with a different NodeID, but the same Root CA Certificate and
          fabric ID as step 10. Save as
          Node_Operational_Certificates_TH1_fabric_conflict and
          Intermediate_Certificate_TH1_fabric_conflict"
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_fabric_conflict ICACValue
          as Intermediate_Certificate_TH1_fabric_conflict CaseAdminSubject as
          the NodeID of TH1 AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with ExpiryLengthSeconds set
          to 0"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with the ExpiryLengthSeconds
          field set to 900"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label:
          "TH1 Sends CSRRequest command with a random 32-byte nonce and the
          IsForUpdateNOC field set to true"
      PICS: OPCREDS.S.C04.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 obtains or generates a NOC, Root CA Certificate, ICAC using the
          CSR elements from the previous step Save RCAC as
          Root_CA_Certificate_TH1_3 Save ICAC as Intermediate_Certificate_TH1_3
          Save NOC as Node_Operational_Certificate_TH1_3"
      verification: |

      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1_3"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends the AddNOC Command to DUT with the following fields:
          NOCValue as Node_Operational_Certificate_TH1_3 ICACValue as
          Intermediate_Certificate_TH1_3 CaseAdminSubject as the NodeID of TH1
          AdminVendorId as the Vendor ID of TH1"
      PICS: OPCREDS.S.C06.Rsp
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with ExpiryLengthSeconds set
          to 0"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label:
          "TH1 sends ArmFailSafe command to the DUT with the ExpiryLengthSeconds
          field set to 900"
      PICS: CGEN.S.C00.Rsp && CGEN.S.C01.Tx
      verification: |

      disabled: true

    - label:
          "TH2 sends RemoveFabric command with Fabric Index as FabricIndexTH2 +
          5 (Invalid Fabric Index) to DUT"
      PICS: OPCREDS.S.C0a.Rsp
      verification: |

      disabled: true

    - label:
          "TH2 reads the Fabrics List from DUT using a non-fabric-filtered read"
      PICS: OPCREDS.S.A0001
      verification: |

      disabled: true

    - label:
          "TH2 sends RemoveFabric command with Fabric Index as FabricIndex_TH1
          (Valid Fabric Index) to DUT"
      PICS: OPCREDS.S.C0a.Rsp
      verification: |

      disabled: true

    - label:
          "TH2 reads the Fabrics List from DUT using a non-fabric-filtetered
          read"
      PICS: OPCREDS.S.A0001
      verification: |

      disabled: true

    - label: "TH2 sends a CommissioningComplete command to the DUT"
      verification: |

      disabled: true

    - label:
          "TH2 sends an OpenCommissioningWindow command to the Administrator
          Commissioning cluster"
      verification: |

      disabled: true

    - label:
          "TH1 fully commissions the DUT using subject-padded, 400 byte
          certificates"
      verification: |

      disabled: true

    - label:
          "Repeat steps 73 and 74 to fill the fabric table using the remaining
          test harnesses (TH3 through TH NumSupportedFabrics). Each test harness
          should commission the DUT using subject-padded, 400-byte certificates"
      verification: |

      disabled: true

    - label: "TH1 reads CommissionedFabrics attribute"
      PICS: OPCREDS.S.A0003
      verification: |

      disabled: true

    - label: "Repeat steps 73 and 74 with TH NumSupportedFabrics + 1"
      verification: |

      disabled: true

    - label:
          "TH1 reads the SubjectsPerAccessControlEntry attribute from the Access
          Control Cluster and saves the value as maxSubjects"
      verification: |

      disabled: true

    - label:
          "TH1 reads the TargetsPerAccessControlEntry attribute from the Access
          Control Cluster and saves the value as maxTargets"
      verification: |

      disabled: true

    - label:
          "TH1 reads the AccessControlEntriesPerFabric attribute from the Access
          Control Cluster and saves the value as maxEntries"
      verification: |

      disabled: true

    - label:
          "TH1 creates a valid list of AccessControlEntryStructs with maxEntries
          entries. Each AccessControlEntryStruct specifies maxSubjects subjects
          and maxTargets targets. TH1 writes this list to the AccessControl
          cluster ACL attribute"
      verification: |

      disabled: true

    - label:
          "Repeat step 81 for TH2 through TH NumSupportedFabrics to fill the ACL
          table"
      verification: |

      disabled: true
