2.2.2.4 Crypt Key PDU (SNDCRYPT)

The Crypt Key PDU is a PDU used to send a 32-byte key from the server to the client. The key is used to encrypt some audio data sent over UDP. This PDU MUST be sent using virtual channels.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Header

Reserved

Seed (32 bytes)

...

...

Header (4 bytes): A RDPSND PDU Header (section 2.2.1). The msgType field of the RDPSND PDU Header MUST be set to SNDC_CRYPTKEY (0x0008).

Reserved (4 bytes): A 32-bit unsigned integer. This field is unused. The value is arbitrary and MUST be ignored on receipt.

Seed (32 bytes): A 32-byte symmetric key used for encryption and decryption of audio data sent over UDP. A random number SHOULD be used as the symmetric key. When a Wave Encrypt PDU is sent, the key MUST be used to encrypt the audio data. When a UDP Wave PDU is sent with a UDP Wave Last PDU, there is no encrypted audio data and the key MUST be used instead to generate a signature.