11 #ifndef SIGN_ON_BASIC_ECC_256_SEC_H 12 #define SIGN_ON_BASIC_ECC_256_SEC_H 29 uint32_t encrypted_payload_len, uint8_t *decrypted_payload,
30 uint32_t decrypted_payload_buf_len,
31 uint32_t *decrypted_payload_len);
39 const uint8_t *sig, uint32_t sig_len,
40 const uint8_t *key, uint32_t key_len);
49 const uint8_t *sig, uint32_t sig_len,
50 const uint8_t *key, uint32_t key_len);
60 const uint8_t *payload, uint32_t payload_len,
61 uint8_t *output_buf, uint32_t output_buf_len,
62 uint32_t *output_len);
72 const uint8_t *payload, uint32_t payload_len,
73 uint8_t *output_buf, uint32_t output_buf_len,
74 uint32_t *output_len);
83 const uint8_t *payload, uint32_t payload_len,
84 uint8_t *output_buf, uint32_t output_buf_len,
85 uint32_t *output_len);
95 uint32_t *pub_key_output_len,
96 uint8_t *pri_key_buf, uint32_t pri_key_buf_len,
97 uint32_t *pri_key_output_len);
107 const uint8_t *pri_key, uint32_t pri_key_len,
108 uint8_t *output_buf, uint32_t output_buf_len,
109 uint32_t *output_len);
111 #endif // SIGN_ON_BASIC_ECC_256_SEC_H int sign_on_basic_ecc_256_gen_sha256_hash(const uint8_t *payload, uint32_t payload_len, uint8_t *output)
Generate a sha256 hash.
Definition: sign-on-basic-ecc-256-sec.c:18
int sign_on_basic_ecc_256_vrfy_cert_rqst_rspns_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)
The certificate request response signature should be an hmac sha256 signature.
Definition: sign-on-basic-ecc-256-sec.c:46
int sign_on_basic_ecc_256_gen_fin_msg_sig(const uint8_t *pri_key, const uint8_t *payload, uint32_t payload_len, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
The finish message signature should be an ecdsa sha256 signature.
Definition: sign-on-basic-ecc-256-sec.c:75
int sign_on_basic_ecc_256_gen_btstrp_rqst_sig(const uint8_t *pri_key, const uint8_t *payload, uint32_t payload_len, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
The bootstrapping request signature should be an ecdsa sha256 signature.
Definition: sign-on-basic-ecc-256-sec.c:53
int sign_on_basic_ecc_256_gen_n1_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)
The N1 key pair should be a pair of ecc keys, based on the "secp256r1" curve.
Definition: sign-on-basic-ecc-256-sec.c:86
int sign_on_basic_ecc_256_gen_cert_rqst_sig(const uint8_t *pri_key, const uint8_t *payload, uint32_t payload_len, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
The certificate request signature should be an ecdsa sha256 signature.
Definition: sign-on-basic-ecc-256-sec.c:64
int sign_on_basic_ecc_256_decrypt_kd_pri(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, uint32_t *decrypted_payload_len)
The KD key pair private key should be encrypted using AES CBC with PCS5 padding.
Definition: sign-on-basic-ecc-256-sec.c:24
int sign_on_basic_ecc_256_gen_kt(const uint8_t *pub_key, uint32_t pub_key_len, const uint8_t *pri_key, uint32_t pri_key_len, uint8_t *output_buf, uint32_t output_buf_len, uint32_t *output_len)
The keys used to generate KT should be ecc keys, based on the "secp256r1" curve.
Definition: sign-on-basic-ecc-256-sec.c:97
int sign_on_basic_ecc_256_vrfy_btstrp_rqst_rspns_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)
The bootstrapping request response signature should be an hmac sha256 signature.
Definition: sign-on-basic-ecc-256-sec.c:39