Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 2.07 KB

5.SpdmSession.md

File metadata and controls

87 lines (62 loc) · 2.07 KB

5. Test Case for SPDM Session

Case 5.1

Description: IDE_KM responder shall return discard any QUERY/KEY_PROG in a second SPDM session.

TestSetup: Create Session-x:

  1. Requester -> QUERY {PortIndex=0x00}
  2. QUERY_RESP <- Responder
  3. Requester -> KEY_PROG {PortIndex in [0, MaxPortIndex], KeySet=0, RxTx in [Rx, Tx], SubStream in [PR, NPR, CPL], IFV=1}
  4. KP_ACK <- Responder

TestTeardown: None

Steps: Create Session-y:

  1. Requester -> QUERY
  2. IdeKmMessage <- Responder

Assertion 5.1.1: IdeKmMessage == NULL

  1. Requester -> KEY_PROG
  2. IdeKmMessage <- Responder

Assertion 5.1.2: IdeKmMessage == NULL

Case 5.2

Description: IDE_KM responder shall return valid response on QUERY/KEY_PROG in a second SPDM session, after first session is closed.

TestSetup: Create Session-x:

  1. Requester -> QUERY {PortIndex=0x00}
  2. QUERY_RESP <- Responder
  3. Requester -> KEY_PROG {PortIndex in [0, MaxPortIndex], KeySet=0, RxTx in [Rx, Tx], SubStream in [PR, NPR, CPL], IFV=1}
  4. KP_ACK <- Responder Terminate Session-x:

TestTeardown: None

Steps: Create Session-y:

  1. Requester -> QUERY
  2. IdeKmMessage <- Responder

Assertion 5.2.1: sizeof(IdeKmMessage) == sizeof(QUERY_RESP)

Assertion 5.2.2: IdeKmMessage.ObjectID == QUERY_RESP

Assertion 5.2.3: IdeKmMessage.PortIndex == QUERY.PortIndex

Assertion 5.2.4: IdeKmMessage.MaxPortIndex >= QUERY.PortIndex

Assertion 5.2.5: IdeKmMessage.DevFunc == PCI.DevFunc && IdeKmMessage.Bus == PCI.Bus && IdeKmMessage.Segment == PCI.Segment

  1. Requester -> KEY_PROG
  2. IdeKmMessage <- Responder

Assertion 5.2.6: sizeof(IdeKmMessage) == sizeof(KP_ACK)

Assertion 5.2.7: IdeKmMessage.ObjectID == KP_ACK

Assertion 5.2.8: IdeKmMessage.Status == Successful

Assertion 5.2.9: IdeKmMessage.PortIndex == KEY_PROG.PortIndex

Assertion 5.2.10: IdeKmMessage.StreamID == KEY_PROG.StreamID

Assertion 5.2.11: IdeKmMessage.KeySet == KEY_PROG.KeySet && IdeKmMessage.RxTx == KEY_PROG.RxTx && IdeKmMessage.SubStream == KEY_PROG.SubStream