1 | =pod
|
---|
2 |
|
---|
3 | =head1 NAME
|
---|
4 |
|
---|
5 | SRP_Calc_server_key,
|
---|
6 | SRP_Calc_A,
|
---|
7 | SRP_Calc_B_ex,
|
---|
8 | SRP_Calc_B,
|
---|
9 | SRP_Calc_u_ex,
|
---|
10 | SRP_Calc_u,
|
---|
11 | SRP_Calc_x_ex,
|
---|
12 | SRP_Calc_x,
|
---|
13 | SRP_Calc_client_key_ex,
|
---|
14 | SRP_Calc_client_key
|
---|
15 | - SRP authentication primitives
|
---|
16 |
|
---|
17 | =head1 SYNOPSIS
|
---|
18 |
|
---|
19 | #include <openssl/srp.h>
|
---|
20 |
|
---|
21 | The following functions have been deprecated since OpenSSL 3.0, and can be
|
---|
22 | hidden entirely by defining B<OPENSSL_API_COMPAT> with a suitable version value,
|
---|
23 | see L<openssl_user_macros(7)>:
|
---|
24 |
|
---|
25 | /* server side .... */
|
---|
26 | BIGNUM *SRP_Calc_server_key(const BIGNUM *A, const BIGNUM *v, const BIGNUM *u,
|
---|
27 | const BIGNUM *b, const BIGNUM *N);
|
---|
28 | BIGNUM *SRP_Calc_B_ex(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g,
|
---|
29 | const BIGNUM *v, OSSL_LIB_CTX *libctx, const char *propq);
|
---|
30 | BIGNUM *SRP_Calc_B(const BIGNUM *b, const BIGNUM *N, const BIGNUM *g,
|
---|
31 | const BIGNUM *v);
|
---|
32 |
|
---|
33 | BIGNUM *SRP_Calc_u_ex(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N,
|
---|
34 | OSSL_LIB_CTX *libctx, const char *propq);
|
---|
35 | BIGNUM *SRP_Calc_u(const BIGNUM *A, const BIGNUM *B, const BIGNUM *N);
|
---|
36 |
|
---|
37 | /* client side .... */
|
---|
38 | BIGNUM *SRP_Calc_client_key_ex(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
---|
39 | const BIGNUM *x, const BIGNUM *a, const BIGNUM *u,
|
---|
40 | OSSL_LIB_CTX *libctx, const char *propq);
|
---|
41 | BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
---|
42 | const BIGNUM *x, const BIGNUM *a, const BIGNUM *u);
|
---|
43 | BIGNUM *SRP_Calc_x_ex(const BIGNUM *s, const char *user, const char *pass,
|
---|
44 | OSSL_LIB_CTX *libctx, const char *propq);
|
---|
45 | BIGNUM *SRP_Calc_x(const BIGNUM *s, const char *user, const char *pass);
|
---|
46 | BIGNUM *SRP_Calc_A(const BIGNUM *a, const BIGNUM *N, const BIGNUM *g);
|
---|
47 |
|
---|
48 | =head1 DESCRIPTION
|
---|
49 |
|
---|
50 | All of the functions described on this page are deprecated. There are no
|
---|
51 | available replacement functions at this time.
|
---|
52 |
|
---|
53 | The SRP functions described on this page are used to calculate various
|
---|
54 | parameters and keys used by SRP as defined in RFC2945. The server key and I<B>
|
---|
55 | and I<u> parameters are used on the server side and are calculated via
|
---|
56 | SRP_Calc_server_key(), SRP_Calc_B_ex(), SRP_Calc_B(), SRP_Calc_u_ex() and
|
---|
57 | SRP_Calc_u(). The client key and B<x> and B<A> parameters are used on the
|
---|
58 | client side and are calculated via the functions SRP_Calc_client_key_ex(),
|
---|
59 | SRP_Calc_client_key(), SRP_Calc_x_ex(), SRP_Calc_x() and SRP_Calc_A(). See
|
---|
60 | RFC2945 for a detailed description of their usage and the meaning of the various
|
---|
61 | BIGNUM parameters to these functions.
|
---|
62 |
|
---|
63 | Most of these functions come in two forms. Those that take a I<libctx> and
|
---|
64 | I<propq> parameter, and those that don't. Any cryptogrpahic functions that
|
---|
65 | are fetched and used during the calculation use the provided I<libctx> and
|
---|
66 | I<propq>. See L<crypto(7)/ALGORITHM FETCHING> for more details. The variants
|
---|
67 | that do not take a I<libctx> and I<propq> parameter use the default library
|
---|
68 | context and property query string. The SRP_Calc_server_key() and SRP_Calc_A()
|
---|
69 | functions do not have a form that takes I<libctx> or I<propq> parameters because
|
---|
70 | they do not need to fetch any cryptographic algorithms.
|
---|
71 |
|
---|
72 | =head1 RETURN VALUES
|
---|
73 |
|
---|
74 | All these functions return the calculated key or parameter, or NULL on error.
|
---|
75 |
|
---|
76 | =head1 SEE ALSO
|
---|
77 |
|
---|
78 | L<openssl-srp(1)>,
|
---|
79 | L<SRP_VBASE_new(3)>,
|
---|
80 | L<SRP_user_pwd_new(3)>
|
---|
81 |
|
---|
82 | =head1 HISTORY
|
---|
83 |
|
---|
84 | SRP_Calc_B_ex, SRP_Calc_u_ex, SRP_Calc_client_key_ex and SRP_Calc_x_ex were
|
---|
85 | introduced in OpenSSL 3.0.
|
---|
86 |
|
---|
87 | All of the other functions were added in OpenSSL 1.0.1.
|
---|
88 |
|
---|
89 | All of these functions were deprecated in OpenSSL 3.0.
|
---|
90 |
|
---|
91 | =head1 COPYRIGHT
|
---|
92 |
|
---|
93 | Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
|
---|
94 |
|
---|
95 | Licensed under the Apache License 2.0 (the "License"). You may not use
|
---|
96 | this file except in compliance with the License. You can obtain a copy
|
---|
97 | in the file LICENSE in the source distribution or at
|
---|
98 | L<https://www.openssl.org/source/license.html>.
|
---|
99 |
|
---|
100 | =cut
|
---|