My Project
Functions
iotsafe.h File Reference

Go to the source code of this file.

Functions

int wolfSSL_CTX_iotsafe_enable (WOLFSSL_CTX *ctx)
 This function enables the IoT-Safe support on the given context. More...
 
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. More...
 
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 wolfSSL_iotsafe_on except that the IDs for the IoT-SAFE slots can be passed by reference, and the length of the ID fields can be specified via the parameter "id_size". More...
 
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 read event of a UART channel communicating with the modem. The read callback associated is global and changes for all the contexts that use IoT-safe support at the same time. More...
 
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 write event on a UART channel communicating with the modem. The write callback associated is global and changes for all the contexts that use IoT-safe support at the same time. More...
 
int wolfIoTSafe_GetRandom (unsigned char *out, word32 sz)
 Generate a random buffer of given size, using the IoT-Safe function GetRandom. This function is automatically used by the wolfCrypt RNG object. More...
 
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. Works with one-byte file ID field. More...
 
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. Equivalent to wolfIoTSafe_GetCert, except that it can be invoked with a file ID of two or more bytes. More...
 
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. More...
 
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 applet. More...
 
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 applet. Equivalent to wc_iotsafe_ecc_import_public, except that it can be invoked with a key ID of two or more bytes. More...
 
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 applet. More...
 
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 applet. Equivalent to wc_iotsafe_ecc_export_private, except that it can be invoked with a key ID of two or more bytes. More...
 
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, in the IoT-Safe applet. More...
 
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, in the IoT-Safe applet. Equivalent to wc_iotsafe_ecc_sign_hash, except that it can be invoked with a key ID of two or more bytes. More...
 
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, or pre-provisioned, in the IoT-Safe applet. Result is written to res. 1 is valid, 0 is invalid. Note: Do not use the return value to test for valid. Only use res. More...
 
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, or pre-provisioned, in the IoT-Safe applet. Result is written to res. 1 is valid, 0 is invalid. Note: Do not use the return value to test for valid. Only use res. Equivalent to wc_iotsafe_ecc_verify_hash, except that it can be invoked with a key ID of two or more bytes. More...
 
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. More...