36#define QUIC_TLS_CERT_CHAIN_MAX 10
66#define QUIC_TLS_SCHEME_ED25519 0x0807
76 quic_span sig,
const u8 transcript_hash[32],
const u8 pubkey[32]);
int quic_tls_certverify_ed25519(quic_span sig, const u8 transcript_hash[32], const u8 pubkey[32])
Verify a server's CertificateVerify Ed25519 signature (RFC 8446 4.4.3).
int quic_tls_certverify_parse(quic_span buf, u16 *scheme, quic_span *sig)
Parse a CertificateVerify body: a 2-byte SignatureScheme then a 2-byte-length-prefixed signature.
int quic_tls_cert_chain(quic_span buf, quic_span *context, const quic_tls_cert_chain_out *out)
Parse a Certificate message body (after the handshake header) and view EVERY CertificateEntry's cert_...
int quic_tls_cert_parse(quic_span buf, quic_span *context, quic_tls_cert_entry *first)
Parse a Certificate message body (after the handshake header).
Value-type views that fold the SDK's recurring argument shapes into single parameters,...
Read-only view of a byte range.
Definition span.h:30
Destination for quic_tls_cert_chain: entries[0..cap-1] and the count actually written.
Definition cert.h:40
usz * count
receives the number of entries written
Definition cert.h:43
quic_tls_cert_entry * entries
receives the entry views, leaf first
Definition cert.h:41
usz cap
capacity of entries
Definition cert.h:42
A view of one CertificateEntry's cert_data within the message buffer.
Definition cert.h:15
u32 cert_len
length of cert_data in bytes
Definition cert.h:17
const u8 * cert_data
start of the entry's opaque cert_data (X.509)
Definition cert.h:16
x86_64 Linux direct syscalls.
unsigned int u32
unsigned 32-bit integer
Definition syscall.h:14
u64 usz
unsigned size (size_t equivalent)
Definition syscall.h:19
unsigned short u16
unsigned 16-bit integer
Definition syscall.h:16
unsigned char u8
unsigned 8-bit integer / byte
Definition syscall.h:17