My Project
iotsafe.h
Go to the documentation of this file.
1 
22 int wolfSSL_CTX_iotsafe_enable(WOLFSSL_CTX *ctx);
23 
24 
64 int wolfSSL_iotsafe_on(WOLFSSL *ssl, byte privkey_id,
65  byte ecdh_keypair_slot, byte peer_pubkey_slot, byte peer_cert_slot);
66 
67 
117 int wolfSSL_iotsafe_on_ex(WOLFSSL *ssl, byte *privkey_id,
118  byte *ecdh_keypair_slot, byte *peer_pubkey_slot, byte *peer_cert_slot, word16 id_size);
119 
120 
144 void wolfIoTSafe_SetCSIM_read_cb(wolfSSL_IOTSafe_CSIM_read_cb rf);
145 
164 void wolfIoTSafe_SetCSIM_write_cb(wolfSSL_IOTSafe_CSIM_write_cb wf);
165 
166 
167 
178 int wolfIoTSafe_GetRandom(unsigned char* out, word32 sz);
179 
180 
214 int wolfIoTSafe_GetCert(uint8_t id, unsigned char *output, unsigned long sz);
215 
216 
257 int wolfIoTSafe_GetCert_ex(uint8_t *id, uint16_t id_sz, unsigned char *output, unsigned long sz);
258 
274 int wc_iotsafe_ecc_import_public(ecc_key *key, byte key_id);
275 
289 int wc_iotsafe_ecc_export_public(ecc_key *key, byte key_id);
290 
291 
309 int wc_iotsafe_ecc_import_public_ex(ecc_key *key, byte *key_id, word16 id_size);
310 
325 int wc_iotsafe_ecc_export_private(ecc_key *key, byte key_id);
326 
345 int wc_iotsafe_ecc_export_private_ex(ecc_key *key, byte *key_id, word16 id_size);
346 
366 int wc_iotsafe_ecc_sign_hash(byte *in, word32 inlen, byte *out, word32 *outlen, byte key_id);
367 
389 int wc_iotsafe_ecc_sign_hash_ex(byte *in, word32 inlen, byte *out, word32 *outlen, byte *key_id, word16 id_size);
390 
411 int wc_iotsafe_ecc_verify_hash(byte *sig, word32 siglen, byte *hash, word32 hashlen, int *res, byte key_id);
412 
436 int wc_iotsafe_ecc_verify_hash_ex(byte *sig, word32 siglen, byte *hash, word32 hashlen, int *res, byte *key_id, word16 id_size);
437 
449 int wc_iotsafe_ecc_gen_k(byte key_id);
450 
465 int wc_iotsafe_ecc_gen_k(byte key_id);
wc_iotsafe_ecc_import_public_ex
int wc_iotsafe_ecc_import_public_ex(ecc_key *key, byte *key_id, word16 id_size)
Export an ECC 256-bit public key, from ecc_key object to a writable public-key slot into the IoT-Safe...
wolfIoTSafe_GetCert_ex
int wolfIoTSafe_GetCert_ex(uint8_t *id, uint16_t id_sz, unsigned char *output, unsigned long sz)
Import a certificate stored in a file on IoT-Safe applet, and store it locally in memory....
wc_iotsafe_ecc_export_public
int wc_iotsafe_ecc_export_public(ecc_key *key, byte key_id)
Export an ECC 256-bit public key, from ecc_key object to a writable public-key slot into the IoT-Safe...
wc_iotsafe_ecc_import_public
int wc_iotsafe_ecc_import_public(ecc_key *key, byte key_id)
Import an ECC 256-bit public key, stored in the IoT-Safe applet, into an ecc_key object.
wc_iotsafe_ecc_sign_hash
int wc_iotsafe_ecc_sign_hash(byte *in, word32 inlen, byte *out, word32 *outlen, byte key_id)
Sign a pre-computed 256-bit HASH, using a private key previously stored, or pre-provisioned,...
wc_iotsafe_ecc_export_private_ex
int wc_iotsafe_ecc_export_private_ex(ecc_key *key, byte *key_id, word16 id_size)
Export an ECC 256-bit key, from ecc_key object to a writable private-key slot into the IoT-Safe apple...
wolfSSL_CTX_iotsafe_enable
int wolfSSL_CTX_iotsafe_enable(WOLFSSL_CTX *ctx)
This function enables the IoT-Safe support on the given context.
wolfIoTSafe_SetCSIM_write_cb
void wolfIoTSafe_SetCSIM_write_cb(wolfSSL_IOTSafe_CSIM_write_cb wf)
Associates a write callback for the AT+CSIM commands. This output function is usually associated to a...
wc_iotsafe_ecc_sign_hash_ex
int wc_iotsafe_ecc_sign_hash_ex(byte *in, word32 inlen, byte *out, word32 *outlen, byte *key_id, word16 id_size)
Sign a pre-computed 256-bit HASH, using a private key previously stored, or pre-provisioned,...
wc_iotsafe_ecc_verify_hash
int wc_iotsafe_ecc_verify_hash(byte *sig, word32 siglen, byte *hash, word32 hashlen, int *res, byte key_id)
Verify an ECC signature against a pre-computed 256-bit HASH, using a public key previously stored,...
wolfIoTSafe_SetCSIM_read_cb
void wolfIoTSafe_SetCSIM_read_cb(wolfSSL_IOTSafe_CSIM_read_cb rf)
Associates a read callback for the AT+CSIM commands. This input function is usually associated to a r...
wc_iotsafe_ecc_export_private
int wc_iotsafe_ecc_export_private(ecc_key *key, byte key_id)
Export an ECC 256-bit key, from ecc_key object to a writable private-key slot into the IoT-Safe apple...
wc_iotsafe_ecc_gen_k
int wc_iotsafe_ecc_gen_k(byte key_id)
Generate an ECC 256-bit keypair and store it in a (writable) slot into the IoT-Safe applet.
wolfIoTSafe_GetCert
int wolfIoTSafe_GetCert(uint8_t id, unsigned char *output, unsigned long sz)
Import a certificate stored in a file on IoT-Safe applet, and store it locally in memory....
wolfIoTSafe_GetRandom
int wolfIoTSafe_GetRandom(unsigned char *out, word32 sz)
Generate a random buffer of given size, using the IoT-Safe function GetRandom. This function is autom...
wolfSSL_iotsafe_on
int wolfSSL_iotsafe_on(WOLFSSL *ssl, byte privkey_id, byte ecdh_keypair_slot, byte peer_pubkey_slot, byte peer_cert_slot)
This function connects the IoT-Safe TLS callbacks to the given SSL session.
wolfSSL_iotsafe_on_ex
int wolfSSL_iotsafe_on_ex(WOLFSSL *ssl, byte *privkey_id, byte *ecdh_keypair_slot, byte *peer_pubkey_slot, byte *peer_cert_slot, word16 id_size)
This function connects the IoT-Safe TLS callbacks to the given SSL session. This is equivalent to wol...
wc_iotsafe_ecc_verify_hash_ex
int wc_iotsafe_ecc_verify_hash_ex(byte *sig, word32 siglen, byte *hash, word32 hashlen, int *res, byte *key_id, word16 id_size)
Verify an ECC signature against a pre-computed 256-bit HASH, using a public key previously stored,...