52#ifndef QSC_TLS_TRANSCRIPT_H
53#define QSC_TLS_TRANSCRIPT_H
59QSC_CPLUSPLUS_ENABLED_START
142QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:645
Stores the active transcript hash context and its selected hash algorithm.
Definition tlsstate.h:72
TLS status code definitions and diagnostic string conversion.
qsc_tls_status
Definition tlserrors.h:65
TLS internal state container type definitions shared across the record and handshake layers.
QSC_EXPORT_API void qsc_tls_transcript_dispose(qsc_tls_transcript_state *state)
Dispose of a transcript hash state.
Definition tlstranscript.c:54
QSC_EXPORT_API qsc_tls_status qsc_tls_transcript_replace_with_message_hash(qsc_tls_transcript_state *state)
Replace the transcript with the synthetic message_hash form used after HelloRetryRequest.
Definition tlstranscript.c:189
QSC_EXPORT_API qsc_tls_status qsc_tls_transcript_initialize(qsc_tls_transcript_state *state, qsc_tls_hash_algorithm hash)
Initialize a transcript hash state.
Definition tlstranscript.c:6
QSC_EXPORT_API qsc_tls_status qsc_tls_transcript_update(qsc_tls_transcript_state *state, const uint8_t *input, size_t inplen)
Append serialized handshake bytes to the transcript hash.
Definition tlstranscript.c:64
QSC_EXPORT_API size_t qsc_tls_transcript_digest_size(qsc_tls_hash_algorithm hash)
Get the digest size in bytes for a TLS transcript hash algorithm.
Definition tlstranscript.c:274
QSC_EXPORT_API qsc_tls_status qsc_tls_transcript_snapshot(const qsc_tls_transcript_state *state, uint8_t *output, size_t outlen, size_t *written)
Snapshot the current transcript digest without disturbing the ongoing hash state.
Definition tlstranscript.c:111
qsc_tls_hash_algorithm
Identifies the transcript and HKDF hash algorithm associated with a TLS cipher suite.
Definition tlstypes.h:69