Name

gnutls_srp_set_server_credentials_function — API function

Synopsis

#include <gnutls/gnutls.h>
void gnutls_srp_set_server_credentials_function( gnutls_srp_server_credentials_t cred,
  gnutls_srp_server_credentials_function * func);
 

ARGUMENTS

gnutls_srp_server_credentials_t cred

is a gnutls_srp_server_credentials_t structure.

gnutls_srp_server_credentials_function * func

is the callback function

DESCRIPTION

This function can be used to set a callback to retrieve the user's SRP credentials. The callback's function form is:

int (*callback)(gnutls_session_t, const char* username, gnutls_datum_t* salt, gnutls_datum_t *verifier, gnutls_datum_t* generator, gnutls_datum_t* prime);

username contains the actual username. The salt , verifier , generator and prime must be filled in using the gnutls_malloc(). For convenience prime and generator may also be one of the static parameters defined in gnutls.h.

In case the callback returned a negative number then gnutls will assume that the username does not exist.

In order to prevent attackers from guessing valid usernames, if a user does not exist, g and n values should be filled in using a random user's parameters. In that case the callback must return the special value (1).

The callback function will only be called once per handshake. The callback function should return 0 on success, while −1 indicates an error.

REPORTING BUGS

Report bugs to <bug-gnutls@gnu.org>.

General guidelines for reporting bugs: http://www.gnu.org/gethelp/

GnuTLS home page: http://www.gnu.org/software/gnutls/

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. As an alternative you may obtain the manual from:

COPYRIGHT

Copyright © 2001-2013 Free Software Foundation, Inc..

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.