SIAP_EXPORT_API bool siap_server_extract_authentication_token(uint8_t *token, siap_device_key *dkey, const siap_server_key *skey)
Extract an authentication token. This function extracts an authentication token and erases it on the ...
Definition server.c:225
SIAP_EXPORT_API bool siap_server_generate_authentication_token(uint8_t *token, const siap_device_tag *dtag, const siap_server_key *skey)
Generate an authentication token that matches the device tags token index. This function generates an...
Definition server.c:113
SIAP_EXPORT_API bool siap_server_verify_device_tag(siap_device_tag *dtag, const siap_device_key *dkey)
Hash the key tree and compare it with the value stored in the device tag.
Definition server.c:405
SIAP_EXPORT_API void siap_server_passphrase_hash_generate(uint8_t *phash, const char *passphrase, size_t passlen)
Generate the passphrase hash.
Definition server.c:375
SIAP_EXPORT_API void siap_server_passphrase_generate(char *passphrase, size_t length)
Generate a readable pseudo-random passphrase.
Definition server.c:341
SIAP_EXPORT_API bool siap_server_passphrase_hash_verify(const uint8_t *phash, const char *passphrase, size_t passlen)
Verify a passphrase against the hash.
Definition server.c:390
SIAP_EXPORT_API siap_errors siap_server_authenticate_device(uint8_t *dtok, siap_device_key *dkey, siap_device_tag *dtag, const siap_server_key *skey, const uint8_t *phash)
Authenticate a device. This function hashes a passphrase, decrypts a device keys token-tree,...
Definition server.c:13
SIAP_EXPORT_API bool siap_server_generate_server_key(siap_server_key *skey, const uint8_t *sid)
Generate a server key-set. This function generates a new SIAP server key-set based on the provided ma...
Definition server.c:307
SIAP_EXPORT_API void siap_server_generate_device_key(siap_device_key *dkey, const siap_server_key *skey, const uint8_t *did)
Generate a device key. This function generates a new SIAP device key using the provided server key....
Definition server.c:255
SIAP_EXPORT_API bool siap_server_decrypt_device_key(siap_device_key *dkey, const siap_server_key *skey, const uint8_t *phash)
Decrypt a device key. This function decrypts a device keys token-tree.
Definition server.c:143
SIAP_EXPORT_API void siap_server_generate_device_tag(siap_device_tag *dtag, const siap_device_key *dkey, const uint8_t *phash)
Generate a device tag. This function generates a new SIAP device tag structure. It populates the prov...
Definition server.c:285
SIAP_EXPORT_API void siap_server_encrypt_device_key(siap_device_key *dkey, const siap_server_key *skey, const uint8_t *phash)
Encrypt a device key. This function encrypts a device keys token-tree.
Definition server.c:190
SIAP support header Common defined parameters and functions of the SIAP client and server implementat...
siap_errors
The SIAP error values. This enumeration defines the error codes returned by SIAP functions.
Definition siap.h:326
The SIAP device key structure. This structure contains the SIAP device key, the device key identity,...
Definition siap.h:347
The SIAP server key structure. This structure contains the SIAP server key, the server's domain ident...
Definition siap.h:371