diff options
Diffstat (limited to 'providers/implementations/include/prov')
-rw-r--r-- | providers/implementations/include/prov/implementations.h | 1 | ||||
-rw-r--r-- | providers/implementations/include/prov/macsignature.h | 26 |
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); |