|  | =pod | 
|  |  | 
|  | =head1 NAME | 
|  |  | 
|  | SSL_set_retry_verify - indicate that certificate verification should be retried | 
|  |  | 
|  | =head1 SYNOPSIS | 
|  |  | 
|  | #include <openssl/ssl.h> | 
|  |  | 
|  | int SSL_set_retry_verify(SSL *ssl); | 
|  |  | 
|  | =head1 DESCRIPTION | 
|  |  | 
|  | SSL_set_retry_verify() should be called from the certificate verification | 
|  | callback on a client when the application wants to indicate that the handshake | 
|  | should be suspended and the control should be returned to the application. | 
|  | L<SSL_want_retry_verify(3)> will return 1 as a consequence until the handshake | 
|  | is resumed again by the application, retrying the verification step. | 
|  |  | 
|  | Please refer to L<SSL_CTX_set_cert_verify_callback(3)> for further details. | 
|  |  | 
|  | =head1 NOTES | 
|  |  | 
|  | The effect of calling SSL_set_retry_verify() outside of the certificate | 
|  | verification callback on the client side is undefined. | 
|  |  | 
|  | =head1 RETURN VALUES | 
|  |  | 
|  | SSL_set_retry verify() returns 1 on success, 0 otherwise. | 
|  |  | 
|  | =head1 EXAMPLES | 
|  |  | 
|  | The following code snippet shows how to obtain the B<SSL> object associated | 
|  | with the B<X509_STORE_CTX> to call the SSL_set_retry_verify() function: | 
|  |  | 
|  | int idx = SSL_get_ex_data_X509_STORE_CTX_idx(); | 
|  | SSL *ssl; | 
|  |  | 
|  | /* this should not happen but check anyway */ | 
|  | if (idx < 0 | 
|  | || (ssl = X509_STORE_CTX_get_ex_data(ctx, idx)) == NULL) | 
|  | return 0; | 
|  |  | 
|  | if (/* we need to retry verification callback */) | 
|  | return SSL_set_retry_verify(ssl); | 
|  |  | 
|  | /* do normal processing of the verification callback */ | 
|  |  | 
|  | =head1 SEE ALSO | 
|  |  | 
|  | L<ssl(7)>, L<SSL_connect(3)>, L<SSL_CTX_set_cert_verify_callback(3)>, | 
|  | L<SSL_want_retry_verify(3)> | 
|  |  | 
|  | =head1 HISTORY | 
|  |  | 
|  | SSL_set_retry_verify() was added in OpenSSL 3.0.2 to replace backwards | 
|  | incompatible handling of a negative return value from the verification | 
|  | callback. | 
|  |  | 
|  | =head1 COPYRIGHT | 
|  |  | 
|  | Copyright 2022 The OpenSSL Project Authors. All Rights Reserved. | 
|  |  | 
|  | Licensed under the Apache License 2.0 (the "License").  You may not use | 
|  | this file except in compliance with the License.  You can obtain a copy | 
|  | in the file LICENSE in the source distribution or at | 
|  | L<https://www.openssl.org/source/license.html>. | 
|  |  | 
|  | =cut |