# 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"
    endpoint: 0

tests:
    - 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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

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

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 reads the TrustedRootCertificates list from DUT and saves as
          TrustedRootsList"
      PICS: OPCREDS.S.A0004
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 saves the FabricIndex as FabricIndex_TH1 for future use"
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

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

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

    - label:
          "TH1 sends UpdateFabricLabel command with Label 1 as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reconnects to the DUT over PASE"
      verification: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |
          verification step to be updated.
      disabled: true

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

    - label:
          "TH1 reads the Fabrics attribute from the DUT using a
          non-fabric-filtered read"
      PICS: OPCREDS.S.A0001
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |
          verification step to be updated.
      disabled: true

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

    - label:
          "TH1 sends UpdateFabricLabel command with Label 1 as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads the ACL attribute from the Access Control cluster"
      PICS: OPCREDS.S.C06.Rsp
      verification: |
          verification step to be updated.
      disabled: true

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

    - label:
          "TH1 sends an OpenCommissioningWindow command to the Administrator
          Commissioning cluster"
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

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

    - label:
          "TH2 sends UpdateFabricLabel command with Label 2 as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH2 sends UpdateFabricLabel command with Label 1 as Label field to
          DUT"
      PICS: OPCREDS.S.C09.Rsp
      verification: |
          verification step to be updated.
      disabled: true

    - label: "Read the Fabrics List from DUT using a non-fabric-filtered read"
      PICS: OPCREDS.S.A0001
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1_2"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 Sends CSRRequest command with a random 32-byte nonce"
      PICS: OPCREDS.S.C04.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads the TrustedRootCertificates list from DUT"
      PICS: OPCREDS.S.A0004
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 sends AddTrustedRootCertificate command to DUT with
          RootCACertificate set to Root_CA_Certificate_TH1_3"
      PICS: OPCREDS.S.C0b.Rsp
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

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

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

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

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

    - label: "TH2 sends a CommissioningComplete command to the DUT"
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH2 sends an OpenCommissioningWindow command to the Administrator
          Commissioning cluster"
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 fully commissions the DUT using subject-padded, 400 byte
          certificates"
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label: "TH1 reads CommissionedFabrics attribute"
      PICS: OPCREDS.S.A0003
      verification: |
          verification step to be updated.
      disabled: true

    - label: "Repeat steps 73 and 74 with TH NumSupportedFabrics + 1"
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 reads the SubjectsPerAccessControlEntry attribute from the Access
          Control Cluster and saves the value as maxSubjects"
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 reads the TargetsPerAccessControlEntry attribute from the Access
          Control Cluster and saves the value as maxTargets"
      verification: |
          verification step to be updated.
      disabled: true

    - label:
          "TH1 reads the AccessControlEntriesPerFabric attribute from the Access
          Control Cluster and saves the value as maxEntries"
      verification: |
          verification step to be updated.
      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: |
          verification step to be updated.
      disabled: true

    - label:
          "Repeat step 81 for TH2 through TH NumSupportedFabrics to fill the ACL
          table"
      verification: |
          verification step to be updated.
      disabled: true
