536 lines
19 KiB
C
536 lines
19 KiB
C
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
|
|
#ifndef _IOT_CRYPTO_DSA_ASYNC_API_H_
|
|
#define _IOT_CRYPTO_DSA_ASYNC_API_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "iot_pkt_api.h"
|
|
#include "iot_crypto_error_api.h"
|
|
#include "iot_crypto_dsa_api.h"
|
|
|
|
/* crypto calculate type */
|
|
#define IOT_CRYPTO_CALC_TYPE_INVALID 0
|
|
#define IOT_CRYPTO_CALC_TYPE_SM2_SIGN 1
|
|
#define IOT_CRYPTO_CALC_TYPE_SM2_VERIFY 2
|
|
#define IOT_CRYPTO_CALC_TYPE_ECDSA_SHA256_SIGN 3
|
|
#define IOT_CRYPTO_CALC_TYPE_ECDSA_SHA256_VERIFY 4
|
|
#define IOT_CRYPTO_CALC_TYPE_SM2_KDF_GEN 5
|
|
#define IOT_CRYPTO_CALC_TYPE_SM2_KEYPAIR_GEN 6
|
|
#define IOT_CRYPTO_CALC_TYPE_ECDSA_KEYPAIR_GEN 7
|
|
#define IOT_CRYPTO_CALC_TYPE_SG_AUTH_SIGN 8
|
|
#define IOT_CRYPTO_CALC_TYPE_SG_AUTH_VERIRY 9
|
|
#define IOT_CRYPTO_CALC_TYPE_MAX 10
|
|
|
|
/* sg id authentication random calculate type */
|
|
#define IOT_CRYPTO_SG_RANDOM_SIGN_SM2 0
|
|
#define IOT_CRYPTO_SG_RANDOM_SIGN_ECC 1
|
|
#define IOT_CRYPTO_SG_RANDOM_VERIFY_SM2 2
|
|
#define IOT_CRYPTO_SG_RANDOM_VERIFY_ECC 3
|
|
|
|
/* save the pack status and set 1 byte align */
|
|
#pragma pack(push)
|
|
#pragma pack(1)
|
|
|
|
typedef struct _iot_crypto_async_user_info {
|
|
uint8_t info[40];
|
|
} iot_crypto_async_user_info_t;
|
|
|
|
typedef struct _iot_crypto_async_hdr {
|
|
/* crypto calculate type, see IOT_CRYPTO_CALC_TYPE_XXX */
|
|
uint8_t type;
|
|
/* error code, see CRYPTO_RET_XXX */
|
|
uint8_t err_code;
|
|
/* reserved */
|
|
uint16_t rsvd;
|
|
/* user information */
|
|
iot_crypto_async_user_info_t user;
|
|
} iot_crypto_async_hdr_t;
|
|
|
|
typedef struct _iot_crypto_ret_sm2_sign {
|
|
/* sm2 signature r */
|
|
uint8_t r[32];
|
|
/* sm2 signature s */
|
|
uint8_t s[32];
|
|
} iot_crypto_ret_sm2_sign_t;
|
|
|
|
typedef struct _iot_crypto_ret_ecdsa_sha256_sign {
|
|
/* ecdsa sha256 signature r */
|
|
uint8_t r[32];
|
|
/* ecdsa sha256 signature s */
|
|
uint8_t s[32];
|
|
} iot_crypto_ret_ecdsa_sha256_sign_t;
|
|
|
|
typedef struct _iot_crypto_ret_sm2_gen_keypair_info_t {
|
|
uint32_t pub_key_len;
|
|
uint32_t pri_key_len;
|
|
uint8_t pub_key[64];
|
|
uint8_t pri_key[32];
|
|
} iot_crypto_ret_sm2_gen_keypair_info_t;
|
|
|
|
typedef struct _iot_crypto_ret_ecdsa_gen_keypair_info_t {
|
|
ecdsa_ecp_t ecp;
|
|
uint32_t pub_key_len;
|
|
uint32_t pri_key_len;
|
|
uint8_t pub_key[64];
|
|
uint8_t pri_key[32];
|
|
} iot_crypto_ret_ecdsa_gen_keypair_info_t;
|
|
|
|
typedef struct _iot_crypto_ret_sm2_kdf_gen {
|
|
/* sm2 kdf generate key length */
|
|
uint32_t len;
|
|
/* sm2 kdf generate key buffer */
|
|
uint8_t key[0];
|
|
} iot_crypto_ret_sm2_kdf_gen_t;
|
|
|
|
typedef struct _iot_crypto_ret_sg_auth_gen_key {
|
|
/* indicate key[] buffer length */
|
|
uint16_t key_len;
|
|
/* generate key buffer */
|
|
uint8_t key[0];
|
|
} iot_crypto_ret_sg_auth_gen_key_t;
|
|
|
|
/* sg authentication signature async result */
|
|
typedef struct _iot_crypto_ret_sg_sign_async {
|
|
/* asynchronous signature result header */
|
|
iot_crypto_async_hdr_t async_hdr;
|
|
union {
|
|
/* random sm2 signature */
|
|
iot_crypto_ret_sm2_sign_t sm2_sign;
|
|
/* random ecdsa sha256 signature */
|
|
iot_crypto_ret_ecdsa_sha256_sign_t sha256_sign;
|
|
};
|
|
/* the key generated by sg authentication */
|
|
iot_crypto_ret_sg_auth_gen_key_t sg_gen_key;
|
|
} iot_crypto_ret_sg_sign_async_t;
|
|
|
|
/* sg authentication verify async result */
|
|
typedef struct _iot_crypto_ret_sg_verify_async {
|
|
/* asynchronous verfiy result header */
|
|
iot_crypto_async_hdr_t async_hdr;
|
|
/* the key generated by sg authentication */
|
|
iot_crypto_ret_sg_auth_gen_key_t sg_gen_key;
|
|
} iot_crypto_ret_sg_verify_async_t;
|
|
|
|
/**
|
|
* @brief iot_crypto_async_func_t - crypto done callback function
|
|
*
|
|
* @param pkt: crypto done data pkt
|
|
* @retval: none
|
|
*/
|
|
typedef void (*iot_crypto_async_done_func_t)(iot_pkt_t *pkt);
|
|
|
|
/* restore the pack status */
|
|
#pragma pack(pop)
|
|
|
|
#if IOT_CRYPTO_ASYNC_SUPPORT
|
|
|
|
/**
|
|
* @brief iot_crypto_ecdsa_with_sha256_sign_async() - ESDA signature for async,
|
|
* message hash algorithm is SHA256.
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t + iot_crypto_ret_ecdsa_sha256_sign_t
|
|
* @param ecp: curve type, see ecdsa_ecp_t.
|
|
* @param msg: message to be signed
|
|
* @param len: message len
|
|
* @param pri_key: private key
|
|
* @param pri_key_len: private key len
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_ecdsa_with_sha256_sign_async(
|
|
ecdsa_ecp_t ecp, const uint8_t *msg, uint32_t len,
|
|
const uint8_t *pri_key, uint32_t pri_key_len,
|
|
iot_crypto_async_done_func_t cb, iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_ecdsa_with_sha256_verify_async() - ESDA signature verify
|
|
* for async, message hash algorithm is SHA256.
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t
|
|
* @param ecp: curve type, see ecdsa_ecp_t.
|
|
* @param msg: original message to be signed verify
|
|
* @param len: original message len
|
|
* @param public_key: pointer public key
|
|
* @param public_key_len: public key len
|
|
* @param r_buf: signature info r part for verification
|
|
* @param r_buf_len: r part len
|
|
* @param s_buf: signature info s part for verification
|
|
* @param s_buf_len: s part len
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_ecdsa_with_sha256_verify_async(
|
|
ecdsa_ecp_t ecp,
|
|
const uint8_t *msg, uint32_t len,
|
|
const uint8_t *public_key, uint32_t public_key_len,
|
|
const uint8_t *r_buf, uint32_t r_buf_len,
|
|
const uint8_t *s_buf, uint32_t s_buf_len,
|
|
iot_crypto_async_done_func_t cb, iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sm2_sign_async() - sm2 signature for async with pub key and
|
|
* private key
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t + iot_crypto_ret_sm2_sign_t
|
|
* @param message: original message to be signed
|
|
* @param message_size: original message length
|
|
* @param id: user id
|
|
* @param id_len: user id length
|
|
* @param public_key: pointer public key
|
|
* @param public_key_len: public key len
|
|
* @param private_key: pointer private key
|
|
* @param private_key_len: private length
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sm2_sign_async(uint8_t *message, uint32_t message_size,
|
|
uint8_t *id, uint32_t id_len, uint8_t *public_key, uint32_t public_key_len,
|
|
uint8_t *private_key, uint32_t private_key_len,
|
|
iot_crypto_async_done_func_t cb,
|
|
iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sm2_verify_async() - sm2 verify for async with pub key
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t
|
|
* @param message: original message to be signed
|
|
* @param message_size: original message length
|
|
* @param id: user id
|
|
* @param id_len: user id length
|
|
* @param public_key: pointer public key
|
|
* @param public_key_len: public key len
|
|
* @param r signature r
|
|
* @param rlen signature r len
|
|
* @param s signature s
|
|
* @param slen signature s len
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sm2_verify_async(uint8_t *message, uint32_t message_size,
|
|
uint8_t *id, uint32_t id_len, uint8_t *public_key, uint32_t public_key_len,
|
|
uint8_t *r, uint32_t rlen, uint8_t *s, uint32_t slen,
|
|
iot_crypto_async_done_func_t cb, iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sm2_gen_share_key_async() - calc share key by pub key and
|
|
* private key
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t + iot_crypto_ret_sm2_kdf_gen_t
|
|
* @param pub_key: public key, Fixed 64 bytes
|
|
* @param pri_key: private key, Fixed 32 bytes
|
|
* @param gen_key_len: the size of the gen_key
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sm2_gen_share_key_async(uint8_t *pub_key, uint8_t *pri_key,
|
|
uint32_t gen_key_len, iot_crypto_async_done_func_t cb,
|
|
iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sm2_gen_keypair_async() - sm2 generate pair key
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t + iot_crypto_ret_sm2_gen_keypair_info_t
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sm2_gen_keypair_async(
|
|
iot_crypto_async_done_func_t cb, iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sm2_gen_keypair_async() - sm2 generate pair key
|
|
* asynchronous result data map:
|
|
* iot_crypto_async_hdr_t + iot_crypto_ret_sm2_gen_keypair_info_t
|
|
* @param ecp: curve type, see ecdsa_ecp_t
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_ecdsa_gen_keypair_async(ecdsa_ecp_t ecp,
|
|
iot_crypto_async_done_func_t cb, iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sg_auth_random_sign_async() - calculate identity
|
|
* authentication for sg security authentication(random signature).
|
|
* asynchronous result data map:
|
|
* iot_crypto_ret_sg_sign_async_t
|
|
* @param root_pub: root public key
|
|
* @param root_pub_len: root public key length
|
|
* @param auth_chip_id: the chip id of the certificate to be authenticated
|
|
* @param auth_chip_id_len: auth_chip_id data length
|
|
* @param auth_ecp: the elliptic curve type of the certificate to be
|
|
* authenticated, see ecdsa_ecp_t.
|
|
* @param auth_pub: the public key of the certificate to be authenticated
|
|
* @param auth_pub_len: auth_pub data length
|
|
* @param auth_sign: the signature of the certificate to be authenticated
|
|
* @param auth_sign_len: auth_sign data length
|
|
* @param gen_key_len: generate share key length
|
|
* @param random_type: indicate random and random_sign means,
|
|
* see IOT_CRYPTO_SG_RANDOM_SIGN_XXX.
|
|
* @param random: random data address
|
|
* @param random_len: random data length
|
|
* @param local_ecp: the elliptic curve type of the local device certificate
|
|
* @param local_pub: the public key of the local device certificate
|
|
* @param local_pub_len: local_pub data length
|
|
* @param local_pri: the private key of the local device certificate
|
|
* @param local_pri_len: local_pri data length
|
|
* @param sm2_id: sm2 user id
|
|
* @param sm2_id_len: sm2 user id length
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sg_auth_random_sign_async(
|
|
uint8_t *root_pub, uint32_t root_pub_len,
|
|
uint8_t *auth_chip_id, uint32_t auth_chip_id_len,
|
|
ecdsa_ecp_t auth_ecp, uint8_t *auth_pub, uint32_t auth_pub_len,
|
|
uint8_t *auth_sign, uint32_t auth_sign_len,
|
|
uint16_t gen_key_len, uint8_t random_type,
|
|
uint8_t *random, uint32_t random_len,
|
|
ecdsa_ecp_t local_ecp, uint8_t *local_pub, uint32_t local_pub_len,
|
|
uint8_t *local_pri, uint32_t local_pri_len,
|
|
uint8_t *sm2_id, uint8_t sm2_id_len,
|
|
iot_crypto_async_done_func_t cb,
|
|
iot_crypto_async_user_info_t *user);
|
|
|
|
/**
|
|
* @brief iot_crypto_sg_auth_random_verify_async() - calculate identity
|
|
* authentication for sg security authentication(random verify).
|
|
* asynchronous result data map:
|
|
* iot_crypto_ret_sg_verify_async_t
|
|
* @param root_pub: root public key
|
|
* @param root_pub_len: root public key length
|
|
* @param auth_chip_id: the chip id of the certificate to be authenticated
|
|
* @param auth_chip_id_len: auth_chip_id data length
|
|
* @param auth_ecp: the elliptic curve type of the certificate to be
|
|
* authenticated, see ecdsa_ecp_t.
|
|
* @param auth_pub: the public key of the certificate to be authenticated
|
|
* @param auth_pub_len: auth_pub data length
|
|
* @param auth_sign: the signature of the certificate to be authenticated
|
|
* @param auth_sign_len: auth_sign data length
|
|
* @param gen_key_len: generate share key length
|
|
* @param random_type: indicate random and random_sign means,
|
|
* see /IOT_CRYPTO_SG_RANDOM_VERIFY_XXX.
|
|
* @param random: random data address
|
|
* @param random_len: random data length
|
|
* @param ramdom_sign: signatures data address
|
|
* @param random_sign_len: ramdom_sign data length
|
|
* @param local_ecp: the elliptic curve type of the local device certificate
|
|
* @param local_pub: the public key of the local device certificate
|
|
* @param local_pub_len: local_pub data length
|
|
* @param local_pri: the private key of the local device certificate
|
|
* @param local_pri_len: local_pri data length
|
|
* @param sm2_id: sm2 user id
|
|
* @param sm2_id_len: sm2 user id length
|
|
* @param cb: crypto done callback function
|
|
* @param user: current crypto user info arguments
|
|
*
|
|
* @retval:error code. see CRYPTO_RET_XXX
|
|
*/
|
|
uint32_t iot_crypto_sg_auth_random_verify_async(
|
|
uint8_t *root_pub, uint32_t root_pub_len,
|
|
uint8_t *auth_chip_id, uint32_t auth_chip_id_len,
|
|
ecdsa_ecp_t auth_ecp, uint8_t *auth_pub, uint32_t auth_pub_len,
|
|
uint8_t *auth_sign, uint32_t auth_sign_len,
|
|
uint16_t gen_key_len, uint8_t random_verify_type,
|
|
uint8_t *random, uint32_t random_len,
|
|
uint8_t *ramdom_sign, uint32_t random_sign_len,
|
|
ecdsa_ecp_t local_ecp, uint8_t *local_pub, uint32_t local_pub_len,
|
|
uint8_t *local_pri, uint32_t local_pri_len,
|
|
uint8_t *sm2_id, uint8_t sm2_id_len,
|
|
iot_crypto_async_done_func_t cb,
|
|
iot_crypto_async_user_info_t *user);
|
|
|
|
#else /* IOT_CRYPTO_ASYNC_SUPPORT */
|
|
|
|
#define iot_crypto_ecdsa_with_sha256_sign_async(ecp, msg, len, pri_key, \
|
|
pri_key_len, cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)ecp; \
|
|
(void)msg; \
|
|
(void)len; \
|
|
(void)pri_key; \
|
|
(void)pri_key_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0)
|
|
|
|
#define iot_crypto_ecdsa_with_sha256_verify_async(ecp, msg, len, public_key, \
|
|
public_key_len, r_buf, r_buf_len, s_buf, s_buf_len, cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)ecp; \
|
|
(void)msg; \
|
|
(void)len; \
|
|
(void)public_key; \
|
|
(void)public_key_len; \
|
|
(void)r_buf; \
|
|
(void)r_buf_len; \
|
|
(void)s_buf; \
|
|
(void)s_buf_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0)
|
|
|
|
#define iot_crypto_sm2_sign_async(message, message_size, ID, ID_len, \
|
|
public_key, public_key_len, private_key, private_key_len, cb, user) \
|
|
(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)message; \
|
|
(void)message_size; \
|
|
(void)ID; \
|
|
(void)ID_len; \
|
|
(void)public_key; \
|
|
(void)private_key_len; \
|
|
(void)private_key; \
|
|
(void)private_key_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0);
|
|
|
|
#define iot_crypto_sm2_verify_async(message, message_size, ID, ID_len, \
|
|
public_key, public_key_len, r, rlen, s, slen, cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)message; \
|
|
(void)message_size; \
|
|
(void)ID; \
|
|
(void)ID_len; \
|
|
(void)public_key; \
|
|
(void)public_key_len; \
|
|
(void)r; \
|
|
(void)rlen; \
|
|
(void)s; \
|
|
(void)slen; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0);
|
|
|
|
#define iot_crypto_sm2_gen_share_key_async(pub_key, pri_key, gen_key_len, \
|
|
cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)pub_key; \
|
|
(void)pri_key; \
|
|
(void)gen_key_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0);
|
|
|
|
#define iot_crypto_sm2_gen_keypair_async(cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0);
|
|
|
|
#define iot_crypto_ecdsa_gen_keypair_async(ecp, cb, user) \
|
|
(void)(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)ecp; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0);
|
|
|
|
#define iot_crypto_sg_auth_random_sign_async( \
|
|
root_pub, root_pub_len, auth_chip_id, auth_chip_id_len, \
|
|
auth_ecp, auth_pub, auth_pub_len, auth_sign, auth_sign_len, \
|
|
gen_key_len, random_type, random, random_len, \
|
|
local_ecp, local_pub, local_pub_len, \
|
|
local_pri, local_pri_len, sm2_id, sm2_id_len, \
|
|
cb, user) \
|
|
(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)root_pub; \
|
|
(void)root_pub_len; \
|
|
(void)auth_chip_id; \
|
|
(void)auth_chip_id_len; \
|
|
(void)auth_ecp; \
|
|
(void)auth_pub; \
|
|
(void)auth_pub_len; \
|
|
(void)auth_sign; \
|
|
(void)auth_sign_len; \
|
|
(void)gen_key_len; \
|
|
(void)random_type; \
|
|
(void)random; \
|
|
(void)random_len; \
|
|
(void)local_ecp; \
|
|
(void)local_pub; \
|
|
(void)local_pub_len; \
|
|
(void)local_pri; \
|
|
(void)local_pri_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0)
|
|
|
|
#define iot_crypto_sg_auth_random_verify_async( \
|
|
root_pub, root_pub_len, auth_chip_id, auth_chip_id_len, \
|
|
auth_ecp, auth_pub, auth_pub_len, auth_sign, auth_sign_len, \
|
|
gen_key_len, random_type, random, random_len, \
|
|
ramdom_sign, random_sign_len, local_ecp, local_pub, local_pub_len, \
|
|
local_pri, local_pri_len, sm2_id, sm2_id_len, \
|
|
cb, user) \
|
|
(CRYPTO_RET_NOSUPP); \
|
|
do { \
|
|
(void)root_pub; \
|
|
(void)root_pub_len; \
|
|
(void)auth_chip_id; \
|
|
(void)auth_chip_id_len; \
|
|
(void)auth_ecp; \
|
|
(void)auth_pub; \
|
|
(void)auth_pub_len; \
|
|
(void)auth_sign; \
|
|
(void)auth_sign_len; \
|
|
(void)gen_key_len; \
|
|
(void)random_type; \
|
|
(void)random; \
|
|
(void)random_len; \
|
|
(void)ramdom_sign; \
|
|
(void)random_sign_len; \
|
|
(void)local_ecp; \
|
|
(void)local_pub; \
|
|
(void)local_pub_len; \
|
|
(void)local_pri; \
|
|
(void)local_pri_len; \
|
|
(void)cb; \
|
|
(void)user; \
|
|
} while(0)
|
|
|
|
#endif /* IOT_CRYPTO_ASYNC_SUPPORT */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _IOT_CRYPTO_DSA_ASYNC_API_H_ */
|