[#SRP_create_verifier_ex]
= SRP&lowbar;create&lowbar;verifier&lowbar;ex
:mrdocs:

Create base64&hyphen;encoded SRP salt and verifier strings for a user&sol;password&period;

== Synopsis

Declared in `&lt;openssl&sol;srp&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;deprecated&rsqb;&rsqb;
char*
SRP&lowbar;create&lowbar;verifier&lowbar;ex(
    char const* user,
    char const* pass,
    char** salt,
    char** verifier,
    char const* N,
    char const* g,
    xref:OSSL_LIB_CTX.adoc[OSSL&lowbar;LIB&lowbar;CTX]* libctx,
    char const* propq);
----

[WARNING]
====
https://en.cppreference.com/cpp/language/attributes/deprecated[Deprecated^]. Use of this entity is allowed but discouraged.
====
== Return Value

&quot;&ast;&quot; if `N` was supplied, the selected group id otherwise&semi; do not free&period; NULL on error&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *user*
| User name&period;
| *pass*
| Password&period;
| *salt*
| Address of salt pointer&colon; receives a newly allocated base64 salt when &ast;`salt` is NULL, or uses the supplied value&period;
| *verifier*
| Receives a newly allocated base64 verifier string&period;
| *N*
| Base64&hyphen;encoded safe prime, or NULL to select a default group via `g&period;`
| *g*
| Base64&hyphen;encoded generator when `N` is set, or a default group id such as &quot;2048&quot; when `N` is NULL&period;
| *libctx*
| Library context for algorithm fetching, or NULL for default&period;
| *propq*
| Property query for algorithm fetching, or NULL&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
