[#ENGINE_SSL_CLIENT_CERT_PTR]
= ENGINE&lowbar;SSL&lowbar;CLIENT&lowbar;CERT&lowbar;PTR
:mrdocs:

ENGINE callback that supplies a client certificate and key for an SSL connection&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
typedef int(* ENGINE&lowbar;SSL&lowbar;CLIENT&lowbar;CERT&lowbar;PTR)(xref:ENGINE.adoc[ENGINE]*, xref:SSL.adoc[SSL]*, xref:stack_st_X509_NAME.adoc[stack&lowbar;st&lowbar;X509&lowbar;NAME]*, xref:X509.adoc[X509]**, xref:EVP_PKEY.adoc[EVP&lowbar;PKEY]**, xref:stack_st_X509.adoc[stack&lowbar;st&lowbar;X509]**, xref:UI_METHOD.adoc[UI&lowbar;METHOD]*, void*);
----

== Return Value

1 on success, 0 on failure, or a negative value on fatal error&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *ssl*
| SSL connection requesting a client certificate&period;
| *ca&lowbar;dn*
| Acceptable CA distinguished names from the server, or NULL&period;
| *pcert*
| Receives the selected client certificate&period;
| *pkey*
| Receives the matching private key&period;
| *pother*
| Optional chain certificates to send, or NULL if unused&period;
| *ui&lowbar;method*
| UI method for interactive PIN&sol;passphrase prompts, or NULL&period;
| *callback&lowbar;data*
| User pointer associated with the ENGINE load operation&period;
|===


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