|
typedef MPDC_EXPORT_API struct mpdc_network_announce_request_state | mpdc_network_announce_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_announce_response_state | mpdc_network_announce_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_converge_request_state | mpdc_network_converge_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_converge_response_state | mpdc_network_converge_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_converge_response_verify_state | mpdc_network_converge_response_verify_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_converge_update_verify_state | mpdc_network_converge_update_verify_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fkey_request_state | mpdc_network_fkey_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fkey_response_state | mpdc_network_fkey_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_incremental_update_request_state | mpdc_network_incremental_update_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_incremental_update_response_state | mpdc_network_incremental_update_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_register_request_state | mpdc_network_register_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_register_response_state | mpdc_network_register_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_register_update_request_state | mpdc_network_register_update_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_register_update_response_state | mpdc_network_register_update_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_mfk_request_state | mpdc_network_mfk_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_mfk_response_state | mpdc_network_mfk_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_remote_signing_request_state | mpdc_network_remote_signing_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_remote_signing_response_state | mpdc_network_remote_signing_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_resign_request_state | mpdc_network_resign_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_resign_response_state | mpdc_network_resign_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_revoke_request_state | mpdc_network_revoke_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_revoke_response_state | mpdc_network_revoke_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_topological_query_request_state | mpdc_network_topological_query_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_topological_query_response_state | mpdc_network_topological_query_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_topological_status_request_state | mpdc_network_topological_status_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_topological_status_response_state | mpdc_network_topological_status_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fragment_collection_request_state | mpdc_network_fragment_collection_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fragment_collection_response_state | mpdc_network_fragment_collection_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fragment_query_request_state | mpdc_network_fragment_query_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_fragment_query_response_state | mpdc_network_fragment_query_response_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_key_exchange_request_state | mpdc_network_key_exchange_request_state |
|
typedef MPDC_EXPORT_API struct mpdc_network_key_exchange_response_state | mpdc_network_key_exchange_response_state |
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_announce_broadcast (mpdc_network_announce_request_state *state) |
| Announce a certificate using the dla, and broadcast it to the network.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_announce_response (mpdc_network_announce_response_state *state, const mpdc_network_packet *packetin) |
| Process a announce response message.
|
|
MPDC_EXPORT_API uint16_t | mpdc_network_application_to_port (mpdc_network_designations tnode) |
| Gets the network designation from a port number.
|
|
MPDC_EXPORT_API void | mpdc_network_broadcast_message (const mpdc_topology_list_state *list, const uint8_t *message, size_t msglen, mpdc_network_designations tnode) |
| Broadcast a message to a node type on the network.
|
|
MPDC_EXPORT_API qsc_socket_exceptions | mpdc_network_connect_to_device (qsc_socket *csock, const char *address, mpdc_network_designations designation) |
| Connect a socket to a remote address.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_converge_request (const mpdc_network_converge_request_state *state) |
| The DLA sends out a convergence request, and broadcast it to the network.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_converge_response (const mpdc_network_converge_response_state *state, const mpdc_network_packet *packetin) |
| Respond to a dla network converge request.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_converge_update_verify (mpdc_network_converge_update_verify_state *state, const mpdc_network_packet *packetin) |
| Process a converge response update message.
|
|
MPDC_EXPORT_API qsc_socket_exceptions | mpdc_network_connect_to_address (qsc_socket *csock, const char *address, uint16_t port) |
| Connect a socket to a remote address and port.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_fkey_request (mpdc_network_fkey_request_state *state) |
| Request and execute a key exchange for a fragmentation key.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_fkey_response (mpdc_network_fkey_response_state *state, const mpdc_network_packet *packetin) |
| Respond and execute a key exchange for a fragmentation key.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_fragment_collection_request (mpdc_network_fragment_collection_request_state *state) |
| A Client requests a fragment collection from a MAS.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_fragment_collection_response (mpdc_network_fragment_collection_response_state *state, const mpdc_network_packet *packetin) |
| A MAS sends a collection response to a Client.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_fragment_query_response (const mpdc_network_fragment_query_response_state *state, const mpdc_network_packet *packetin) |
| An Agent sends a fragment query response to a MAS.
|
|
MPDC_EXPORT_API bool | mpdc_network_get_local_address (char address[MPDC_CERTIFICATE_ADDRESS_SIZE]) |
| Get the local IP address.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_send_error (const qsc_socket *csock, mpdc_protocol_errors error) |
| Send an error message.
|
|
MPDC_EXPORT_API void | mpdc_network_socket_dispose (qsc_socket *csock) |
| Shut down and dispose of a socket instance.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_incremental_update_request (const mpdc_network_incremental_update_request_state *state) |
| Send an incremental update request.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_incremental_update_response (const mpdc_network_incremental_update_response_state *state, const mpdc_network_packet *packetin) |
| Send a copy of a certificate to a remote host.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_register_request (mpdc_network_register_request_state *state) |
| Send an Agent join request to the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_register_update_request (mpdc_network_register_update_request_state *state) |
| Send a MAS or Client join update request to the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_register_response (mpdc_network_register_response_state *state, const mpdc_network_packet *packetin) |
| Send a join response to the agent.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_register_update_response (mpdc_network_register_update_response_state *state, const mpdc_network_packet *packetin) |
| Send a join update response to the server or client.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_remote_signing_request (mpdc_network_remote_signing_request_state *state) |
| Send a certificate signing request from the DLA to the RDS.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_remote_signing_response (mpdc_network_remote_signing_response_state *state, const mpdc_network_packet *packetin) |
| Send a signed certificate response from the RDS to the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_mfk_exchange_request (mpdc_network_mfk_request_state *state) |
| Request and execute a key exchange request for a master fragmentation key.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_mfk_exchange_response (mpdc_network_mfk_response_state *state, const mpdc_network_packet *packetin) |
| Request and execute a key exchange response for a master fragmentation key.
|
|
MPDC_EXPORT_API mpdc_network_designations | mpdc_network_port_to_application (uint16_t port) |
| Gets the network designation from a port number.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_certificate_verify (const mpdc_child_certificate *ccert, const mpdc_root_certificate *root) |
| Verify a certificates format and root signature.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_resign_request (const mpdc_network_resign_request_state *state) |
| Send a resign request to the dla.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_resign_response (mpdc_network_resign_response_state *state, const mpdc_network_packet *packetin) |
| Send a resign response to the agent or server.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_revoke_broadcast (mpdc_network_revoke_request_state *state) |
| Send a revocation request from the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_revoke_response (mpdc_network_revoke_response_state *state, const mpdc_network_packet *packetin) |
| Verify a revocation request sent from the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_topological_query_request (const mpdc_network_topological_query_request_state *state) |
| Query a device for its topological information.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_topological_query_response (const mpdc_network_topological_query_response_state *state, const mpdc_network_packet *packetin) |
| Respond to a topological query request.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_topological_status_request (const mpdc_network_topological_status_request_state *state) |
| Send a status request from the DLA to a client device.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_topological_status_verify (const mpdc_network_topological_status_request_state *state, const mpdc_network_packet *packetin) |
| Verify the status response from the DLA.
|
|
MPDC_EXPORT_API mpdc_protocol_errors | mpdc_network_topological_status_response (const mpdc_network_topological_status_response_state *state, const mpdc_network_packet *packetin) |
| Process the status response from the client device and send a response.
|
|
The MPDC network functions.
This header defines the public network functions and data types used by MPDC to perform secure network operations. These operations include certificate announcement, network convergence, registration and update of network nodes, key exchange, remote signing, revocation, and topological queries.
Each network message is encapsulated in a packet that includes a header (with a time-stamp, sequence number, and flag), a payload, and a digital signature that covers the payload and header. This ensures integrity, authenticity, and protection against replay attacks.
- Note
- This header declares only the public API. Many internal functions (such as those for constructing and validating packet headers, hashing, signing, etc.) are defined as static in the implementation file.
Example:
req_state.
list = &global_topology_list;
req_state.
rnode = &remote_node;
req_state.
sigkey = local_signing_key;
{
}
mpdc_protocol_errors
The MPDC protocol error values.
Definition mpdc.h:1219
@ mpdc_protocol_error_none
Definition mpdc.h:1220
MPDC_EXPORT_API mpdc_protocol_errors mpdc_network_announce_broadcast(mpdc_network_announce_request_state *state)
Announce a certificate using the dla, and broadcast it to the network.
Definition network.c:473
The certificate announce request function state.
Definition network.h:87
const uint8_t * sigkey
Definition network.h:90
const mpdc_topology_node_state * rnode
Definition network.h:89
const mpdc_topology_list_state * list
Definition network.h:88