summaryrefslogtreecommitdiff
path: root/authAlgo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'authAlgo.cpp')
-rw-r--r--authAlgo.cpp30
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;
+}
+
+