aboutsummaryrefslogtreecommitdiff
path: root/lib/sec_library/include/kdf.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sec_library/include/kdf.h')
-rw-r--r--lib/sec_library/include/kdf.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/sec_library/include/kdf.h b/lib/sec_library/include/kdf.h
index c07adedc..7f8f5964 100644
--- a/lib/sec_library/include/kdf.h
+++ b/lib/sec_library/include/kdf.h
@@ -1,12 +1,19 @@
/*
- * Copyright (C) 2019-2021 Alibaba Group Holding Limited
+ * Copyright (C) 2019-2020 Alibaba Group Holding Limited
*/
#ifndef __KDF_H__
#define __KDF_H__
+#ifdef SEC_LIB_VERSION
#include "drv/aes.h"
#include "drv/sm4.h"
#include "drv/common.h"
+#else
+#include "aes.h"
+#include "sm4.h"
+#include "common.h"
+#endif
+
#include <stdint.h>
typedef enum {
@@ -50,6 +57,9 @@ typedef enum {
KDF_KEY_TYPE_TDES_192,
KDF_KEY_TYPE_TDES_128,
KDF_KEY_TYPE_DES,
+ /* for rpmb, str */
+/* KDF_KEY_TYPE_HMAC_SHA256,
+ */
KDF_KEY_TYPE_MAX,
} csi_kdf_key_type_t;
@@ -113,12 +123,12 @@ csi_error_t csi_kdf_destory_key(csi_kdf_t *kdf, csi_kdf_derived_key_t dkey);
/**
\brief Set key to algorithim engine.
- \param[in] handle Handle to cipher.
\param[in] kdf Handle to operate.
+ \param[in] handle Handle to cipher.
\param[in] dkey derived key type.
\return error code
*/
-csi_error_t csi_kdf_set_key(csi_kdf_key_handle_t *handle, csi_kdf_t *kdf,
+csi_error_t csi_kdf_set_key(csi_kdf_t *kdf, csi_kdf_key_handle_t *handle,
csi_kdf_derived_key_t dkey);
/**
@@ -139,4 +149,11 @@ csi_error_t csi_kdf_clear_key(csi_kdf_t *kdf, csi_kdf_derived_key_t dkey);
csi_error_t csi_kdf_get_key_attr(csi_kdf_t *kdf, csi_kdf_derived_key_t dkey,
csi_kdf_key_attr_t *attr);
+
+/**
+ \brief kdf generate hmac key.
+ \param[in] kdf Handle to operate
+*/
+csi_error_t csi_kdf_gen_hmac_key(uint8_t* key,uint32_t * length);
+
#endif