ndn-lite
sign-on-basic-sec-impl.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) Edward Lu
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v3.0. See the file LICENSE in the top level
6  * directory for more details.
7  *
8  * See AUTHORS.md for complete list of NDN IOT PKG authors and contributors.
9  */
10 
11 #ifndef SIGN_ON_BLE_BASIC_SEC_IMPL_H
12 #define SIGN_ON_BLE_BASIC_SEC_IMPL_H
13 
14 #include <stdint.h>
15 #include <stddef.h>
16 
17 #include "../../../security/detail/default-backend/sec-lib/micro-ecc/uECC.h"
18 
19 int sign_on_basic_gen_sha256_hash(const uint8_t *payload, uint32_t payload_len, uint8_t *output);
20 
21 int sign_on_basic_aes_cbc_decrypt(uint8_t *key, uint32_t key_len,
22  const uint8_t *encrypted_payload, uint32_t encrypted_payload_len,
23  uint8_t *decrypted_payload, uint32_t decrypted_payload_buf_len);
24 
25 int sign_on_basic_vrfy_hmac_sha256_sig(const uint8_t *payload, uint32_t payload_len,
26  const uint8_t *sig, uint32_t sig_len,
27  const uint8_t *key, uint32_t key_len);
28 
29 int sign_on_basic_gen_sha256_ecdsa_sig(const uint8_t *pri_key_raw, uECC_Curve curve,
30  const uint8_t *payload, uint32_t payload_len,
31  uint8_t *output_buf, uint32_t output_buf_len,
32  uint32_t *output_len);
33 
34 int sign_on_basic_gen_ecdh_shared_secret(const uint8_t *pub_key_raw, uint32_t pub_key_raw_len,
35  const uint8_t *pri_key_raw, uint32_t pri_key_raw_len,
36  uECC_Curve curve,
37  uint8_t *output_buf, uint32_t output_buf_len,
38  uint32_t *output_len);
39 
40 int sign_on_basic_gen_ec_keypair(uint8_t *pub_key_buf, uint32_t pub_key_buf_len,
41  uint32_t *pub_key_output_len,
42  uint8_t *pri_key_buf, uint32_t pri_key_buf_len,
43  uint32_t *pri_key_output_len,
44  uECC_Curve curve);
45 
46 #endif // SIGN_ON_BLE_BASIC_SEC_IMPL_H
int sign_on_basic_gen_ec_keypair(uint8_t *pub_key_buf, uint32_t pub_key_buf_len, uint32_t *pub_key_output_len, uint8_t *pri_key_buf, uint32_t pri_key_buf_len, uint32_t *pri_key_output_len, uECC_Curve curve)
Definition: sign-on-basic-sec-impl.c:131
Definition: uECC.c:140
int sign_on_basic_gen_sha256_ecdsa_sig(const uint8_t *pri_key_raw, uECC_Curve curve, const uint8_t *payload, uint32_t payload_len, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
Definition: sign-on-basic-sec-impl.c:85
int sign_on_basic_gen_sha256_hash(const uint8_t *payload, uint32_t payload_len, uint8_t *output)
Definition: sign-on-basic-sec-impl.c:37
int sign_on_basic_vrfy_hmac_sha256_sig(const uint8_t *payload, uint32_t payload_len, const uint8_t *sig, uint32_t sig_len, const uint8_t *key, uint32_t key_len)
Definition: sign-on-basic-sec-impl.c:72
int sign_on_basic_gen_ecdh_shared_secret(const uint8_t *pub_key_raw, uint32_t pub_key_raw_len, const uint8_t *pri_key_raw, uint32_t pri_key_raw_len, uECC_Curve curve, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
Definition: sign-on-basic-sec-impl.c:108
int sign_on_basic_aes_cbc_decrypt(uint8_t *key, uint32_t key_len, const uint8_t *encrypted_payload, uint32_t encrypted_payload_len, uint8_t *decrypted_payload, uint32_t decrypted_payload_buf_len)
Definition: sign-on-basic-sec-impl.c:44