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