3.1.7.1.5.1 Handling Encryption Errors

If an error occurs while encrypting a message, the message MUST be deleted from the OutgoingMessageTable ADM element and MUST NOT be sent to the remote queue manager. If the UserMessage.UserHeader.Flags.JN field is set, the message MUST be logged locally by generating a Move Message event ([MS-MQDMPR] section 3.1.7.1.16) with the following arguments:

  • iMessagePos: The MessagePosition ([MS-MQDMPR] section 3.1.1.11) ADM element instance referenced by the MessagePosition ADM attribute of the OutgoingMessagePosition ADM element instance that was removed from the OutgoingMessageTable ADM element.

  • iTargetQueue: If a TransactionHeader ([MS-MQMQ] section 2.2.20.5) is present in the message, this argument is set to QueueManager.SystemTransactionalDeadletterQueue; otherwise, it is set to QueueManager.SystemDeadletterQueue.

An entry MUST be appended to the OutgoingQueueReference.ConnectionHistory array; the Status ADM attribute of the array entry MUST be set to CertificateValidationFailure; the ConnectionHistoryTime ADM attribute of the array entry MUST be set to the current time; the Error ADM attribute of the array entry MUST be set to an HRESULT value indicating the error; and the AddressList ADM attribute of the array entry MUST be set to the RemoteQMAddress ADM element.