[#EVP_SignFinal_ex] = EVP_SignFinal_ex :mrdocs: Finish a legacy Sign operation with an explicit library context and property query. == Synopsis Declared in `<openssl/evp.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- int EVP_SignFinal_ex( xref:EVP_MD_CTX.adoc[EVP_MD_CTX]* ctx, unsigned char* md, unsigned int* s, xref:EVP_PKEY.adoc[EVP_PKEY]* pkey, xref:OSSL_LIB_CTX.adoc[OSSL_LIB_CTX]* libctx, char const* propq); ---- == Return Value 1 on success, or 0 on failure. == Parameters [cols="1,4"] |=== | Name| Description | *ctx* | Digest/sign context that has absorbed the message via EVP_DigestUpdate(). | *md* | Output buffer for the signature. | *s* | Receives the signature length in bytes. | *pkey* | Private key used to produce the signature. | *libctx* | Library context for algorithm fetches, or NULL for the default. | *propq* | Property query string, or NULL. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#