xref: /openbsd-src/lib/libcrypto/man/ASN1_item_verify.3 (revision eb4902cfdf0b90f37195e895e898c6f4557cb5c1)
1*eb4902cfSschwarze.\" $OpenBSD: ASN1_item_verify.3,v 1.3 2021/12/18 17:47:44 schwarze Exp $
2a974b571Sschwarze.\"
3a974b571Sschwarze.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
4a974b571Sschwarze.\"
5a974b571Sschwarze.\" Permission to use, copy, modify, and distribute this software for any
6a974b571Sschwarze.\" purpose with or without fee is hereby granted, provided that the above
7a974b571Sschwarze.\" copyright notice and this permission notice appear in all copies.
8a974b571Sschwarze.\"
9a974b571Sschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10a974b571Sschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11a974b571Sschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12a974b571Sschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13a974b571Sschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14a974b571Sschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15a974b571Sschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16a974b571Sschwarze.\"
17*eb4902cfSschwarze.Dd $Mdocdate: December 18 2021 $
18a974b571Sschwarze.Dt ASN1_ITEM_VERIFY 3
19a974b571Sschwarze.Os
20a974b571Sschwarze.Sh NAME
21a974b571Sschwarze.Nm ASN1_item_verify
22a974b571Sschwarze.Nd signature verification for ASN.1 values
23a974b571Sschwarze.Sh SYNOPSIS
24a974b571Sschwarze.In openssl/x509.h
25a974b571Sschwarze.Ft int
26a974b571Sschwarze.Fo ASN1_item_verify
27a974b571Sschwarze.Fa "const ASN1_ITEM *it"
28a974b571Sschwarze.Fa "X509_ALGOR *algor1"
29a974b571Sschwarze.Fa "ASN1_BIT_STRING *sig_in"
30a974b571Sschwarze.Fa "void *val_in"
31a974b571Sschwarze.Fa "EVP_PKEY *pkey"
32a974b571Sschwarze.Fc
33a974b571Sschwarze.Sh DESCRIPTION
34a974b571Sschwarze.Fn ASN1_item_verify
35a974b571Sschwarzeassumes that
36a974b571Sschwarze.Fa val_in
37a974b571Sschwarzeis an
38a974b571Sschwarze.Ft ASN1_VALUE
39a974b571Sschwarzeof the type specified by
40a974b571Sschwarze.Fa it ,
41a974b571Sschwarzeencodes it into DER format by calling
42a974b571Sschwarze.Xr ASN1_item_i2d 3 ,
43a974b571Sschwarzeand verifies in a way similar to
44a974b571Sschwarze.Xr EVP_DigestVerify 3
45a974b571Sschwarzethat
46a974b571Sschwarze.Fa sig_in
47a974b571Sschwarzecontains a valid signature of the resulting byte array,
48*eb4902cfSschwarzea signature that was created with the signature algorithm
49a974b571Sschwarze.Fa algor1
50a974b571Sschwarzeand the private key corresponding to the public key
51a974b571Sschwarze.Fa pkey .
52a974b571Sschwarze.Sh RETURN VALUES
53a974b571Sschwarze.Fn ASN1_item_verify
54729b1800Sjsgreturns 1 if signature verification succeeds, 0 if signature verification
55a974b571Sschwarzefails, or \-1 if
56a974b571Sschwarze.Fa pkey
57a974b571Sschwarzeis
58a974b571Sschwarze.Dv NULL ,
59a974b571Sschwarzeif
60a974b571Sschwarze.Fa sig_in
61a974b571Sschwarzecontains invalid flags, or if
62a974b571Sschwarze.Fa algor1
63a974b571Sschwarzerequests an invalid or unsupported digest algorithm
64a974b571Sschwarzeor does not work with the given
65a974b571Sschwarze.Fa pkey .
66a974b571Sschwarze.Sh SEE ALSO
67a974b571Sschwarze.Xr ASN1_BIT_STRING_new 3 ,
68a974b571Sschwarze.Xr ASN1_item_i2d 3 ,
69a974b571Sschwarze.Xr ASN1_item_sign 3 ,
70a974b571Sschwarze.Xr EVP_DigestVerify 3 ,
71a974b571Sschwarze.Xr EVP_PKEY_new 3 ,
72*eb4902cfSschwarze.Xr OBJ_find_sigid_algs 3 ,
73a974b571Sschwarze.Xr X509_ALGOR_new 3
74a974b571Sschwarze.Sh HISTORY
75a974b571Sschwarze.Fn ASN1_item_verify
76a974b571Sschwarzefirst appeared in OpenSSL 0.9.7 and has been available since
77a974b571Sschwarze.Ox 3.1 .
78