[#PKCS7_sign_add_signer]
= PKCS7&lowbar;sign&lowbar;add&lowbar;signer
:mrdocs:

Add a signer to an existing SignedData PKCS&num;7 created for incremental signing&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:PKCS7_SIGNER_INFO.adoc[PKCS7&lowbar;SIGNER&lowbar;INFO]*
PKCS7&lowbar;sign&lowbar;add&lowbar;signer(
    xref:PKCS7.adoc[PKCS7]* p7,
    xref:X509.adoc[X509]* signcert,
    xref:EVP_PKEY.adoc[EVP&lowbar;PKEY]* pkey,
    xref:EVP_MD.adoc[EVP&lowbar;MD] const* md,
    int flags);
----

== Return Value

New signer info on success, or NULL on failure&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *p7*
| PKCS&num;7 SignedData object previously prepared for signing&period;
| *signcert*
| Certificate corresponding to `pkey&period;`
| *pkey*
| Private key used to sign&period;
| *md*
| Message digest algorithm, or NULL to use the key&apos;s default&period;
| *flags*
| PKCS7&lowbar;&ast; signing flags (for example PKCS7&lowbar;REUSE&lowbar;DIGEST or PKCS7&lowbar;PARTIAL)&period;
|===


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