[#EVP_PKEY_asn1_set_item]
= EVP&lowbar;PKEY&lowbar;asn1&lowbar;set&lowbar;item
:mrdocs:

Install ASN&period;1 item sign and verify callbacks on an EVP&lowbar;PKEY&lowbar;ASN1&lowbar;METHOD&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
EVP&lowbar;PKEY&lowbar;asn1&lowbar;set&lowbar;item(
    xref:EVP_PKEY_ASN1_METHOD.adoc[EVP&lowbar;PKEY&lowbar;ASN1&lowbar;METHOD]* ameth,
    int(* item&lowbar;verify)(xref:EVP_MD_CTX.adoc[EVP&lowbar;MD&lowbar;CTX]*, xref:ASN1_ITEM.adoc[ASN1&lowbar;ITEM] const*, void const*, xref:X509_ALGOR.adoc[X509&lowbar;ALGOR] const*, xref:ASN1_BIT_STRING.adoc[ASN1&lowbar;BIT&lowbar;STRING] const*, xref:EVP_PKEY.adoc[EVP&lowbar;PKEY]*),
    int(* item&lowbar;sign)(xref:EVP_MD_CTX.adoc[EVP&lowbar;MD&lowbar;CTX]*, xref:ASN1_ITEM.adoc[ASN1&lowbar;ITEM] const*, void const*, xref:X509_ALGOR.adoc[X509&lowbar;ALGOR]*, xref:X509_ALGOR.adoc[X509&lowbar;ALGOR]*, xref:ASN1_BIT_STRING.adoc[ASN1&lowbar;BIT&lowbar;STRING]*));
----

== Parameters

[cols="1,4"]
|===
| Name| Description
| *ameth*
| ASN&period;1 method being customized&period;
| *item&lowbar;verify*
| Optional callback used by ASN1&lowbar;item&lowbar;verify() for custom signature verification, or NULL&period;
| *item&lowbar;sign*
| Optional callback used by ASN1&lowbar;item&lowbar;sign() for custom signature generation, or NULL&period;
|===


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