summaryrefslogtreecommitdiff
path: root/providers/implementations/include/prov
diff options
context:
space:
mode:
Diffstat (limited to 'providers/implementations/include/prov')
-rw-r--r--providers/implementations/include/prov/implementations.h1
-rw-r--r--providers/implementations/include/prov/macsignature.h26
2 files changed, 27 insertions, 0 deletions
diff --git a/providers/implementations/include/prov/implementations.h b/providers/implementations/include/prov/implementations.h
index f07a7b00f0..035196b317 100644
--- a/providers/implementations/include/prov/implementations.h
+++ b/providers/implementations/include/prov/implementations.h
@@ -278,6 +278,7 @@ extern const OSSL_DISPATCH ed25519_keymgmt_functions[];
extern const OSSL_DISPATCH ed448_keymgmt_functions[];
extern const OSSL_DISPATCH ec_keymgmt_functions[];
extern const OSSL_DISPATCH kdf_keymgmt_functions[];
+extern const OSSL_DISPATCH mac_keymgmt_functions[];
/* Key Exchange */
extern const OSSL_DISPATCH dh_keyexch_functions[];
diff --git a/providers/implementations/include/prov/macsignature.h b/providers/implementations/include/prov/macsignature.h
new file mode 100644
index 0000000000..39a57416c8
--- /dev/null
+++ b/providers/implementations/include/prov/macsignature.h
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2020 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include <stdlib.h>
+#include <openssl/crypto.h>
+#include "internal/refcount.h"
+
+struct mac_key_st {
+ CRYPTO_RWLOCK *lock;
+ OPENSSL_CTX *libctx;
+ CRYPTO_REF_COUNT refcnt;
+ unsigned char *priv_key;
+ size_t priv_key_len;
+};
+
+typedef struct mac_key_st MAC_KEY;
+
+MAC_KEY *mac_key_new(OPENSSL_CTX *libctx);
+void mac_key_free(MAC_KEY *mackey);
+int mac_key_up_ref(MAC_KEY *mackey);