QSC Post Quantum Cryptographic Library 1.3.0.0 (C1)
A post quantum secure library written in Ansi C
Loading...
Searching...
No Matches
qsc_tls_socket_context Struct Reference

A reusable TLS socket policy, trust, identity, and logging context. More...

#include <tlssocket.h>

Data Fields

qsc_x509w_trust_store truststore
qsc_x509w_server_identity identity
qsc_x509w_tls_bridge bridge
qsc_x509w_tls_local_certificate localcert
qsc_x509w_tls_local_certificate snilocalcerts [QSC_TLS_SOCKET_SERVER_IDENTITY_MAX]
char snihostnames [QSC_TLS_SOCKET_SERVER_IDENTITY_MAX][QSC_TLS_MAX_HOSTNAME_SIZE+1U]
size_t sniidentitycount
bool requiresni
qsc_x509w_profile certificateprofile
qsc_tls_socket_options socketoptions
qsc_tls_socket_ticket_policy ticketpolicy
qsc_tls_alpn_protocols alpn
qsc_tls_session_ticket sessionticket
qsc_tls_socket_log_callback logcallback
void * logstate
qsc_tls_cipher_suite ciphersuites [QSC_TLS_SOCKET_CIPHER_SUITE_MAX]
qsc_tls_named_group groups [QSC_TLS_SOCKET_GROUP_MAX]
qsc_tls_signature_scheme sigschemes [QSC_TLS_SOCKET_SIGNATURE_SCHEME_MAX]
size_t ciphersuitecount
size_t groupcount
size_t sigschemecount
bool hasidentity
bool hastruststore
qsc_tls_client_authorization_callback clientauthcallback
void * clientauthstate
bool requireclientauthorization
bool requireclientauth
bool requestclientauth
bool allowunverified
bool hassessionticket
bool initialized

Detailed Description

A reusable TLS socket policy, trust, identity, and logging context.

Field Documentation

◆ allowunverified

bool allowunverified

Permit unverified peer certificates in development policy mode.

◆ alpn

The configured ALPN protocol list and required/optional policy.

◆ bridge

The X.509-to-TLS certificate verification bridge.

◆ certificateprofile

qsc_x509w_profile certificateprofile

The X.509 validation profile.

◆ ciphersuitecount

size_t ciphersuitecount

The number of cipher suites in the preference list.

◆ ciphersuites

The ordered TLS cipher suite preference list.

◆ clientauthcallback

Optional application authorization callback for validated client certificates.

◆ clientauthstate

void* clientauthstate

Caller-owned state passed to the client authorization callback.

◆ groupcount

size_t groupcount

The number of named groups in the preference list.

◆ groups

The ordered TLS named group preference list.

◆ hasidentity

bool hasidentity

Indicates that a server identity has been loaded.

◆ hassessionticket

bool hassessionticket

Indicates that a client session ticket has been configured.

◆ hastruststore

bool hastruststore

Indicates that at least one trust anchor has been loaded.

◆ identity

The loaded server identity and private key material.

◆ initialized

bool initialized

Indicates that the context has been initialized.

◆ localcert

The TLS-facing local certificate exported from the server identity.

◆ logcallback

The context-level structured logging callback.

◆ logstate

void* logstate

The context-level logging callback state.

◆ requestclientauth

bool requestclientauth

Request client certificate authentication in server mode.

◆ requireclientauth

bool requireclientauth

Require client certificate authentication in server mode.

◆ requireclientauthorization

bool requireclientauthorization

Require application authorization callback acceptance for mTLS peers.

◆ requiresni

bool requiresni

Reject server handshakes without a recognized SNI name.

◆ sessionticket

qsc_tls_session_ticket sessionticket

The configured client session ticket for resumption.

◆ sigschemecount

size_t sigschemecount

The number of signature schemes in the preference list.

◆ sigschemes

The ordered TLS signature scheme preference list.

◆ snihostnames

Hostname patterns for SNI-selectable identities.

◆ sniidentitycount

size_t sniidentitycount

The number of configured SNI-selectable identities.

◆ snilocalcerts

TLS-facing local certificates selected by SNI.

◆ socketoptions

qsc_tls_socket_options socketoptions

The default socket options for connections derived from this context.

◆ ticketpolicy

The default session ticket policy.

◆ truststore

The X.509 trust store used for peer verification.


The documentation for this struct was generated from the following file:
  • C:/Users/stepp/Documents/Visual Studio 2022/Projects/C/QSC/QSC/tlssocket.h