Man Linux: Main Page and Category List

NAME

       gnutls_prf - derive pseudo-random data using the TLS PRF

SYNOPSIS

       #include <gnutls/gnutls.h>

       int  gnutls_prf(gnutls_session_t session, size_t label_size, const char
       * label, int  server_random_first,  size_t  extra_size,  const  char  *
       extra, size_t outsize, char * out);

ARGUMENTS

       gnutls_session_t session
                   is a gnutls_session_t structure.

       size_t label_size
                   length of the label variable.

       const char * label
                   label used in PRF computation, typically a short string.

       int server_random_first
                   non-0 if server random field should be first in seed

       size_t extra_size
                   length of the extra variable.

       const char * extra
                   optional extra data to seed the PRF with.

       size_t outsize
                   size of pre-allocated output buffer to hold the output.

       char * out  pre-allocate buffer to hold the generated data.

DESCRIPTION

       Apply  the  TLS Pseudo-Random-Function (PRF) using the master secret on
       some data, seeded with the client and server random fields.

       The label variable usually contain a string denoting  the  purpose  for
       the  generated  data.   The  server_random_first  indicate  whether the
       client random field or the server random field should be first  in  the
       seed.  Non-0 indicate that the server random field is first, 0 that the
       client random field is first.

       The extra variable can be used to add more data to the seed, after  the
       random variables.  It can be used to tie make sure the generated output
       is strongly connected to some additional data (e.g., a string  used  in
       user authentication).

       The output is placed in *OUT, which must be pre-allocated.

RETURNS

       GNUTLS_E_SUCCESS on success, or an error code.

REPORTING BUGS

       Report    bugs    to    <bug-gnutls@gnu.org>.     GnuTLS   home   page:
       http://www.gnu.org/software/gnutls/ General help  using  GNU  software:
       http://www.gnu.org/gethelp/

COPYRIGHT

       Copyright © 2008 Free Software Foundation.
       Copying  and  distribution  of this file, with or without modification,
       are permitted in any medium  without  royalty  provided  the  copyright
       notice and this notice are preserved.

SEE ALSO

       The  full  documentation  for gnutls is maintained as a Texinfo manual.
       If the info and gnutls programs are properly installed  at  your  site,
       the command

              info gnutls

       should give you access to the complete manual.