diff options
author | Erwin Nindl <nine@wirdorange.org> | 2007-08-09 13:41:08 +0000 |
---|---|---|
committer | Erwin Nindl <nine@wirdorange.org> | 2007-08-09 13:41:08 +0000 |
commit | dce7b21c7ae5f97ce9f06fc00582e5bf3033c9c4 (patch) | |
tree | 2af3a1b0cce6d11f3ba6de6ac1d5413441542c28 /authAlgo.cpp | |
parent | request 390 (diff) |
* added key derivation functions
Diffstat (limited to 'authAlgo.cpp')
-rw-r--r-- | authAlgo.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/authAlgo.cpp b/authAlgo.cpp index 57c9ee6..206d335 100644 --- a/authAlgo.cpp +++ b/authAlgo.cpp @@ -30,7 +30,37 @@ #include "authAlgo.h" +extern "C" { +#include <srtp/crypto_kernel.h> +} + + auth_tag_t NullAuthAlgo::calc(const Buffer& buf) { return 0; } + + +// HMAC_SHA1 +auth_tag_t HmacAuthAlgo::calc(const Buffer& buf) +{ + extern auth_type_t hmac; + err_status_t status = err_status_ok; + auth_t *auth = NULL; + + uint8_t key[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13 + }; + + // auth_type_alloc(auth_type, auth, key_len, out_len) + status = auth_type_alloc(&hmac, &auth, 94, 4); + status = auth_init(auth, key); + + status = auth_dealloc(auth); + + return 0; +} + + |