Module complex

Source
Expand description

This module contains the complex handshake for the RTMP protocol.

Unfortunately there doesn’t seem to be a good spec sheet for this. This implementation is based on this Chinese forum post because it’s the best we could find: https://blog.csdn.net/win_lin/article/details/13006803

Modules§

digest
Digest processing for complex handshakes.
error
Complex handshake error type.

Constants§

RTMP_SERVER_VERSION
This is some magic number, I do not know why its 0x04050001, however, the reference implementation uses this value.
RTMP_DIGEST_LENGTH
This is the length of the digest. There is a lot of random data before and after the digest, however, the digest is always 32 bytes.
RTMP_SERVER_KEY_FIRST_HALF
This is the first half of the server key.
RTMP_CLIENT_KEY_FIRST_HALF
This is the first half of the client key.
RTMP_SERVER_KEY
This is the second half of the server/client key. Used for the complex handshake.

Enums§

SchemaVersion
The schema version.

Structs§

ComplexHandshakeServer
Complex Handshake Server.