Blame doc/functions/gnutls_prf_rfc5705

Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
Packit Service 4684c1
@deftypefun {int} {gnutls_prf_rfc5705} (gnutls_session_t @var{session}, size_t @var{label_size}, const char * @var{label}, size_t @var{context_size}, const char * @var{context}, size_t @var{outsize}, char * @var{out})
Packit Service 4684c1
@var{session}: is a @code{gnutls_session_t}  type.
Packit Service 4684c1
Packit Service 4684c1
@var{label_size}: length of the  @code{label} variable.
Packit Service 4684c1
Packit Service 4684c1
@var{label}: label used in PRF computation, typically a short string.
Packit Service 4684c1
Packit Service 4684c1
@var{context_size}: length of the  @code{extra} variable.
Packit Service 4684c1
Packit Service 4684c1
@var{context}: optional extra data to seed the PRF with.
Packit Service 4684c1
Packit Service 4684c1
@var{outsize}: size of pre-allocated output buffer to hold the output.
Packit Service 4684c1
Packit Service 4684c1
@var{out}: pre-allocated buffer to hold the generated data.
Packit Service 4684c1
Packit Service 4684c1
Exports keying material from TLS/DTLS session to an application, as
Packit Service 4684c1
specified in RFC5705.
Packit Service 4684c1
Packit Service 4684c1
In the TLS versions prior to 1.3, it applies the TLS
Packit Service 4684c1
Pseudo-Random-Function (PRF) on the master secret and the provided
Packit Service 4684c1
data, seeded with the client and server random fields.
Packit Service 4684c1
Packit Service 4684c1
In TLS 1.3, it applies HKDF on the exporter master secret derived
Packit Service 4684c1
from the master secret.
Packit Service 4684c1
Packit Service 4684c1
The  @code{label} variable usually contains a string denoting the purpose
Packit Service 4684c1
for the generated data.
Packit Service 4684c1
Packit Service 4684c1
The  @code{context} variable can be used to add more data to the seed, after
Packit Service 4684c1
the random variables.  It can be used to make sure the
Packit Service 4684c1
generated output is strongly connected to some additional data
Packit Service 4684c1
(e.g., a string used in user authentication). 
Packit Service 4684c1
Packit Service 4684c1
The output is placed in  @code{out} , which must be pre-allocated.
Packit Service 4684c1
Packit Service 4684c1
Note that, to provide the RFC5705 context, the  @code{context} variable
Packit Service 4684c1
must be non-null.
Packit Service 4684c1
Packit Service 4684c1
@strong{Returns:} @code{GNUTLS_E_SUCCESS}  on success, or an error code.
Packit Service 4684c1
Packit Service 4684c1
@strong{Since:} 3.4.4
Packit Service 4684c1
@end deftypefun