|
FFmpeg
|
#include "libavutil/blowfish.h"#include "libavutil/intreadwrite.h"#include "libavutil/opt.h"#include "libavutil/rc4.h"#include "libavutil/xtea.h"#include "internal.h"#include "rtmp.h"#include "rtmpdh.h"#include "rtmpcrypt.h"#include "url.h"Go to the source code of this file.
Data Structures | |
| struct | RTMPEContext |
Macros | |
| #define | OFFSET(x) offsetof(RTMPEContext, x) |
| #define | DEC AV_OPT_FLAG_DECODING_PARAM |
Functions | |
| int | ff_rtmpe_gen_pub_key (URLContext *h, uint8_t *buf) |
| Initialize the Diffie-Hellmann context and generate the public key. More... | |
| int | ff_rtmpe_compute_secret_key (URLContext *h, const uint8_t *serverdata, const uint8_t *clientdata, int type) |
| Compute the shared secret key and initialize the RC4 encryption. More... | |
| static void | rtmpe8_sig (const uint8_t *in, uint8_t *out, int key_id) |
| static void | rtmpe9_sig (const uint8_t *in, uint8_t *out, int key_id) |
| void | ff_rtmpe_encrypt_sig (URLContext *h, uint8_t *sig, const uint8_t *digest, int type) |
| Encrypt the signature. More... | |
| int | ff_rtmpe_update_keystream (URLContext *h) |
| Update the keystream and set RC4 keys for encryption. More... | |
| static int | rtmpe_close (URLContext *h) |
| static int | rtmpe_open (URLContext *h, const char *uri, int flags) |
| static int | rtmpe_read (URLContext *h, uint8_t *buf, int size) |
| static int | rtmpe_write (URLContext *h, const uint8_t *buf, int size) |
Variables | |
| static const uint8_t | rtmpe8_keys [16][16] |
| static const uint8_t | rtmpe9_keys [16][24] |
| static const AVOption | ffrtmpcrypt_options [] |
| static const AVClass | ffrtmpcrypt_class |
| const URLProtocol | ff_ffrtmpcrypt_protocol |
RTMPE protocol
Definition in file rtmpcrypt.c.
| #define OFFSET | ( | x | ) | offsetof(RTMPEContext, x) |
Definition at line 313 of file rtmpcrypt.c.
| #define DEC AV_OPT_FLAG_DECODING_PARAM |
Definition at line 314 of file rtmpcrypt.c.
| int ff_rtmpe_gen_pub_key | ( | URLContext * | h, |
| uint8_t * | buf | ||
| ) |
Initialize the Diffie-Hellmann context and generate the public key.
| h | an URLContext |
| buf | handshake data (1536 bytes) |
Definition at line 122 of file rtmpcrypt.c.
Referenced by rtmp_handshake().
| int ff_rtmpe_compute_secret_key | ( | URLContext * | h, |
| const uint8_t * | serverdata, | ||
| const uint8_t * | clientdata, | ||
| int | type | ||
| ) |
Compute the shared secret key and initialize the RC4 encryption.
| h | an URLContext |
| serverdata | server data (1536 bytes) |
| clientdata | client data (1536 bytes) |
| type | the position of the server digest |
Definition at line 145 of file rtmpcrypt.c.
Referenced by rtmp_handshake().
|
static |
Definition at line 184 of file rtmpcrypt.c.
Referenced by ff_rtmpe_encrypt_sig().
|
static |
Definition at line 192 of file rtmpcrypt.c.
Referenced by ff_rtmpe_encrypt_sig().
| void ff_rtmpe_encrypt_sig | ( | URLContext * | h, |
| uint8_t * | signature, | ||
| const uint8_t * | digest, | ||
| int | type | ||
| ) |
Encrypt the signature.
| h | an URLContext |
| signature | the signature to encrypt |
| digest | the digest used for finding the encryption key |
| type | type of encryption (8 for XTEA, 9 for Blowfish) |
Definition at line 207 of file rtmpcrypt.c.
Referenced by rtmp_handshake().
| int ff_rtmpe_update_keystream | ( | URLContext * | h | ) |
Update the keystream and set RC4 keys for encryption.
| h | an URLContext |
Definition at line 223 of file rtmpcrypt.c.
Referenced by rtmp_handshake().
|
static |
Definition at line 238 of file rtmpcrypt.c.
Referenced by rtmpe_open().
|
static |
Definition at line 248 of file rtmpcrypt.c.
|
static |
Definition at line 277 of file rtmpcrypt.c.
|
static |
Definition at line 297 of file rtmpcrypt.c.
|
static |
Definition at line 52 of file rtmpcrypt.c.
Referenced by rtmpe8_sig().
|
static |
Definition at line 87 of file rtmpcrypt.c.
Referenced by rtmpe9_sig().
|
static |
Definition at line 316 of file rtmpcrypt.c.
|
static |
Definition at line 321 of file rtmpcrypt.c.
| const URLProtocol ff_ffrtmpcrypt_protocol |
Definition at line 328 of file rtmpcrypt.c.
1.8.17