|
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
|