|
|
typedef AERN_EXPORT_API struct aern_network_announce_request_state | aern_network_announce_request_state |
|
typedef AERN_EXPORT_API struct aern_network_announce_response_state | aern_network_announce_response_state |
|
typedef AERN_EXPORT_API struct aern_network_converge_request_state | aern_network_converge_request_state |
|
typedef AERN_EXPORT_API struct aern_network_converge_response_state | aern_network_converge_response_state |
|
typedef AERN_EXPORT_API struct aern_network_converge_response_verify_state | aern_network_converge_response_verify_state |
|
typedef AERN_EXPORT_API struct aern_network_converge_update_verify_state | aern_network_converge_update_verify_state |
|
typedef AERN_EXPORT_API struct aern_network_fkey_request_state | aern_network_fkey_request_state |
|
typedef AERN_EXPORT_API struct aern_network_fkey_response_state | aern_network_fkey_response_state |
|
typedef AERN_EXPORT_API struct aern_network_incremental_update_request_state | aern_network_incremental_update_request_state |
|
typedef AERN_EXPORT_API struct aern_network_incremental_update_response_state | aern_network_incremental_update_response_state |
|
typedef AERN_EXPORT_API struct aern_network_register_request_state | aern_network_register_request_state |
|
typedef AERN_EXPORT_API struct aern_network_register_response_state | aern_network_register_response_state |
|
typedef AERN_EXPORT_API struct aern_network_register_update_request_state | aern_network_register_update_request_state |
|
typedef AERN_EXPORT_API struct aern_network_register_update_response_state | aern_network_register_update_response_state |
|
typedef AERN_EXPORT_API struct aern_network_mfk_request_state | aern_network_mfk_request_state |
|
typedef AERN_EXPORT_API struct aern_network_mfk_response_state | aern_network_mfk_response_state |
|
typedef AERN_EXPORT_API struct aern_network_remote_signing_request_state | aern_network_remote_signing_request_state |
|
typedef AERN_EXPORT_API struct aern_network_remote_signing_response_state | aern_network_remote_signing_response_state |
|
typedef AERN_EXPORT_API struct aern_network_resign_request_state | aern_network_resign_request_state |
|
typedef AERN_EXPORT_API struct aern_network_resign_response_state | aern_network_resign_response_state |
|
typedef AERN_EXPORT_API struct aern_network_revoke_request_state | aern_network_revoke_request_state |
|
typedef AERN_EXPORT_API struct aern_network_revoke_response_state | aern_network_revoke_response_state |
|
typedef AERN_EXPORT_API struct aern_network_topological_query_request_state | aern_network_topological_query_request_state |
|
typedef AERN_EXPORT_API struct aern_network_topological_query_response_state | aern_network_topological_query_response_state |
|
typedef AERN_EXPORT_API struct aern_network_topological_status_request_state | aern_network_topological_status_request_state |
|
typedef AERN_EXPORT_API struct aern_network_topological_status_response_state | aern_network_topological_status_response_state |
|
typedef AERN_EXPORT_API struct aern_network_fragment_collection_request_state | aern_network_fragment_collection_request_state |
|
typedef AERN_EXPORT_API struct aern_network_fragment_collection_response_state | aern_network_fragment_collection_response_state |
|
typedef AERN_EXPORT_API struct aern_network_fragment_query_request_state | aern_network_fragment_query_request_state |
|
typedef AERN_EXPORT_API struct aern_network_fragment_query_response_state | aern_network_fragment_query_response_state |
|
typedef AERN_EXPORT_API struct aern_network_key_exchange_request_state | aern_network_key_exchange_request_state |
|
typedef AERN_EXPORT_API struct aern_network_key_exchange_response_state | aern_network_key_exchange_response_state |
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_announce_broadcast (aern_network_announce_request_state *state) |
| | Announce a certificate using the ads, and broadcast it to the network.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_announce_response (aern_network_announce_response_state *state, const aern_network_packet *packetin) |
| | Process a announce response message.
|
| AERN_EXPORT_API uint16_t | aern_network_application_to_port (aern_network_designations tnode) |
| | Gets the network designation from a port number.
|
| AERN_EXPORT_API void | aern_network_broadcast_message (const aern_topology_list_state *list, const uint8_t *message, size_t msglen, aern_network_designations tnode) |
| | Broadcast a message to a node type on the network.
|
| AERN_EXPORT_API qsc_socket_exceptions | aern_network_connect_to_device (qsc_socket *csock, const char *address, aern_network_designations designation) |
| | Connect a socket to a remote address.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_converge_request (const aern_network_converge_request_state *state) |
| | The ADC sends out a convergence request, and broadcast it to the network.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_converge_response (const aern_network_converge_response_state *state, const aern_network_packet *packetin) |
| | Respond to a ads network converge request.
|
| AERN_EXPORT_API qsc_socket_exceptions | aern_network_connect_to_address (qsc_socket *csock, const char *address, uint16_t port) |
| | Connect a socket to a remote address and port.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_fkey_request (aern_network_fkey_request_state *state) |
| | Request and execute a key exchange for a fragmentation key.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_fkey_response (aern_network_fkey_response_state *state, const aern_network_packet *packetin) |
| | Respond and execute a key exchange for a fragmentation key.
|
| AERN_EXPORT_API bool | aern_network_get_local_address (char address[AERN_CERTIFICATE_ADDRESS_SIZE]) |
| | Get the local IP address.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_send_error (const qsc_socket *csock, aern_protocol_errors error) |
| | Send an error message.
|
| AERN_EXPORT_API void | aern_network_socket_dispose (qsc_socket *csock) |
| | Shut down and dispose of a socket instance.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_incremental_update_request (const aern_network_incremental_update_request_state *state) |
| | Send an incremental update request.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_incremental_update_response (const aern_network_incremental_update_response_state *state, const aern_network_packet *packetin) |
| | Send a copy of a certificate to a remote host.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_register_request (aern_network_register_request_state *state) |
| | Send an APS join request to the ADC.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_register_update_request (aern_network_register_update_request_state *state) |
| | Send a MAS or Client join update request to the ADC.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_register_response (aern_network_register_response_state *state, const aern_network_packet *packetin) |
| | Send a join response to the aps.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_register_update_response (aern_network_register_update_response_state *state, const aern_network_packet *packetin) |
| | Send a join update response to the server or client.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_remote_signing_request (aern_network_remote_signing_request_state *state) |
| | Send a certificate signing request from the ADC to the ARS.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_remote_signing_response (aern_network_remote_signing_response_state *state, const aern_network_packet *packetin) |
| | Send a signed certificate response from the ARS to the ADC.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_mfk_exchange_request (aern_network_mfk_request_state *state) |
| | Request and execute a key exchange request for a master fragmentation key.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_mfk_exchange_response (aern_network_mfk_response_state *state, const aern_network_packet *packetin) |
| | Request and execute a key exchange response for a master fragmentation key.
|
| AERN_EXPORT_API aern_network_designations | aern_network_port_to_application (uint16_t port) |
| | Gets the network designation from a port number.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_certificate_verify (const aern_child_certificate *ccert, const aern_root_certificate *root) |
| | Verify a certificates format and root signature.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_resign_request (const aern_network_resign_request_state *state) |
| | Send a resign request to the ads.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_resign_response (aern_network_resign_response_state *state, const aern_network_packet *packetin) |
| | Send a resign response to the aps or server.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_revoke_broadcast (aern_network_revoke_request_state *state) |
| | Send a revocation request from the ADC.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_revoke_response (aern_network_revoke_response_state *state, const aern_network_packet *packetin) |
| | Verify a revocation request sent from the ADC.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_topological_query_request (const aern_network_topological_query_request_state *state) |
| | Query a device for its topological information.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_topological_query_response (const aern_network_topological_query_response_state *state, const aern_network_packet *packetin) |
| | Respond to a topological query request.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_topological_status_request (const aern_network_topological_status_request_state *state) |
| | Send a status request from the ADC to a client device.
|
| AERN_EXPORT_API aern_protocol_errors | aern_network_topological_status_response (const aern_network_topological_status_response_state *state, const aern_network_packet *packetin) |
| | Process the status response from the client device and send a response.
|
The AERN network functions.
This header defines the public network functions and data types used by AERN 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;
{
}
aern_protocol_errors
The AERN protocol error values.
Definition aern.h:1244
@ aern_protocol_error_none
Definition aern.h:1245
AERN_EXPORT_API aern_protocol_errors aern_network_announce_broadcast(aern_network_announce_request_state *state)
Announce a certificate using the ads, and broadcast it to the network.
Definition network.c:475
The certificate announce request function state.
Definition network.h:87
const aern_topology_list_state * list
Definition network.h:88
const aern_topology_node_state * rnode
Definition network.h:89
const uint8_t * sigkey
Definition network.h:90