diff options
Diffstat (limited to 'ffmpeg/libavformat/rtmpdh.h')
| -rw-r--r-- | ffmpeg/libavformat/rtmpdh.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/ffmpeg/libavformat/rtmpdh.h b/ffmpeg/libavformat/rtmpdh.h deleted file mode 100644 index cf262fc..0000000 --- a/ffmpeg/libavformat/rtmpdh.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * RTMP Diffie-Hellmann utilities - * Copyright (c) 2012 Samuel Pitoiset - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef AVFORMAT_RTMPDH_H -#define AVFORMAT_RTMPDH_H - -#include "avformat.h" -#include "config.h" - -#if CONFIG_NETTLE || CONFIG_GCRYPT -#if CONFIG_NETTLE -#include <gmp.h> -#include <nettle/bignum.h> - -typedef mpz_ptr FFBigNum; -#elif CONFIG_GCRYPT -#include <gcrypt.h> - -typedef gcry_mpi_t FFBigNum; -#endif - -typedef struct FF_DH { - FFBigNum p; - FFBigNum g; - FFBigNum pub_key; - FFBigNum priv_key; - long length; -} FF_DH; - -#elif CONFIG_OPENSSL -#include <openssl/bn.h> -#include <openssl/dh.h> - -typedef BIGNUM *FFBigNum; -typedef DH FF_DH; -#endif - -/** - * Initialize a Diffie-Hellmann context. - * - * @param key_len length of the key - * @return a new Diffie-Hellmann context on success, NULL otherwise - */ -FF_DH *ff_dh_init(int key_len); - -/** - * Free a Diffie-Hellmann context. - * - * @param dh a Diffie-Hellmann context to free - */ -void ff_dh_free(FF_DH *dh); - -/** - * Generate a public key. - * - * @param dh a Diffie-Hellmann context - * @return zero on success, negative value otherwise - */ -int ff_dh_generate_public_key(FF_DH *dh); - -/** - * Write the public key into the given buffer. - * - * @param dh a Diffie-Hellmann context, containing the public key to write - * @param pub_key the buffer where the public key is written - * @param pub_key_len the length of the buffer - * @return zero on success, negative value otherwise - */ -int ff_dh_write_public_key(FF_DH *dh, uint8_t *pub_key, int pub_key_len); - -/** - * Compute the shared secret key from the private FF_DH value and the - * other party's public value. - * - * @param dh a Diffie-Hellmann context, containing the private key - * @param pub_key the buffer containing the public key - * @param pub_key_len the length of the buffer - * @param secret_key the buffer where the secret key is written - * @return length of the shared secret key on success, negative value otherwise - */ -int ff_dh_compute_shared_secret_key(FF_DH *dh, const uint8_t *pub_key, - int pub_key_len, uint8_t *secret_key); - -#endif /* AVFORMAT_RTMPDH_H */ |
