wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
quic_sdrv_init_in Struct Reference

Inputs to quic_sdrv_init. More...

#include <sdrv.h>

Data Fields

const u8server_priv_x25519
 ECDHE x25519 private (32 bytes).
const u8server_pub_x25519
 ECDHE x25519 public (32 bytes).
const u8sign_priv
 ECDSA P-256 signing scalar (32 bytes).
const quic_spanchain
 external chain, leaf first; NULL for self-signed mode (caller keeps the views alive through the handshake)
usz chain_count
 entries in chain; 0 = self-signed mode
const u8san_ipv4
 RFC 5280 4.2.1.6: see wired_srvboot_id.san_ipv4's doc.
u64 now_secs
 RFC 5280 4.1.2.5.1: see wired_srvboot_id.now_secs's doc.
const u8ticket_key
 RFC 8446 4.6.1: this server's session-ticket encryption key (QUIC_TICKET_KEY_LEN bytes), or 0 to disable session resumption – quic_sdrv_recv_client_hello then never inspects pre_shared_key.

Detailed Description

Inputs to quic_sdrv_init.

server_priv_x25519/server_pub_x25519 are the ECDHE key pair. sign_priv is the ECDSA P-256 signing scalar; in self-signed mode (chain is NULL or chain_count is 0) it also signs the driver's own generated certificate's TBS. chain/chain_count, when non-empty, are an externally issued certificate chain (leaf first, views the caller keeps alive through the handshake) to send instead of a self-signed certificate; chain_count over QUIC_TLS_CERT_CHAIN_MAX makes the flight unbuildable (cert_count stays 0), not a truncated/overflowing copy.

Field Documentation

◆ now_secs

u64 quic_sdrv_init_in::now_secs

RFC 5280 4.1.2.5.1: see wired_srvboot_id.now_secs's doc.

Only used in self-signed mode (ignored when an external chain is given). 0 to keep the fixed 2020-2030 window (tests only).

◆ san_ipv4

const u8* quic_sdrv_init_in::san_ipv4

RFC 5280 4.2.1.6: see wired_srvboot_id.san_ipv4's doc.

0 to omit.


The documentation for this struct was generated from the following file:
  • tls/handshake/core/sdrv/sdrv.h