|
ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
|
Cryptographic handshake context structure. More...
#include <lib/crypto/handshake/common.h>
Cryptographic handshake context structure.
Manages the complete handshake state for a single connection, including key exchange, authentication, and connection metadata.
Definition at line 70 of file crypto/handshake/common.h.
| uint8_t crypto_handshake_context_t::client_challenge_nonce[32] |
Mutual authentication (client challenges server) Client-generated nonce for server to prove knowledge of shared secret
Definition at line 109 of file crypto/handshake/common.h.
Referenced by crypto_handshake_client_complete(), and crypto_handshake_server_complete().
| public_key_t crypto_handshake_context_t::client_ed25519_key |
Client's Ed25519 key (received during handshake)
Definition at line 100 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_auth_challenge(), and crypto_handshake_server_complete().
| bool crypto_handshake_context_t::client_ed25519_key_verified |
Whether client's Ed25519 key was verified against whitelist
Definition at line 101 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_auth_challenge(), and crypto_handshake_server_complete().
| char crypto_handshake_context_t::client_gpg_key_id[41] |
Client's GPG key ID (8/16/40 hex chars + null terminator, for server verification)
Definition at line 84 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), and crypto_handshake_client_key_exchange().
| char crypto_handshake_context_t::client_keys_path[PLATFORM_MAX_PATH_LENGTH] |
Server: client keys file path (whitelist)
Definition at line 95 of file crypto/handshake/common.h.
| private_key_t crypto_handshake_context_t::client_private_key |
Client's Ed25519 private key (for signing challenges)
Definition at line 82 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), crypto_handshake_client_auth_response(), and crypto_handshake_client_key_exchange().
| public_key_t crypto_handshake_context_t::client_public_key |
Client identity (client only) Client's Ed25519 public key (for authentication)
Definition at line 81 of file crypto/handshake/common.h.
Referenced by client_crypto_handshake(), and client_crypto_init().
| bool crypto_handshake_context_t::client_sent_identity |
Whether client provided an identity key during handshake
Definition at line 102 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_auth_challenge(), and crypto_handshake_server_complete().
| public_key_t* crypto_handshake_context_t::client_whitelist |
Client whitelist (server only) Pointer to whitelist array (server only)
Definition at line 98 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_auth_challenge(), and server_crypto_handshake().
| crypto_context_t crypto_handshake_context_t::crypto_ctx |
Core cryptographic context Core crypto context (keys, encryption state)
Definition at line 72 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), crypto_handshake_cleanup(), crypto_handshake_client_auth_response(), crypto_handshake_client_complete(), crypto_handshake_client_key_exchange(), crypto_handshake_decrypt_packet(), crypto_handshake_encrypt_packet(), crypto_handshake_get_context(), crypto_handshake_init(), crypto_handshake_init_with_password(), crypto_handshake_is_ready(), crypto_handshake_process_rekey_complete(), crypto_handshake_process_rekey_request(), crypto_handshake_process_rekey_response(), crypto_handshake_rekey_complete(), crypto_handshake_rekey_request(), crypto_handshake_rekey_response(), crypto_handshake_server_auth_challenge(), crypto_handshake_server_complete(), crypto_handshake_server_start(), crypto_handshake_set_parameters(), crypto_handshake_should_rekey(), and crypto_handshake_validate_packet_size().
| char crypto_handshake_context_t::expected_server_key[256] |
Expected server key fingerprint (client only, for known_hosts)
Definition at line 83 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), and crypto_handshake_client_key_exchange().
| bool crypto_handshake_context_t::has_password |
Password authentication Whether password authentication is enabled
Definition at line 105 of file crypto/handshake/common.h.
Referenced by crypto_handshake_init_with_password().
| bool crypto_handshake_context_t::is_server |
True if this is the server side
Definition at line 74 of file crypto/handshake/common.h.
Referenced by crypto_handshake_init(), crypto_handshake_init_with_password(), and crypto_handshake_set_parameters().
| size_t crypto_handshake_context_t::num_whitelisted_clients |
Number of whitelisted clients
Definition at line 99 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_auth_challenge(), and server_crypto_handshake().
| char crypto_handshake_context_t::password[256] |
Password for authentication (temporary storage, cleared after use)
Definition at line 106 of file crypto/handshake/common.h.
Referenced by crypto_handshake_init_with_password().
| bool crypto_handshake_context_t::require_client_auth |
Server: require client authentication (whitelist)
Definition at line 93 of file crypto/handshake/common.h.
Referenced by client_crypto_handshake(), crypto_handshake_client_key_exchange(), crypto_handshake_init(), crypto_handshake_init_with_password(), crypto_handshake_server_auth_challenge(), crypto_handshake_server_complete(), and server_crypto_handshake().
| char crypto_handshake_context_t::server_hostname[256] |
Connection info for known_hosts Server hostname (user-provided)
Definition at line 87 of file crypto/handshake/common.h.
Referenced by client_crypto_init().
| char crypto_handshake_context_t::server_ip[256] |
Server IP address (resolved from connection)
Definition at line 88 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), and crypto_handshake_client_key_exchange().
| uint16_t crypto_handshake_context_t::server_port |
Server port
Definition at line 89 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), and crypto_handshake_client_key_exchange().
| private_key_t crypto_handshake_context_t::server_private_key |
Server's long-term Ed25519 private key (for signing)
Definition at line 78 of file crypto/handshake/common.h.
Referenced by crypto_handshake_server_start(), and server_crypto_handshake().
| public_key_t crypto_handshake_context_t::server_public_key |
Server identity (server only) Server's long-term Ed25519 public key (identity)
Definition at line 77 of file crypto/handshake/common.h.
Referenced by server_crypto_handshake().
| bool crypto_handshake_context_t::server_uses_client_auth |
Client: whether server requested client authentication
Definition at line 94 of file crypto/handshake/common.h.
Referenced by client_crypto_handshake(), crypto_handshake_client_key_exchange(), crypto_handshake_init(), and crypto_handshake_init_with_password().
| crypto_handshake_state_t crypto_handshake_context_t::state |
Current handshake state (validated by each function)
Definition at line 73 of file crypto/handshake/common.h.
Referenced by client_crypto_handshake(), crypto_handshake_client_auth_response(), crypto_handshake_client_complete(), crypto_handshake_client_key_exchange(), crypto_handshake_init(), crypto_handshake_init_with_password(), crypto_handshake_is_ready(), crypto_handshake_server_auth_challenge(), crypto_handshake_server_complete(), crypto_handshake_server_start(), and server_crypto_handshake().
| bool crypto_handshake_context_t::verify_server_key |
Authentication configuration Client: verify server key against known_hosts
Definition at line 92 of file crypto/handshake/common.h.
Referenced by client_crypto_init(), crypto_handshake_client_key_exchange(), crypto_handshake_init(), and crypto_handshake_init_with_password().