1gnutls_prf_rfc5705(3)               gnutls               gnutls_prf_rfc5705(3)
2
3
4

NAME

6       gnutls_prf_rfc5705 - API function
7

SYNOPSIS

9       #include <gnutls/gnutls.h>
10
11       int  gnutls_prf_rfc5705(gnutls_session_t  session,  size_t  label_size,
12       const char * label, size_t context_size, const char *  context,  size_t
13       outsize, char * out);
14

ARGUMENTS

16       gnutls_session_t session
17                   is a gnutls_session_t type.
18
19       size_t label_size
20                   length of the  label variable.
21
22       const char * label
23                   label used in PRF computation, typically a short string.
24
25       size_t context_size
26                   length of the  extra variable.
27
28       const char * context
29                   optional extra data to seed the PRF with.
30
31       size_t outsize
32                   size of pre-allocated output buffer to hold the output.
33
34       char * out  pre-allocated buffer to hold the generated data.
35

DESCRIPTION

37       Exports  keying  material  from  TLS/DTLS session to an application, as
38       specified in RFC5705.
39
40       In the TLS versions prior  to  1.3,  it  applies  the  TLS  Pseudo-Ran‐
41       dom-Function  (PRF)  on the master secret and the provided data, seeded
42       with the client and server random fields.
43
44       In TLS 1.3, it applies HKDF on the exporter master secret derived  from
45       the master secret.
46
47       The   label variable usually contains a string denoting the purpose for
48       the generated data.
49
50       The  context variable can be used to add more data to the  seed,  after
51       the random variables.  It can be used to make sure the generated output
52       is strongly connected to some additional data (e.g., a string  used  in
53       user authentication).
54
55       The output is placed in  out , which must be pre-allocated.
56
57       Note  that,  to provide the RFC5705 context, the  context variable must
58       be non-null.
59

RETURNS

61       GNUTLS_E_SUCCESS on success, or an error code.
62

SINCE

64       3.4.4
65

REPORTING BUGS

67       Report bugs to <bugs@gnutls.org>.
68       Home page: https://www.gnutls.org
69
70
72       Copyright © 2001-2019 Free Software Foundation, Inc., and others.
73       Copying and distribution of this file, with  or  without  modification,
74       are  permitted  in  any  medium  without royalty provided the copyright
75       notice and this notice are preserved.
76

SEE ALSO

78       The full documentation for gnutls is maintained as  a  Texinfo  manual.
79       If  the /usr/share/doc/gnutls/ directory does not contain the HTML form
80       visit
81
82       https://www.gnutls.org/manual/
83
84gnutls                              3.6.11               gnutls_prf_rfc5705(3)
Impressum