3.3.5.4.6 Received SoH

If the currentState variable is set to WAIT_FOR_SOH_RESPONSE, the following steps MUST be applied in sequence:

  1. If the SoH TLV (section 2.2.8.2.2) value is declared as invalid, by the NAP component, then prepare an EAP TLV Extensions Method (section 2.2.8.1) packet with Result TLV (section 2.2.8.1.2) (the value field set to 2). Change currentState to FAILURE_TLV_SENT and proceed to step 4.

  2. If isFastReconnectAllowed is set to FALSE, prepare an EAP Request packet to start the inner EAP method negotiation as described in [RFC3748]. Compress the EAP Request packet as specified in section 3.1.5.6. Change currentState to PHASE2_EAP_INPROGRESS and proceed to step 4.

  3. If isFastReconnectAllowed is set to TRUE, prepare an EAP TLV Extensions Method packet with Result TLV (the value field set to 1), SoH Response TLV (section 2.2.8.1.3) (the value field is set to the message received from NAP), and Cryptobinding TLV (section 2.2.8.1.1) (the value field set to the computed value) if isCryptoSupported is set to TRUE. Change currentState to SUCCESS_TLV_SENT and proceed to step 4.<18>

  4. Encrypt the EAP TLV Extensions Method or EAP Request packet obtained in the preceding steps by passing it to the TLS layer using the EncryptMessage method.

  5. Prepare a PEAP packet by keeping the encrypted data returned by the EncryptMessage method as the Data field of the PEAP packet. Send the PEAP packet to the peer (see section 3.1.5.2.2).

If currentState is not set to WAIT_FOR_SOH_RESPONSE, the packet is ignored.