[#ECDSA_do_sign_ex]
= ECDSA&lowbar;do&lowbar;sign&lowbar;ex
:mrdocs:

Computes ECDSA signature of a given hash value using the supplied private key (note&colon; sig must point to ECDSA&lowbar;size(eckey) bytes of memory)&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
&lsqb;&lsqb;deprecated&rsqb;&rsqb;
xref:ECDSA_SIG.adoc[ECDSA&lowbar;SIG]*
ECDSA&lowbar;do&lowbar;sign&lowbar;ex(
    unsigned char const* dgst,
    int dgstlen,
    xref:BIGNUM.adoc[BIGNUM] const* kinv,
    xref:BIGNUM.adoc[BIGNUM] const* rp,
    xref:EC_KEY.adoc[EC&lowbar;KEY]* eckey);
----

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

pointer to a ECDSA&lowbar;SIG structure or NULL if an error occurred

== Parameters

[cols="1,4"]
|===
| Name| Description
| *dgst*
| pointer to the hash value to sign
| *dgstlen*
| length of the hash value
| *kinv*
| BIGNUM with a pre&hyphen;computed inverse k (optional)
| *rp*
| BIGNUM with a pre&hyphen;computed rp value (optional), see ECDSA&lowbar;sign&lowbar;setup
| *eckey*
| EC&lowbar;KEY object containing a private EC key
|===


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