#include "libwfu.h"
#include "common_parameters.h"
#include "common_error.h"
Go to the source code of this file.
Data Structures | |
struct | wfu_data |
A data package used by many functions. More... | |
struct | wfu_uvid |
Structure that uniquely identifies a volume. More... | |
Functions | |
wfu_uvid * | WFU_lib_prepare_uvid (unsigned char *username, unsigned char *salt, unsigned char *timestamp) |
Creates a Unique Volume IDentifier (UVID) used to uniquely identifier this volume. | |
int | WFU_lib_escrow (char *username, char *password, struct wfu_uvid *uvid, struct wfu_data *crypto) |
This function will escrow the Crypto information indexed by the Unique Volume IDentifyer for the Username. | |
int | WFU_lib_verify_uvid (struct wfu_uvid *uvid) |
Will indicate whether a volume on escrow is indexed by the Unique Volume IDentifier. | |
wfu_data * | WFU_lib_reclaim_keys (char *username, char *passwd, int pk) |
This function will return the key information for the volume having the specified escrow key value. | |
wfu_line_array * | WFU_lib_query_salt (char *username, char *password, struct wfu_data *salt) |
Will return a list of key information for the volumes having the specified salt. | |
wfu_line_array * | WFU_lib_query_user (char *username, char *password, char *query_user) |
This function will return the key information for the volumes with the specified username. | |
int | WFU_lib_test_ssl () |
The function should only be used by developers for testing purposes. |
The WFU.h file contains the essential interface functions used for the key escrow and restore process.
The Linux client will also require the WFU_parse_config(const char*) and WFU_get_config_path() to aid with the configuration of library parameters.
Additional functions potentially used by an escrow client: WFU_is_error(), WFU_error_first(), WFU_error_next() and WFU_get_hello_message()
|
This function will escrow the Crypto information indexed by the Unique Volume IDentifyer for the Username.
|
|
Creates a Unique Volume IDentifier (UVID) used to uniquely identifier this volume. The combination of timestamp, username and salt is considered to be sufficient for a unique identifier. (An MD5 of the salt can also be used.) In order for this to be non-unique, the same user would have to create two filesystems during the same second. Both of these will have to be created with the identical random 64 bytes.
|
|
Will return a list of key information for the volumes having the specified salt. This function will authenticate against the server and send the server a wfu_data structure containing a salt. The server will constructs a list of possible escrow entries associated with this salt. Each entry of the list includes the escrow date, key escrow number and username. This function will return a pointer to a wfu_line_array structure containing this list. The user must also be granted access to use this function. The use of this call is restrictd by WFU_get_admin_subnet_mask().
|
|
This function will return the key information for the volumes with the specified username. The function sends the server a username. The server will constructs a list of possible escrow entries associated with this username. Each entry of the list includes the escrow date, key escrow number and username. This function will return a pointer to a wfu_line_array structure containing this list. The user must also be granted access to use this function. Furthermore, the use of this call is restrictd by WFU_get_admin_subnet_mask().
|
|
This function will return the key information for the volume having the specified escrow key value. The user must authenticate over the SSL and must be granted access to use this function. The data sent from the server is encrypted, so the decryption keys must be present on the system performing this operation. Furthermore, the use of this call is restrictd by WFU_get_admin_subnet_mask().
|
|
Will indicate whether a volume on escrow is indexed by the Unique Volume IDentifier.
|