1*b077aed3SPierre Pronchery=pod 2*b077aed3SPierre Pronchery 3*b077aed3SPierre Pronchery=head1 NAME 4*b077aed3SPierre Pronchery 5*b077aed3SPierre ProncherySRP_user_pwd_new, 6*b077aed3SPierre ProncherySRP_user_pwd_free, 7*b077aed3SPierre ProncherySRP_user_pwd_set1_ids, 8*b077aed3SPierre ProncherySRP_user_pwd_set_gN, 9*b077aed3SPierre ProncherySRP_user_pwd_set0_sv 10*b077aed3SPierre Pronchery- Functions to create a record of SRP user verifier information 11*b077aed3SPierre Pronchery 12*b077aed3SPierre Pronchery=head1 SYNOPSIS 13*b077aed3SPierre Pronchery 14*b077aed3SPierre Pronchery #include <openssl/srp.h> 15*b077aed3SPierre Pronchery 16*b077aed3SPierre ProncheryThe following functions have been deprecated since OpenSSL 3.0, and can be 17*b077aed3SPierre Proncheryhidden entirely by defining B<OPENSSL_API_COMPAT> with a suitable version value, 18*b077aed3SPierre Proncherysee L<openssl_user_macros(7)>: 19*b077aed3SPierre Pronchery 20*b077aed3SPierre Pronchery SRP_user_pwd *SRP_user_pwd_new(void); 21*b077aed3SPierre Pronchery void SRP_user_pwd_free(SRP_user_pwd *user_pwd); 22*b077aed3SPierre Pronchery 23*b077aed3SPierre Pronchery int SRP_user_pwd_set1_ids(SRP_user_pwd *user_pwd, const char *id, const char *info); 24*b077aed3SPierre Pronchery void SRP_user_pwd_set_gN(SRP_user_pwd *user_pwd, const BIGNUM *g, const BIGNUM *N); 25*b077aed3SPierre Pronchery int SRP_user_pwd_set0_sv(SRP_user_pwd *user_pwd, BIGNUM *s, BIGNUM *v); 26*b077aed3SPierre Pronchery 27*b077aed3SPierre Pronchery=head1 DESCRIPTION 28*b077aed3SPierre Pronchery 29*b077aed3SPierre ProncheryAll of the functions described on this page are deprecated. There are no 30*b077aed3SPierre Proncheryavailable replacement functions at this time. 31*b077aed3SPierre Pronchery 32*b077aed3SPierre ProncheryThe SRP_user_pwd_new() function allocates a structure to store a user verifier 33*b077aed3SPierre Proncheryrecord. 34*b077aed3SPierre Pronchery 35*b077aed3SPierre ProncheryThe SRP_user_pwd_free() function frees up the B<user_pwd> structure. 36*b077aed3SPierre ProncheryIf B<user_pwd> is NULL, nothing is done. 37*b077aed3SPierre Pronchery 38*b077aed3SPierre ProncheryThe SRP_user_pwd_set1_ids() function sets the username to B<id> and the optional 39*b077aed3SPierre Proncheryuser info to B<info> for B<user_pwd>. 40*b077aed3SPierre ProncheryThe library allocates new copies of B<id> and B<info>, the caller still 41*b077aed3SPierre Proncheryowns the original memory. 42*b077aed3SPierre Pronchery 43*b077aed3SPierre ProncheryThe SRP_user_pwd_set0_sv() function sets the user salt to B<s> and the verifier 44*b077aed3SPierre Proncheryto B<v> for B<user_pwd>. 45*b077aed3SPierre ProncheryThe library takes ownership of the values, they should not be freed by the caller. 46*b077aed3SPierre Pronchery 47*b077aed3SPierre ProncheryThe SRP_user_pwd_set_gN() function sets the SRP group parameters for B<user_pwd>. 48*b077aed3SPierre ProncheryThe memory is not freed by SRP_user_pwd_free(), the caller must make sure it is 49*b077aed3SPierre Proncheryfreed once it is no longer used. 50*b077aed3SPierre Pronchery 51*b077aed3SPierre Pronchery=head1 RETURN VALUES 52*b077aed3SPierre Pronchery 53*b077aed3SPierre ProncherySRP_user_pwd_set1_ids() returns 1 on success and 0 on failure or if B<id> was NULL. 54*b077aed3SPierre Pronchery 55*b077aed3SPierre ProncherySRP_user_pwd_set0_sv() returns 1 if both B<s> and B<v> are not NULL, 0 otherwise. 56*b077aed3SPierre Pronchery 57*b077aed3SPierre Pronchery=head1 SEE ALSO 58*b077aed3SPierre Pronchery 59*b077aed3SPierre ProncheryL<openssl-srp(1)>, 60*b077aed3SPierre ProncheryL<SRP_create_verifier(3)>, 61*b077aed3SPierre ProncheryL<SRP_VBASE_new(3)>, 62*b077aed3SPierre ProncheryL<SSL_CTX_set_srp_password(3)> 63*b077aed3SPierre Pronchery 64*b077aed3SPierre Pronchery=head1 HISTORY 65*b077aed3SPierre Pronchery 66*b077aed3SPierre ProncheryThese functions were made public in OpenSSL 3.0 and are deprecated. 67*b077aed3SPierre Pronchery 68*b077aed3SPierre Pronchery=head1 COPYRIGHT 69*b077aed3SPierre Pronchery 70*b077aed3SPierre ProncheryCopyright 2018-2021 The OpenSSL Project Authors. All Rights Reserved. 71*b077aed3SPierre Pronchery 72*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License"). You may not use 73*b077aed3SPierre Proncherythis file except in compliance with the License. You can obtain a copy 74*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at 75*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>. 76*b077aed3SPierre Pronchery 77*b077aed3SPierre Pronchery=cut 78