A reusable TLS socket policy, trust, identity, and logging context. More...
#include <tlssocket.h>
A reusable TLS socket policy, trust, identity, and logging context.
| bool allowunverified |
Permit unverified peer certificates in development policy mode.
The configured ALPN protocol list and required/optional policy.
| qsc_x509w_tls_bridge bridge |
The X.509-to-TLS certificate verification bridge.
| qsc_x509w_profile certificateprofile |
The X.509 validation profile.
| size_t ciphersuitecount |
The number of cipher suites in the preference list.
| qsc_tls_cipher_suite ciphersuites[QSC_TLS_SOCKET_CIPHER_SUITE_MAX] |
The ordered TLS cipher suite preference list.
| qsc_tls_client_authorization_callback clientauthcallback |
Optional application authorization callback for validated client certificates.
| void* clientauthstate |
Caller-owned state passed to the client authorization callback.
| size_t groupcount |
The number of named groups in the preference list.
The ordered TLS named group preference list.
| bool hasidentity |
Indicates that a server identity has been loaded.
| bool hassessionticket |
Indicates that a client session ticket has been configured.
| bool hastruststore |
Indicates that at least one trust anchor has been loaded.
| qsc_x509w_server_identity identity |
The loaded server identity and private key material.
| bool initialized |
Indicates that the context has been initialized.
| qsc_x509w_tls_local_certificate localcert |
The TLS-facing local certificate exported from the server identity.
| qsc_tls_socket_log_callback logcallback |
The context-level structured logging callback.
| void* logstate |
The context-level logging callback state.
| bool requestclientauth |
Request client certificate authentication in server mode.
| bool requireclientauth |
Require client certificate authentication in server mode.
| bool requireclientauthorization |
Require application authorization callback acceptance for mTLS peers.
| bool requiresni |
Reject server handshakes without a recognized SNI name.
| qsc_tls_session_ticket sessionticket |
The configured client session ticket for resumption.
| size_t sigschemecount |
The number of signature schemes in the preference list.
The ordered TLS signature scheme preference list.
| char snihostnames[QSC_TLS_SOCKET_SERVER_IDENTITY_MAX][QSC_TLS_MAX_HOSTNAME_SIZE+1U] |
Hostname patterns for SNI-selectable identities.
| size_t sniidentitycount |
The number of configured SNI-selectable identities.
TLS-facing local certificates selected by SNI.
| qsc_tls_socket_options socketoptions |
The default socket options for connections derived from this context.
| qsc_tls_socket_ticket_policy ticketpolicy |
The default session ticket policy.
| qsc_x509w_trust_store truststore |
The X.509 trust store used for peer verification.