[#OSSL_CMP_exec_certreq]
= OSSL&lowbar;CMP&lowbar;exec&lowbar;certreq
:mrdocs:

Execute a CMP certificate request transaction (IR&sol;CR&sol;KUR&sol;P10CR)&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:X509.adoc[X509]*
OSSL&lowbar;CMP&lowbar;exec&lowbar;certreq(
    xref:OSSL_CMP_CTX.adoc[OSSL&lowbar;CMP&lowbar;CTX]* ctx,
    int req&lowbar;type,
    xref:OSSL_CRMF_MSG.adoc[OSSL&lowbar;CRMF&lowbar;MSG] const* crm);
----

== Return Value

Newly enrolled certificate on success, or NULL on error&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *ctx*
| CMP client context&period;
| *req&lowbar;type*
| Body type (OSSL&lowbar;CMP&lowbar;IR, OSSL&lowbar;CMP&lowbar;CR, OSSL&lowbar;CMP&lowbar;KUR, or OSSL&lowbar;CMP&lowbar;P10CR)&period;
| *crm*
| Optional CRMF message for IR&sol;CR&sol;KUR&semi; NULL to build from context fields&period;
|===


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