4.1.11 Server License Error PDU - Valid Client

The following is an annotated dump of the License Error (Valid Client) PDU (section 2.2.1.12).

 00000000 03 00 00 2a 02 f0 80 68 00 01 03 eb 70 1c 88 02 ...*...h....p...
 00000010 02 03 8d 43 9a ab d5 2a 31 39 62 4d c1 ec 0d 99 ...C...*19bM....
 00000020 88 e6 da ab 2c 02 72 4d 49 90                   ....,.rMI.
  
 03 00 00 2a -> TPKT Header (length = 42 bytes)
 02 f0 80 -> X.224 Data TPDU
  
 PER encoded (ALIGNED variant of BASIC-PER) SendDataIndication PDU:
 68 00 01 03 eb 70 1c 
  
  
 0x68:
 0 - --\
 1 -   |
 1 -   | CHOICE: From DomainMCSPDU select sendDataIndication (26) of 
 0 -   | type SendDataIndication
 1 -   |
 0 - --/
 0 - padding
 0 - padding
  
 0x00:
 0 - --\
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
       | SendDataIndication::initiator = 0x01 + 1001 = 1002 (0x03ea)
 0x01: |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 1 - --/
  
 0x03:
 0 - --\
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 0 -   |
 1 -   |
 1 -   |
       | SendDataIndication::channelId = 0x03eb = 1003
 0xeb: |
 1 -   |
 1 -   |
 1 -   |
 0 -   |
 1 -   |
 0 -   |
 1 -   |
 1 - --/
  
 0x70:
 0 - --\ SendDataIndication::dataPriority = 0x01 = high
 1 - --/
 1 - --\ SendDataIndication::segmentation = 0x03 = (0x02 | 0x01) = (begin | end)
 1 - --/
 0 - padding
 0 - padding
 0 - padding
 0 - padding
  
 0x1c:
 0 - --\ 
 0 -   |
 0 -   |
 1 -   | SendDataIndication::userData length = 28 bytes
 1 -   |
 1 -   |
 0 -   |
 0 - --/
  
 88 02 -> TS_SECURITY_HEADER::flags = 0x0288
 0x0288
 = 0x0008 | 0x0080 | 0x0200
 = SEC_ENCRYPT | SEC_LICENSE_PKT | SEC_LICENSE_ENCRYPT_CS
  
 02 03 -> TS_SECURITY_HEADER::flagsHi - ignored as flags field does not contain SEC_FLAGSHI_VALID (0x8000)
 8d 43 9a ab d5 2a 31 39 -> TS_SECURITY_HEADER1::dataSignature
  
 62 4d c1 ec 0d 99 88 e6 da ab 2c 02 72 4d 49 90 -> Encrypted Licensing Packet
  
 Decrypted Licensing Packet:
 00000000 ff 03 10 00 07 00 00 00 02 00 00 00 04 00 00 00 ................
  
 ff -> LICENSE_PREAMBLE::bMsgType = ERROR_ALERT
 03 -> LICENSE_PREAMBLE::flags = 3 (RDP 5.0, 5.1, 5.2, 6.0, 6.1, 7.0, 7.1, 8.0, 8.1, 10.0, 10.1, 10.2, 10.3, 10.4, and 10.5)
 10 00 -> LICENSE_PREAMBLE::wMsgSize = 0x10 = 16 bytes
  
 07 00 00 00 -> LICENSE_ERROR_MESSAGE::dwErrorCode = STATUS_VALID_CLIENT
 02 00 00 00 -> LICENSE_ERROR_MESSAGE::dwStateTransition = ST_NO_TRANSITION
 04 00 -> LICENSE_ERROR_MESSAGE::bbErrorInfo::wBlobType = BB_ERROR_BLOB
 00 00 -> LICENSE_ERROR_MESSAGE::bbErrorInfo::wBlobLen = 0