3.3.5.2 Process the request for Add Signature Value and Context

The protocol server MUST process this message as follows:

  • If an error occurs while processing this request, the protocol server MUST stop processing this request and MUST return an ErrorCode other than 1, as specified in section 2.2.2.2.2.1.

  • If the State entry of the EventLog in the client message, as specified in section 2.2.1.2.1.1, is different from the PageStateData sent in the response for Retrieve Form File Hash, as specified in section 2.2.2.2.1, the protocol server MUST stop processing this request and SHOULD<1> return an ErrorCode other than 1.

  • The protocol server MUST verify that the value of DataDefinition sent by the protocol client message, as specified in section 2.2.1.2.2, is identical to the value received in the request for Retrieve Form File Hash, as specified in section 2.2.1.2.1. For any other values of the DataDefinition property, the protocol server SHOULD<2> return an ErrorCode other than 1, as specified in section 2.2.2.2.2.1.

  • The protocol server MUST update the SignatureValue element specified by [XMLDSig] section 4.2 and the X509Data element specified by [XMLDSig] section 4.4.4.

  • If the operations specified in this section are successful, the protocol server MUST move the state of the form file to Signed Complete State, as specified in section 3.1.1.

  • After moving the state of the form file to Signed Complete State, the protocol server MUST move the state of the form file to Initial State.

  • The protocol server MUST send a response, as specified in section 2.2.2.2.2, containing the following:

    • ErrorCode, as specified in section 2.2.2.2.2.1.

    • ResponseData as an empty string.

    • PageStateData as a set of properties of protocol server implementation-specific data, as specified in section 2.2.2.2.1.3.