123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef PC_EXTERNAL_HMAC_H_
- #define PC_EXTERNAL_HMAC_H_
- #include <stdint.h>
- #include "third_party/libsrtp/crypto/include/auth.h"
- #include "third_party/libsrtp/crypto/include/crypto_types.h"
- #include "third_party/libsrtp/include/srtp.h"
- #define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1
- #define HMAC_KEY_LENGTH 20
- typedef struct {
- uint8_t key[HMAC_KEY_LENGTH];
- int key_length;
- } ExternalHmacContext;
- srtp_err_status_t external_hmac_alloc(srtp_auth_t** a,
- int key_len,
- int out_len);
- srtp_err_status_t external_hmac_dealloc(srtp_auth_t* a);
- srtp_err_status_t external_hmac_init(void* state,
- const uint8_t* key,
- int key_len);
- srtp_err_status_t external_hmac_start(void* state);
- srtp_err_status_t external_hmac_update(void* state,
- const uint8_t* message,
- int msg_octets);
- srtp_err_status_t external_hmac_compute(void* state,
- const uint8_t* message,
- int msg_octets,
- int tag_len,
- uint8_t* result);
- srtp_err_status_t external_crypto_init();
- #endif
|