Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crypto: hmac: add hmac driver framework
1) makes the public APIs in hmac-nettle/gcrypt/glib static, and rename them with "nettle/gcrypt/glib" prefix. 2) introduces hmac framework, including QCryptoHmacDriver and new public APIs. Signed-off-by: Longpeng(Mike) <longpeng2@huawei.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
- Loading branch information
Showing
6 changed files
with
145 additions
and
114 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
* QEMU Crypto hmac driver supports | ||
* | ||
* Copyright (c) 2017 HUAWEI TECHNOLOGIES CO., LTD. | ||
* | ||
* Authors: | ||
* Longpeng(Mike) <longpeng2@huawei.com> | ||
* | ||
* This work is licensed under the terms of the GNU GPL, version 2 or | ||
* (at your option) any later version. See the COPYING file in the | ||
* top-level directory. | ||
* | ||
*/ | ||
|
||
#ifndef QCRYPTO_HMACPRIV_H | ||
#define QCRYPTO_HMACPRIV_H | ||
|
||
typedef struct QCryptoHmacDriver QCryptoHmacDriver; | ||
|
||
struct QCryptoHmacDriver { | ||
int (*hmac_bytesv)(QCryptoHmac *hmac, | ||
const struct iovec *iov, | ||
size_t niov, | ||
uint8_t **result, | ||
size_t *resultlen, | ||
Error **errp); | ||
|
||
void (*hmac_free)(QCryptoHmac *hmac); | ||
}; | ||
|
||
extern void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg, | ||
const uint8_t *key, size_t nkey, | ||
Error **errp); | ||
extern QCryptoHmacDriver qcrypto_hmac_lib_driver; | ||
|
||
#endif |
Oops, something went wrong.